testing rotation / offset compensation
This commit is contained in:
parent
f588e2e5cf
commit
8c3997d16d
2 changed files with 8 additions and 3 deletions
|
|
@ -47,9 +47,10 @@ class Slice {
|
||||||
let layers = this.layers = new kiri.Layers();
|
let layers = this.layers = new kiri.Layers();
|
||||||
if (tracked) {
|
if (tracked) {
|
||||||
let { track } = tracked;
|
let { track } = tracked;
|
||||||
let { indexed, indexRad, delta } = track;
|
let { indexed, indexRad, delta, tzoff } = track;
|
||||||
if (indexed) {
|
if (indexed) {
|
||||||
layers.setRotation(indexRad);
|
layers.setRotation(indexRad);
|
||||||
|
// layers.setPosition(0, -delta.y, delta.z + tzoff);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return layers;
|
return layers;
|
||||||
|
|
|
||||||
|
|
@ -651,12 +651,16 @@ class Widget {
|
||||||
// if indexed, return points rotated about X and then offset
|
// if indexed, return points rotated about X and then offset
|
||||||
let track = this.track;
|
let track = this.track;
|
||||||
if (translate && track.indexed) {
|
if (translate && track.indexed) {
|
||||||
|
// console.log(1, new THREE.Box3().setFromBufferAttribute(pos), track.box);
|
||||||
let delta = track.delta;
|
let delta = track.delta;
|
||||||
pos = pos.clone().applyMatrix4(
|
pos = pos.clone().applyMatrix4(
|
||||||
|
new THREE.Matrix4().makeTranslation(0, 0, -track.box.d/2)
|
||||||
|
).applyMatrix4(
|
||||||
new THREE.Matrix4().makeRotationX(-track.indexRad)
|
new THREE.Matrix4().makeRotationX(-track.indexRad)
|
||||||
// ).applyMatrix4(
|
).applyMatrix4(
|
||||||
// new THREE.Matrix4().makeTranslation(0, -delta.y, -delta.z + track.tzoff)
|
new THREE.Matrix4().makeTranslation(0, 0, track.box.d/2)
|
||||||
);
|
);
|
||||||
|
// console.log(2, new THREE.Box3().setFromBufferAttribute(pos));
|
||||||
}
|
}
|
||||||
pos = pos.array;
|
pos = pos.array;
|
||||||
if (geo.index && unroll !== false) {
|
if (geo.index && unroll !== false) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue