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;
|
camTopZ = 0;
|
||||||
camUpdateWidgetZ();
|
camUpdateWidgetZ();
|
||||||
}
|
}
|
||||||
|
updateOrigin();
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateFields() {
|
function updateFields() {
|
||||||
|
|
@ -2070,16 +2071,26 @@ self.kiri.license = exports.LICENSE;
|
||||||
function updateOrigin() {
|
function updateOrigin() {
|
||||||
if (!settings.controller.showOrigin) {
|
if (!settings.controller.showOrigin) {
|
||||||
SPACE.platform.setOrigin();
|
SPACE.platform.setOrigin();
|
||||||
SPACE.update();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (settings.process.outputOriginCenter) {
|
let dev = settings.device;
|
||||||
SPACE.platform.setOrigin(0,0,0);
|
let proc = settings.process;
|
||||||
} else {
|
let x = 0;
|
||||||
let dev = settings.device;
|
let y = 0;
|
||||||
SPACE.platform.setOrigin(-dev.bedWidth/2,dev.bedDepth/2,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() {
|
function updatePlatformSize() {
|
||||||
|
|
|
||||||
|
|
@ -232,10 +232,14 @@ let gs_moto_space = exports;
|
||||||
|
|
||||||
function setOrigin(x, y, z) {
|
function setOrigin(x, y, z) {
|
||||||
if (gridOrigin) {
|
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) {
|
if (x === undefined) {
|
||||||
gridOrigin = null;
|
gridOrigin = null;
|
||||||
|
Space.update();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let cmat = new THREE.MeshPhongMaterial({
|
let cmat = new THREE.MeshPhongMaterial({
|
||||||
|
|
@ -254,48 +258,50 @@ let gs_moto_space = exports;
|
||||||
});
|
});
|
||||||
let PIP = Math.PI/2;
|
let PIP = Math.PI/2;
|
||||||
let pi1, pi2, pi3, pi4;
|
let pi1, pi2, pi3, pi4;
|
||||||
gridOrigin = new THREE.Group();
|
let group = new THREE.Group();
|
||||||
gridOrigin.add(pi1 = new THREE.Mesh(
|
gridOrigin = {x, y, z, group};
|
||||||
|
group.add(pi1 = new THREE.Mesh(
|
||||||
new THREE.CircleGeometry(4.6, 50, PIP*0, PIP*1),
|
new THREE.CircleGeometry(4.6, 50, PIP*0, PIP*1),
|
||||||
cmat
|
cmat
|
||||||
));
|
));
|
||||||
pi1.position.x = 0.25;
|
pi1.position.x = 0.25;
|
||||||
pi1.position.y = 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),
|
new THREE.CircleGeometry(4.6, 50, PIP*1, PIP*1),
|
||||||
cmat
|
cmat
|
||||||
));
|
));
|
||||||
pi2.position.x = -0.25;
|
pi2.position.x = -0.25;
|
||||||
pi2.position.y = 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),
|
new THREE.CircleGeometry(4.6, 50, PIP*2, PIP*1),
|
||||||
cmat
|
cmat
|
||||||
));
|
));
|
||||||
pi3.position.x = -0.25;
|
pi3.position.x = -0.25;
|
||||||
pi3.position.y = -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),
|
new THREE.CircleGeometry(4.6, 50, PIP*3, PIP*1),
|
||||||
cmat
|
cmat
|
||||||
));
|
));
|
||||||
pi4.position.x = 0.25;
|
pi4.position.x = 0.25;
|
||||||
pi4.position.y = -0.25;
|
pi4.position.y = -0.25;
|
||||||
gridOrigin.add(new THREE.Mesh(
|
group.add(new THREE.Mesh(
|
||||||
new THREE.RingGeometry(5, 5.5, 50),
|
new THREE.RingGeometry(5, 5.5, 50),
|
||||||
rmat
|
rmat
|
||||||
));
|
));
|
||||||
gridOrigin.add(new THREE.Mesh(
|
group.add(new THREE.Mesh(
|
||||||
new THREE.PlaneGeometry(0.5, 10),
|
new THREE.PlaneGeometry(0.5, 10),
|
||||||
rmat
|
rmat
|
||||||
));
|
));
|
||||||
gridOrigin.add(new THREE.Mesh(
|
group.add(new THREE.Mesh(
|
||||||
new THREE.PlaneGeometry(10, 0.5),
|
new THREE.PlaneGeometry(10, 0.5),
|
||||||
rmat
|
rmat
|
||||||
));
|
));
|
||||||
gridOrigin.rotation.x = -PI2;
|
group.rotation.x = -PI2;
|
||||||
gridOrigin.position.x = x;
|
group.position.x = x;
|
||||||
gridOrigin.position.y = z;
|
group.position.y = z;
|
||||||
gridOrigin.position.z = y;
|
group.position.z = y;
|
||||||
Space.scene.add(gridOrigin);
|
Space.scene.add(group);
|
||||||
|
Space.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
function refresh() {
|
function refresh() {
|
||||||
|
|
@ -565,7 +571,6 @@ let gs_moto_space = exports;
|
||||||
|
|
||||||
size: function() { return platform.scale },
|
size: function() { return platform.scale },
|
||||||
isVisible: function() { return platform.visible },
|
isVisible: function() { return platform.visible },
|
||||||
|
|
||||||
showGrid: function(b) { gridView.visible = b },
|
showGrid: function(b) { gridView.visible = b },
|
||||||
|
|
||||||
setRound: function(bool) {
|
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}) },
|
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}) },
|
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}) },
|
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() },
|
reset: function() { viewControl.reset(); requestRefresh() },
|
||||||
load: function(cam) { viewControl.setPosition(cam) },
|
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: {
|
mouse: {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue