jsketcher/modules/scene/objects/transform.js
2022-08-15 23:47:20 -07:00

33 lines
865 B
JavaScript

export function setBasisToObject3D(obj, basis, depth) {
obj.matrix.identity();
const mx = new THREE.Matrix4();
mx.makeBasis(basis[0].three(), basis[1].three(), basis[2].three());
const depthOff = new THREE.Vector3(0, 0, depth);
depthOff.applyMatrix4(mx);
mx.setPosition(depthOff);
obj.applyMatrix(mx);
}
export function setCadToViewMatrix(cadMatrix, threeMatrix) {
const cm = cadMatrix;
threeMatrix.set(
cm.mxx, cm.mxy, cm.mxz, cm.tx,
cm.myx, cm.myy, cm.myz, cm.ty,
cm.mzx, cm.mzy, cm.mzz, cm.tz,
0, 0, 0, 1
);
}
export function setCsysToViewMatrix(csys, threeMatrix) {
threeMatrix.set(
csys.x.x, csys.y.x, csys.z.x, csys.origin.x,
csys.x.y, csys.y.y, csys.z.y, csys.origin.y,
csys.x.z, csys.y.z, csys.z.z, csys.origin.z,
0, 0, 0, 1
);
}
export function moveObject3D(obj, dir) {
obj.position.add(dir)
}