partial fix for mirroring tabs

This commit is contained in:
Stewart Allen 2021-03-25 15:13:15 -04:00
commit 4ea6b42891

View file

@ -709,6 +709,19 @@
func.traceClear(); func.traceClear();
} }
}); });
api.event.on("widget.mirror", widget => {
if (!isCamMode) {
return;
}
if (traceOn) {
func.traceDone();
}
unselectTraces(widget);
if (flipping) {
return;
}
mirrorTabs(widget);
});
api.event.on("widget.rotate", rot => { api.event.on("widget.rotate", rot => {
if (!isCamMode) { if (!isCamMode) {
return; return;
@ -741,6 +754,22 @@
func.hover(data); func.hover(data);
}); });
function mirrorTabs(widget) {
let tabs = API.widgets.annotate(widget.id).tab || [];
tabs.forEach(rec => {
let { id, pos, rot } = rec;
let tab = widget.tabs[id];
let e = new THREE.Euler().setFromQuaternion(rot);
// let dv = (e._z - (Math.PI - e._z));
e._z = Math.PI - e._z;
rec.rot = new THREE.Quaternion().setFromEuler(e);
// let m4 = new THREE.Matrix4().makeRotationFromEuler(new THREE.Euler(0,0,dv));
// tab.box.geometry.applyMatrix4(m4);
tab.box.position.x = pos.x = -pos.x;
});
SPACE.update();
}
function rotateTabs(widget, x, y, z) { function rotateTabs(widget, x, y, z) {
let tabs = API.widgets.annotate(widget.id).tab || []; let tabs = API.widgets.annotate(widget.id).tab || [];
tabs.forEach(rec => { tabs.forEach(rec => {