|
@@ -26,7 +26,6 @@ var settings = new SLAcer.Settings({ |
|
|
collapsed: false,
|
|
|
position : 1
|
|
|
},
|
|
|
- mirror: false,
|
|
|
lifting: {
|
|
|
speed : 50, // mm/min
|
|
|
height: 3, // mm
|
|
@@ -42,7 +41,8 @@ var settings = new SLAcer.Settings({ |
|
|
panel: {
|
|
|
collapsed: false,
|
|
|
position : 3
|
|
|
- }
|
|
|
+ },
|
|
|
+ mirror: false
|
|
|
},
|
|
|
buildVolume: {
|
|
|
size : { x: 100, y: 100, z: 100 }, // mm
|
|
@@ -468,9 +468,6 @@ var $slicerLightOn = $slicerBody.find('#slicer-light-on'); |
|
|
var $slicerLiftingSpeed = $slicerBody.find('#slicer-lifting-speed');
|
|
|
var $slicerLiftingHeight = $slicerBody.find('#slicer-lifting-height');
|
|
|
|
|
|
-var $slicerMirrorYes = $slicerBody.find('#slicer-mirror-yes');
|
|
|
-var $slicerMirrorNo = $slicerBody.find('#slicer-mirror-no');
|
|
|
-
|
|
|
var $slicerExportPNG = $slicerBody.find('#slicer-image-extension-png');
|
|
|
var $slicerExportSVG = $slicerBody.find('#slicer-image-extension-svg');
|
|
|
|
|
@@ -503,8 +500,6 @@ function updateSlicerSettings() { |
|
|
settings.set('slicer.lifting.speed', $slicerLiftingSpeed.val());
|
|
|
settings.set('slicer.lifting.height', $slicerLiftingHeight.val());
|
|
|
|
|
|
- settings.set('slicer.mirror', $slicerMirrorYes[0].checked);
|
|
|
-
|
|
|
settings.set('slicer.png', $slicerExportPNG[0].checked);
|
|
|
settings.set('slicer.svg', $slicerExportSVG[0].checked);
|
|
|
|
|
@@ -517,14 +512,6 @@ function updateSlicerSettings() { |
|
|
updateSliderUI();
|
|
|
}
|
|
|
|
|
|
-function flipGeometry() {
|
|
|
- loadGeometry(slicer.mesh.geometry, true);
|
|
|
- getSlice($sliderInput.slider('getValue'));
|
|
|
-}
|
|
|
-
|
|
|
-$slicerMirrorYes.on('change', flipGeometry);
|
|
|
-$slicerMirrorNo.on('change', flipGeometry);
|
|
|
-
|
|
|
var sliceInterval;
|
|
|
var expectedSliceInterval;
|
|
|
var currentSliceNumber;
|
|
@@ -644,7 +631,6 @@ $abortButton.on('click', function(e) { |
|
|
});
|
|
|
|
|
|
$('#slicer-image-extension-' + (settings.get('slicer.png') ? 'png' : 'svg')).prop('checked', true);
|
|
|
-$('#slicer-mirror-' + (settings.get('slicer.mirror') ? 'yes' : 'no')).prop('checked', true);
|
|
|
$('#slicer-make-zip-' + (settings.get('slicer.zip') ? 'yes' : 'no')).prop('checked', true);
|
|
|
$('#slicer-speed-' + (settings.get('slicer.speed') ? 'yes' : 'no')).prop('checked', true);
|
|
|
$('#slicer input').on('input, change', updateSlicerSettings);
|
|
@@ -828,13 +814,17 @@ var $transformY = $transformBody.find('#transform-y'); |
|
|
var $transformZ = $transformBody.find('#transform-z');
|
|
|
var $transformButtons = $transformBody.find('button');
|
|
|
|
|
|
+var $transformMirrorYes = $transformBody.find('#transform-mirror-yes');
|
|
|
+var $transformMirrorNo = $transformBody.find('#transform-mirror-no');
|
|
|
+
|
|
|
var transformAction, transformations;
|
|
|
|
|
|
function resetTransformValues() {
|
|
|
transformAction = 'scale';
|
|
|
transformations = {
|
|
|
- scale : { x:1, y:1 , z:1 },
|
|
|
- rotate: { x:0, y:0 , z:0 }
|
|
|
+ scale : { x:1, y:1 , z:1 },
|
|
|
+ rotate : { x:0, y:0 , z:0 },
|
|
|
+ translate: { x:0, y:0 , z:0 }
|
|
|
};
|
|
|
updateTransformAction();
|
|
|
}
|
|
@@ -851,13 +841,19 @@ function updateTransformAction() { |
|
|
max = 999;
|
|
|
step = 0.01;
|
|
|
}
|
|
|
- else {
|
|
|
+ else if (transformAction == 'rotate') {
|
|
|
min = 0;
|
|
|
max = 360;
|
|
|
step = 1;
|
|
|
}
|
|
|
+ else {
|
|
|
+ min = -9999;
|
|
|
+ max = 9999;
|
|
|
+ step = 1;
|
|
|
+ }
|
|
|
|
|
|
- $transformUniform.toggleClass('hidden', transformAction == 'rotate');
|
|
|
+ $transformUniform.toggleClass('hidden', transformAction != 'scale');
|
|
|
+ $transformZ.parent().toggleClass('hidden', transformAction == 'translate');
|
|
|
|
|
|
$transformX.prop('min', min);
|
|
|
$transformY.prop('min', min);
|
|
@@ -875,7 +871,7 @@ function updateTransformAction() { |
|
|
|
|
|
function updateTransformValues() {
|
|
|
var current = transformations[transformAction];
|
|
|
- var uniform = $('#transform input[type=radio]:checked').val() == 'yes';
|
|
|
+ var uniform = $('#transform-uniform input[type=radio]:checked').val() == 'yes';
|
|
|
var input = {
|
|
|
x: parseFloat($transformX.val()),
|
|
|
y: parseFloat($transformY.val()),
|
|
@@ -925,7 +921,7 @@ function updateTransformValues() { |
|
|
input.z / current.z
|
|
|
);
|
|
|
}
|
|
|
- else {
|
|
|
+ else if (transformAction == 'rotate') {
|
|
|
var deg = Math.PI / 180;
|
|
|
var offsets = {
|
|
|
x: input.x - current.x,
|
|
@@ -937,15 +933,27 @@ function updateTransformValues() { |
|
|
slicer.mesh.geometry.rotateY(offsets.y * deg);
|
|
|
slicer.mesh.geometry.rotateZ(offsets.z * deg);
|
|
|
}
|
|
|
+ else {
|
|
|
+ var offsets = {
|
|
|
+ x: input.x - current.x,
|
|
|
+ y: input.y - current.y
|
|
|
+ };
|
|
|
+
|
|
|
+ slicer.mesh.geometry.translate(offsets.x, offsets.y, 0);
|
|
|
+ }
|
|
|
|
|
|
current.x = input.x;
|
|
|
current.y = input.y;
|
|
|
current.z = input.z;
|
|
|
|
|
|
- //var currentLayer = settings.get('');
|
|
|
- loadGeometry(slicer.mesh.geometry);
|
|
|
+ if (transformAction != 'translate') {
|
|
|
+ loadGeometry(slicer.mesh.geometry, false);
|
|
|
+ // stay at current position
|
|
|
+ var current = transformations['translate'];
|
|
|
+ slicer.mesh.geometry.translate(current.x, current.y, current.z);
|
|
|
+ }
|
|
|
+
|
|
|
getSlice($sliderInput.slider('getValue'));
|
|
|
- //viewer3d.render();
|
|
|
}
|
|
|
|
|
|
$transformButtons.on('click', function(e) {
|
|
@@ -959,6 +967,16 @@ $transformButtons.on('click', function(e) { |
|
|
updateTransformValues();
|
|
|
});
|
|
|
|
|
|
+function flipGeometry() {
|
|
|
+ settings.set('transform.mirror', $transformMirrorYes[0].checked);
|
|
|
+ loadGeometry(slicer.mesh.geometry, true);
|
|
|
+ getSlice($sliderInput.slider('getValue'));
|
|
|
+}
|
|
|
+
|
|
|
+$transformMirrorYes.on('change', flipGeometry);
|
|
|
+$transformMirrorNo.on('change', flipGeometry);
|
|
|
+
|
|
|
+$('#transform-mirror-' + (settings.get('transform.mirror') ? 'yes' : 'no')).prop('checked', true);
|
|
|
$('#transform select').on('change', updateTransformAction);
|
|
|
$('#transform input').on('change', updateTransformValues);
|
|
|
resetTransformValues();
|
|
@@ -991,7 +1009,7 @@ function loadGeometry(geometry, mirror) { |
|
|
removeShapes();
|
|
|
|
|
|
// flip geometry
|
|
|
- if (mirror || settings.get('slicer.mirror')) {
|
|
|
+ if (mirror) {
|
|
|
geometry.applyMatrix(new THREE.Matrix4().makeScale(-1, 1, 1));
|
|
|
}
|
|
|
|
|
@@ -1030,7 +1048,7 @@ function ultraMegaDirtyFix() { |
|
|
// On Geometry loaded
|
|
|
loader.onGeometry = function(geometry) {
|
|
|
resetTransformValues();
|
|
|
- loadGeometry(geometry);
|
|
|
+ loadGeometry(geometry, settings.get('transform.mirror'));
|
|
|
ultraMegaDirtyFix();
|
|
|
};
|
|
|
|
|
|
0 comments on commit
5b6396a