fix origin visualization for stock
This commit is contained in:
parent
eb2cf80afa
commit
16ce1b8e24
2 changed files with 41 additions and 28 deletions
25
js/kiri.js
25
js/kiri.js
|
|
@ -1964,6 +1964,7 @@ self.kiri.license = exports.LICENSE;
|
|||
camTopZ = 0;
|
||||
camUpdateWidgetZ();
|
||||
}
|
||||
updateOrigin();
|
||||
}
|
||||
|
||||
function updateFields() {
|
||||
|
|
@ -2070,16 +2071,26 @@ self.kiri.license = exports.LICENSE;
|
|||
function updateOrigin() {
|
||||
if (!settings.controller.showOrigin) {
|
||||
SPACE.platform.setOrigin();
|
||||
SPACE.update();
|
||||
return;
|
||||
}
|
||||
if (settings.process.outputOriginCenter) {
|
||||
SPACE.platform.setOrigin(0,0,0);
|
||||
} else {
|
||||
let dev = settings.device;
|
||||
SPACE.platform.setOrigin(-dev.bedWidth/2,dev.bedDepth/2,0);
|
||||
let dev = settings.device;
|
||||
let proc = settings.process;
|
||||
let x = 0;
|
||||
let y = 0;
|
||||
let z = 0;
|
||||
if (proc.camOriginTop) {
|
||||
z = camTopZ + proc.camZTopOffset + 0.01;
|
||||
}
|
||||
SPACE.update();
|
||||
if (!proc.outputOriginCenter) {
|
||||
if (camStock) {
|
||||
x = -camStock.scale.x / 2;
|
||||
y = camStock.scale.y / 2;
|
||||
} else {
|
||||
x = -dev.bedWidth / 2;
|
||||
y = dev.bedDepth / 2;
|
||||
}
|
||||
}
|
||||
SPACE.platform.setOrigin(x,y,z);
|
||||
}
|
||||
|
||||
function updatePlatformSize() {
|
||||
|
|
|
|||
|
|
@ -232,10 +232,14 @@ let gs_moto_space = exports;
|
|||
|
||||
function setOrigin(x, y, z) {
|
||||
if (gridOrigin) {
|
||||
Space.scene.remove(gridOrigin);
|
||||
if (x === gridOrigin.x && y === gridOrigin.y && z === gridOrigin.z) {
|
||||
return;
|
||||
}
|
||||
Space.scene.remove(gridOrigin.group);
|
||||
}
|
||||
if (x === undefined) {
|
||||
gridOrigin = null;
|
||||
Space.update();
|
||||
return;
|
||||
}
|
||||
let cmat = new THREE.MeshPhongMaterial({
|
||||
|
|
@ -254,48 +258,50 @@ let gs_moto_space = exports;
|
|||
});
|
||||
let PIP = Math.PI/2;
|
||||
let pi1, pi2, pi3, pi4;
|
||||
gridOrigin = new THREE.Group();
|
||||
gridOrigin.add(pi1 = new THREE.Mesh(
|
||||
let group = new THREE.Group();
|
||||
gridOrigin = {x, y, z, group};
|
||||
group.add(pi1 = new THREE.Mesh(
|
||||
new THREE.CircleGeometry(4.6, 50, PIP*0, PIP*1),
|
||||
cmat
|
||||
));
|
||||
pi1.position.x = 0.25;
|
||||
pi1.position.y = 0.25;
|
||||
gridOrigin.add(pi2 = new THREE.Mesh(
|
||||
group.add(pi2 = new THREE.Mesh(
|
||||
new THREE.CircleGeometry(4.6, 50, PIP*1, PIP*1),
|
||||
cmat
|
||||
));
|
||||
pi2.position.x = -0.25;
|
||||
pi2.position.y = 0.25;
|
||||
gridOrigin.add(pi3 = new THREE.Mesh(
|
||||
group.add(pi3 = new THREE.Mesh(
|
||||
new THREE.CircleGeometry(4.6, 50, PIP*2, PIP*1),
|
||||
cmat
|
||||
));
|
||||
pi3.position.x = -0.25;
|
||||
pi3.position.y = -0.25;
|
||||
gridOrigin.add(pi4 = new THREE.Mesh(
|
||||
group.add(pi4 = new THREE.Mesh(
|
||||
new THREE.CircleGeometry(4.6, 50, PIP*3, PIP*1),
|
||||
cmat
|
||||
));
|
||||
pi4.position.x = 0.25;
|
||||
pi4.position.y = -0.25;
|
||||
gridOrigin.add(new THREE.Mesh(
|
||||
group.add(new THREE.Mesh(
|
||||
new THREE.RingGeometry(5, 5.5, 50),
|
||||
rmat
|
||||
));
|
||||
gridOrigin.add(new THREE.Mesh(
|
||||
group.add(new THREE.Mesh(
|
||||
new THREE.PlaneGeometry(0.5, 10),
|
||||
rmat
|
||||
));
|
||||
gridOrigin.add(new THREE.Mesh(
|
||||
group.add(new THREE.Mesh(
|
||||
new THREE.PlaneGeometry(10, 0.5),
|
||||
rmat
|
||||
));
|
||||
gridOrigin.rotation.x = -PI2;
|
||||
gridOrigin.position.x = x;
|
||||
gridOrigin.position.y = z;
|
||||
gridOrigin.position.z = y;
|
||||
Space.scene.add(gridOrigin);
|
||||
group.rotation.x = -PI2;
|
||||
group.position.x = x;
|
||||
group.position.y = z;
|
||||
group.position.z = y;
|
||||
Space.scene.add(group);
|
||||
Space.update();
|
||||
}
|
||||
|
||||
function refresh() {
|
||||
|
|
@ -565,7 +571,6 @@ let gs_moto_space = exports;
|
|||
|
||||
size: function() { return platform.scale },
|
||||
isVisible: function() { return platform.visible },
|
||||
|
||||
showGrid: function(b) { gridView.visible = b },
|
||||
|
||||
setRound: function(bool) {
|
||||
|
|
@ -600,14 +605,11 @@ let gs_moto_space = exports;
|
|||
front: function() { tweenCam({left: 0, up: PI2, panX: 0, panY: panY, panZ: 0}) },
|
||||
right: function() { tweenCam({left: PI2, up: PI2, panX: 0, panY: panY, panZ: 0}) },
|
||||
left: function() { tweenCam({left: -PI2, up: PI2, panX: 0, panY: panY, panZ: 0}) },
|
||||
|
||||
panTo: function(x,y,z) { tweenCamPan(x,y,z) },
|
||||
|
||||
setZoom: function(r,v) { viewControl.setZoom(r,v) },
|
||||
|
||||
reset: function() { viewControl.reset(); requestRefresh() },
|
||||
load: function(cam) { viewControl.setPosition(cam) },
|
||||
save: function() { return viewControl.getPosition(true) }
|
||||
save: function() { return viewControl.getPosition(true) },
|
||||
panTo: function(x,y,z) { tweenCamPan(x,y,z) },
|
||||
setZoom: function(r,v) { viewControl.setZoom(r,v) }
|
||||
},
|
||||
|
||||
mouse: {
|
||||
|
|
|
|||
Loading…
Reference in a new issue