|
@@ -59,6 +59,14 @@ var settings = new SLAcer.Settings({ |
|
|
position : 5
|
|
|
}
|
|
|
},
|
|
|
+ colors: {
|
|
|
+ mesh : '#555555',
|
|
|
+ slice: '#88ee11',
|
|
|
+ panel: {
|
|
|
+ collapsed: false,
|
|
|
+ position : 6
|
|
|
+ }
|
|
|
+ },
|
|
|
viewer3d: {
|
|
|
color: 0xffffff
|
|
|
}
|
|
@@ -95,6 +103,9 @@ function removeSlices() { |
|
|
viewer2dWin && (viewer2dWin.document.body.style.backgroundImage = 'none');
|
|
|
}
|
|
|
|
|
|
+function hexToDec(hex) {
|
|
|
+ return parseInt(hex.toString().replace('#', ''), 16);
|
|
|
+}
|
|
|
|
|
|
function getSlice(layerNumber) {
|
|
|
// remove old shapes
|
|
@@ -125,6 +136,7 @@ function getSlice(layerNumber) { |
|
|
// slices
|
|
|
slices = [];
|
|
|
var slice, shape;
|
|
|
+ var sliceColor = hexToDec(settings.get('colors.slice'));
|
|
|
|
|
|
// add new shapes
|
|
|
for (var i = 0, il = shapes.length; i < il; i++) {
|
|
@@ -136,8 +148,9 @@ function getSlice(layerNumber) { |
|
|
viewer2d.addObject(slice);
|
|
|
slices.push(slice);
|
|
|
|
|
|
- shape.position.z = zPosition;
|
|
|
+ shape.material.color.setHex(sliceColor);
|
|
|
shape.material.depthTest = false;
|
|
|
+ shape.position.z = zPosition;
|
|
|
viewer3d.scene.add(shape);
|
|
|
}
|
|
|
|
|
@@ -584,6 +597,44 @@ $('#screen input[type=radio]').on('change', updateScreenSettings); |
|
|
$('#screen input').on('input', updateScreenSettings);
|
|
|
updateScreenUI();
|
|
|
|
|
|
+// Colors
|
|
|
+var $colorsBody = initPanel('colors');
|
|
|
+var $meshColor = $colorsBody.find('#mesh-color');
|
|
|
+var $sliceColor = $colorsBody.find('#slice-color');
|
|
|
+
|
|
|
+function updateColorsUI() {
|
|
|
+ var colors = settings.get('colors');
|
|
|
+
|
|
|
+ $meshColor.val(colors.mesh);
|
|
|
+ $sliceColor.val(colors.slice);
|
|
|
+}
|
|
|
+
|
|
|
+updateColorsUI();
|
|
|
+$meshColor.colorpicker({ format: 'hex' });
|
|
|
+$sliceColor.colorpicker({ format: 'hex' });
|
|
|
+
|
|
|
+$meshColor.colorpicker().on('changeColor.colorpicker', function(e) {
|
|
|
+ if (slicer.mesh && slicer.mesh.material) {
|
|
|
+ var hexString = e.color.toHex();
|
|
|
+ var hexInteger = hexToDec(hexString);
|
|
|
+ settings.set('colors.mesh', hexString);
|
|
|
+ slicer.mesh.material.color.setHex(hexInteger);
|
|
|
+ viewer3d.render();
|
|
|
+ }
|
|
|
+});
|
|
|
+
|
|
|
+$sliceColor.colorpicker().on('changeColor.colorpicker', function(e) {
|
|
|
+ if (shapes && shapes.length) {
|
|
|
+ var hexString = e.color.toHex();
|
|
|
+ var hexInteger = hexToDec(hexString);
|
|
|
+ settings.set('colors.slice', hexString);
|
|
|
+ for (var i = 0, il = shapes.length; i < il; i++) {
|
|
|
+ shapes[i].material.color.setHex(hexInteger);
|
|
|
+ }
|
|
|
+ viewer3d.render();
|
|
|
+ }
|
|
|
+});
|
|
|
+
|
|
|
// UI resize
|
|
|
function resizeUI() {
|
|
|
var width = $main.width();
|
|
@@ -613,7 +664,7 @@ loader.onGeometry = function(geometry) { |
|
|
|
|
|
// load new mesh in slicer
|
|
|
slicer.loadMesh(new SLAcer.Mesh(geometry, new THREE.MeshPhongMaterial({
|
|
|
- color: settings.get('mesh.color')
|
|
|
+ color: hexToDec(settings.get('colors.mesh'))
|
|
|
})));
|
|
|
|
|
|
// add new mesh and render view
|
|
|
0 comments on commit
4bb9e13