partial fix for mirroring tabs
This commit is contained in:
parent
995e23bbca
commit
4ea6b42891
1 changed files with 29 additions and 0 deletions
|
|
@ -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 => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue