From 8c3997d16d660e96c3426f17c9395045705ba8ad Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Wed, 2 Nov 2022 13:31:14 -0400 Subject: [PATCH] testing rotation / offset compensation --- src/kiri/slice.js | 3 ++- src/kiri/widget.js | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/kiri/slice.js b/src/kiri/slice.js index 7601ab94..df2a6bce 100644 --- a/src/kiri/slice.js +++ b/src/kiri/slice.js @@ -47,9 +47,10 @@ class Slice { let layers = this.layers = new kiri.Layers(); if (tracked) { let { track } = tracked; - let { indexed, indexRad, delta } = track; + let { indexed, indexRad, delta, tzoff } = track; if (indexed) { layers.setRotation(indexRad); + // layers.setPosition(0, -delta.y, delta.z + tzoff); } } return layers; diff --git a/src/kiri/widget.js b/src/kiri/widget.js index afadcdbc..39d80115 100644 --- a/src/kiri/widget.js +++ b/src/kiri/widget.js @@ -651,12 +651,16 @@ class Widget { // if indexed, return points rotated about X and then offset let track = this.track; if (translate && track.indexed) { + // console.log(1, new THREE.Box3().setFromBufferAttribute(pos), track.box); let delta = track.delta; pos = pos.clone().applyMatrix4( + new THREE.Matrix4().makeTranslation(0, 0, -track.box.d/2) + ).applyMatrix4( new THREE.Matrix4().makeRotationX(-track.indexRad) - // ).applyMatrix4( - // new THREE.Matrix4().makeTranslation(0, -delta.y, -delta.z + track.tzoff) + ).applyMatrix4( + new THREE.Matrix4().makeTranslation(0, 0, track.box.d/2) ); + // console.log(2, new THREE.Box3().setFromBufferAttribute(pos)); } pos = pos.array; if (geo.index && unroll !== false) {