style fixes and fix for grid color changes not applying

This commit is contained in:
Liv Erickson 2018-03-23 11:39:44 -07:00
parent e90c051744
commit 9dd91ea31e

View file

@ -1,16 +1,8 @@
var GRID_CONTROLS_HTML_URL = Script.resolvePath('../html/gridControls.html'); var GRID_CONTROLS_HTML_URL = Script.resolvePath('../html/gridControls.html');
Grid = function(opts) { Grid = function (opts) {
var that = {}; var that = {};
var gridColor = { red: 0, green: 0, blue: 0 };
var colors = [
{ red: 0, green: 0, blue: 0 },
{ red: 255, green: 255, blue: 255 },
{ red: 255, green: 0, blue: 0 },
{ red: 0, green: 255, blue: 0 },
{ red: 0, green: 0, blue: 255 },
];
var colorIndex = 0;
var gridAlpha = 0.6; var gridAlpha = 0.6;
var origin = { x: 0, y: +MyAvatar.getJointPosition('LeftToeBase').y.toFixed(1) + 0.1, z: 0 }; var origin = { x: 0, y: +MyAvatar.getJointPosition('LeftToeBase').y.toFixed(1) + 0.1, z: 0 };
var scale = 500; var scale = 500;
@ -28,58 +20,70 @@ Grid = function(opts) {
position: origin, position: origin,
visible: false, visible: false,
drawInFront: false, drawInFront: false,
color: colors[0], color: gridColor,
alpha: gridAlpha, alpha: gridAlpha,
minorGridEvery: minorGridEvery, minorGridEvery: minorGridEvery,
majorGridEvery: majorGridEvery, majorGridEvery: majorGridEvery
}); });
that.visible = false; that.visible = false;
that.enabled = false; that.enabled = false;
that.getOrigin = function() { that.getOrigin = function () {
return origin; return origin;
} };
that.getMinorIncrement = function() { return minorGridEvery; }; that.getMinorIncrement = function () {
that.setMinorIncrement = function(value) { return minorGridEvery;
};
that.setMinorIncrement = function (value) {
minorGridEvery = value; minorGridEvery = value;
updateGrid(); updateGrid();
} };
that.getMajorIncrement = function() { return majorGridEvery; };
that.setMajorIncrement = function(value) { that.getMajorIncrement = function () {
return majorGridEvery;
};
that.setMajorIncrement = function (value) {
majorGridEvery = value; majorGridEvery = value;
updateGrid(); updateGrid();
}; };
that.getColorIndex = function() { return colorIndex; }; that.getColor = function () {
that.setColorIndex = function(value) { return gridColor;
colorIndex = value; };
that.setColor = function (value) {
gridColor = value;
updateGrid(); updateGrid();
}; };
that.getSnapToGrid = function() { return snapToGrid; }; that.getSnapToGrid = function () {
that.setSnapToGrid = function(value) { return snapToGrid;
};
that.setSnapToGrid = function (value) {
snapToGrid = value; snapToGrid = value;
that.emitUpdate(); that.emitUpdate();
}; };
that.setEnabled = function(enabled) { that.setEnabled = function (enabled) {
that.enabled = enabled; that.enabled = enabled;
updateGrid(); updateGrid();
} };
that.getVisible = function() { return that.visible; }; that.getVisible = function () { return that.visible; };
that.setVisible = function(visible, noUpdate) { that.setVisible = function (visible, noUpdate) {
that.visible = visible; that.visible = visible;
updateGrid(); updateGrid();
if (!noUpdate) { if (!noUpdate) {
that.emitUpdate(); that.emitUpdate();
} }
} };
that.snapToSurface = function(position, dimensions, registration) { that.snapToSurface = function (position, dimensions, registration) {
if (!snapToGrid) { if (!snapToGrid) {
return position; return position;
} }
@ -97,9 +101,9 @@ Grid = function(opts) {
y: origin.y + (registration.y * dimensions.y), y: origin.y + (registration.y * dimensions.y),
z: position.z z: position.z
}; };
} };
that.snapToGrid = function(position, majorOnly, dimensions, registration) { that.snapToGrid = function (position, majorOnly, dimensions, registration) {
if (!snapToGrid) { if (!snapToGrid) {
return position; return position;
} }
@ -123,7 +127,7 @@ Grid = function(opts) {
return Vec3.sum(Vec3.sum(position, Vec3.multiplyVbyV(registration, dimensions)), origin); return Vec3.sum(Vec3.sum(position, Vec3.multiplyVbyV(registration, dimensions)), origin);
} }
that.snapToSpacing = function(delta, majorOnly) { that.snapToSpacing = function (delta, majorOnly) {
if (!snapToGrid) { if (!snapToGrid) {
return delta; return delta;
} }
@ -133,14 +137,14 @@ Grid = function(opts) {
var snappedDelta = { var snappedDelta = {
x: Math.round(delta.x / spacing) * spacing, x: Math.round(delta.x / spacing) * spacing,
y: Math.round(delta.y / spacing) * spacing, y: Math.round(delta.y / spacing) * spacing,
z: Math.round(delta.z / spacing) * spacing, z: Math.round(delta.z / spacing) * spacing
}; };
return snappedDelta; return snappedDelta;
} };
that.setPosition = function(newPosition, noUpdate) { that.setPosition = function (newPosition, noUpdate) {
origin = { x: 0, y: newPosition.y, z: 0 }; origin = { x: 0, y: newPosition.y, z: 0 };
updateGrid(); updateGrid();
@ -149,7 +153,7 @@ Grid = function(opts) {
} }
}; };
that.emitUpdate = function() { that.emitUpdate = function () {
if (that.onUpdate) { if (that.onUpdate) {
that.onUpdate({ that.onUpdate({
origin: origin, origin: origin,
@ -157,12 +161,12 @@ Grid = function(opts) {
majorGridEvery: majorGridEvery, majorGridEvery: majorGridEvery,
gridSize: halfSize, gridSize: halfSize,
visible: that.visible, visible: that.visible,
snapToGrid: snapToGrid, snapToGrid: snapToGrid
}); });
} }
}; };
that.update = function(data) { that.update = function (data) {
if (data.snapToGrid !== undefined) { if (data.snapToGrid !== undefined) {
snapToGrid = data.snapToGrid; snapToGrid = data.snapToGrid;
} }
@ -183,8 +187,8 @@ Grid = function(opts) {
majorGridEvery = data.majorGridEvery; majorGridEvery = data.majorGridEvery;
} }
if (data.colorIndex !== undefined) { if (data.gridColor) {
colorIndex = data.colorIndex; gridColor = data.gridColor;
} }
if (data.gridSize) { if (data.gridSize) {
@ -196,7 +200,7 @@ Grid = function(opts) {
} }
updateGrid(true); updateGrid(true);
} };
function updateGrid(noUpdate) { function updateGrid(noUpdate) {
Overlays.editOverlay(gridOverlay, { Overlays.editOverlay(gridOverlay, {
@ -204,8 +208,8 @@ Grid = function(opts) {
visible: that.visible && that.enabled, visible: that.visible && that.enabled,
minorGridEvery: minorGridEvery, minorGridEvery: minorGridEvery,
majorGridEvery: majorGridEvery, majorGridEvery: majorGridEvery,
color: colors[colorIndex], color: gridColor,
alpha: gridAlpha, alpha: gridAlpha
}); });
if (!noUpdate) { if (!noUpdate) {
@ -217,7 +221,7 @@ Grid = function(opts) {
Overlays.deleteOverlay(gridOverlay); Overlays.deleteOverlay(gridOverlay);
} }
that.addListener = function(callback) { that.addListener = function (callback) {
that.onUpdate = callback; that.onUpdate = callback;
} }
@ -229,7 +233,7 @@ Grid = function(opts) {
return that; return that;
}; };
GridTool = function(opts) { GridTool = function (opts) {
var that = {}; var that = {};
var horizontalGrid = opts.horizontalGrid; var horizontalGrid = opts.horizontalGrid;
@ -238,19 +242,19 @@ GridTool = function(opts) {
var webView = null; var webView = null;
webView = Tablet.getTablet("com.highfidelity.interface.tablet.system"); webView = Tablet.getTablet("com.highfidelity.interface.tablet.system");
webView.setVisible = function(value) {}; webView.setVisible = function (value) { };
horizontalGrid.addListener(function(data) { horizontalGrid.addListener(function (data) {
webView.emitScriptEvent(JSON.stringify(data)); webView.emitScriptEvent(JSON.stringify(data));
if (selectionDisplay) { if (selectionDisplay) {
selectionDisplay.updateHandles(); selectionDisplay.updateHandles();
} }
}); });
webView.webEventReceived.connect(function(data) { webView.webEventReceived.connect(function (data) {
try { try {
data = JSON.parse(data); data = JSON.parse(data);
} catch(e) { } catch (e) {
print("gridTool.js: Error parsing JSON: " + e.name + " data " + data) print("gridTool.js: Error parsing JSON: " + e.name + " data " + data)
return; return;
} }
@ -260,7 +264,7 @@ GridTool = function(opts) {
} else if (data.type == "update") { } else if (data.type == "update") {
horizontalGrid.update(data); horizontalGrid.update(data);
for (var i = 0; i < listeners.length; i++) { for (var i = 0; i < listeners.length; i++) {
listeners[i] && listeners[i](data); [i] && listeners[i](data);
} }
} else if (data.type == "action") { } else if (data.type == "action") {
var action = data.action; var action = data.action;
@ -278,11 +282,11 @@ GridTool = function(opts) {
} }
}); });
that.addListener = function(callback) { that.addListener = function (callback) {
listeners.push(callback); listeners.push(callback);
} }
that.setVisible = function(visible) { that.setVisible = function (visible) {
webView.setVisible(visible); webView.setVisible(visible);
} }