babylonjs-editcontrol 3.2.5 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/README.md +453 -436
- package/dist/EditControl.d.ts +10 -0
- package/dist/EditControl.js +1 -1
- package/dist/EditControl.js.map +1 -1
- package/dist/EditControl.max.js +2 -2153
- package/dist/EditControl.max.js.LICENSE.txt +9 -0
- package/dist/EditControl.max.js.map +1 -1
- package/package.json +38 -37
- package/src/EditControl.ts +54 -32
package/dist/EditControl.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare class EditControl {
|
|
|
15
15
|
private _mesh;
|
|
16
16
|
private _canvas;
|
|
17
17
|
private _scene;
|
|
18
|
+
private _utilLayer;
|
|
18
19
|
private _mainCamera;
|
|
19
20
|
private _ecRoot;
|
|
20
21
|
private _local;
|
|
@@ -222,6 +223,15 @@ export declare class EditControl {
|
|
|
222
223
|
private _tEndAll;
|
|
223
224
|
private _all_tEnd;
|
|
224
225
|
private _createTransAxes;
|
|
226
|
+
/**
|
|
227
|
+
* pickable but invisible
|
|
228
|
+
* a) 3 boxes around each of the 3 small axes lines
|
|
229
|
+
* b) 3 small planes near origin for movement along a plane
|
|
230
|
+
* @param r
|
|
231
|
+
* @param l
|
|
232
|
+
* @param tCtl
|
|
233
|
+
* @param scene
|
|
234
|
+
*/
|
|
225
235
|
private _createPickableTrans;
|
|
226
236
|
private _createNonPickableTrans;
|
|
227
237
|
private _rCtl;
|
package/dist/EditControl.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,i){if("object"==typeof exports&&"object"==typeof module)module.exports=i(require("babylonjs"));else if("function"==typeof define&&define.amd)define(["babylonjs"],i);else{var h="object"==typeof exports?i(require("babylonjs")):i(t.BABYLON);for(var s in h)("object"==typeof exports?exports:t)[s]=h[s]}}(window,(function(t){return function(t){var i={};function h(s){if(i[s])return i[s].exports;var n=i[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,h),n.l=!0,n.exports}return h.m=t,h.c=i,h.d=function(t,i,s){h.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:s})},h.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"h",{value:!0})},h.t=function(t,i){if(1&i&&(t=h(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.h)return t;var s=Object.create(null);if(h.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)h.d(s,n,function(i){return t[i]}.bind(null,n));return s},h.n=function(t){var i=t&&t.h?function(){return t.default}:function(){return t};return h.d(i,"a",i),i},h.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},h.p="",h(h.s=1)}([function(i,h){i.exports=t},function(t,i,h){"use strict";h.r(i),h.d(i,"EditControl",(function(){return u}));var s,n=h(0);!function(t){t[t.TRANS=0]="TRANS",t[t.ROT=1]="ROT",t[t.SCALE=2]="SCALE"}(s||(s={}));var u=function(){function t(t,i,h,s,u,e){var f=this;this.u=!0,this.v=!1,this.M=!1,this.L=1,this.A=Math.PI/18,this.j=.4,this.O=1,this.S=.02,this.R=new n.Color3(1,.2,.2),this.T=new n.Color3(.2,1,.2),this.g=new n.Color3(.2,.2,1),this.k=new n.Color3(1,1,1),this.q=new n.Color3(1,1,.2),this.C=.75,this._=!1,this.N=new n.Matrix,this.B=new n.Vector3(0,0,0),this.D=2,this.F=new n.Vector3(0,0,0),this.G=new n.Vector3(0,0,0),this.H="",this.I=!1,this.J=null,this.K=null,this.P=null,this.U=!1,this.V=!1,this.W=!1,this.$=!1,this.tt=new n.Vector3(0,0,0),this.it=new n.Vector3(0,0,0),this.ht=!1,this.st=new n.Vector3(0,0,0),this.nt=.25,this.ut=new n.Vector3(0,0,0),this.rt=new n.Vector3(0,0,0),this.et=new n.Vector3(0,0,0),this.ft=new n.Vector3(0,0,0),this.ot=!1,this.lt=0,this.ct=!1,this.at=!1,this.vt=!1,this.wt=180,this.Mt=new n.Vector3(this.L,this.L,this.L),this.Xt=new n.Vector3(0,0,0),this.Yt=new n.Vector3(0,0,0),this.Zt=new n.Vector3(0,0,0),this.bt=new n.Matrix,this.Lt=t,this.pt=i,this.dt=h,null!=s&&(this.O=s),this.ot=null!==u&&u,this.yt(),null!=e&&(this.S=e),this.At=t.getScene(),this.jt=new r(t,10),t.computeWorldMatrix(!0),this.zt=this.Ot(t),this.St(t),this._=this.xt(t),console.log("lhs rhs issue "+this._),this.Et=new n.Mesh("",this.At),this.Et.rotationQuaternion=n.Quaternion.Identity(),this.Et.visibility=0,this.Et.isPickable=!1,this.Rt(this.At),this.Tt().parent=this.Et,this.gt().parent=this.Et,this.kt=function(t){return f.qt(t)},this.Ct=function(t){return f._t(t)},this.Nt=function(t){return f.Qt(t)},h.addEventListener("pointerdown",this.kt,!1),h.addEventListener("pointerup",this.Ct,!1),h.addEventListener("pointermove",this.Nt,!1),this.Bt=function(){return f.Dt()},this.At.registerBeforeRender(this.Bt)}return t.prototype.getRoot=function(){return this.Et},t.prototype.yt=function(){if(!this.ot&&(null==this.Lt.rotationQuaternion||null==this.Lt.rotationQuaternion))throw"Error: Eulerian is set to false but the mesh's rotationQuaternion is not set."},t.prototype.xt=function(t){var i=!1,h=t.parent;if(null==h)return!1;this.St(h);var s=n.Vector3.Cross(this.rt,this.et);return i=n.Vector3.Dot(s,this.ft)<0,this.St(t),i},t.prototype.Dt=function(){this.Et.position=this.Lt.getAbsolutePivotPoint(),this.Ft(),this.Gt(),this.u?(this.Et.getWorldMatrix().invertToRef(this.N),n.Vector3.TransformCoordinatesToRef(this.pt.position,this.N,this.B),this.Ht.lookAt(this.B,0,0,0,n.Space.LOCAL)):(this.pt.position.subtractToRef(this.Et.position,this.B),this.Ht.lookAt(this.pt.position,0,0,0,n.Space.WORLD)),this.at?this.It():this.ct?this.Jt(this.Kt,this.Pt,this.Ut):this.vt&&this.Jt(this.Vt,this.Wt,this.$t)},t.prototype.Ft=function(){if(this.u)if(null==this.Lt.parent)if(this.ot){var t=this.Lt.rotation;n.Quaternion.RotationYawPitchRollToRef(t.y,t.x,t.z,this.Et.rotationQuaternion)}else this.Et.rotationQuaternion.copyFrom(this.Lt.rotationQuaternion);else{if(this.ti(this.Lt))return;this.Lt.getWorldMatrix().getRotationMatrixToRef(this.bt),n.Quaternion.FromRotationMatrixToRef(this.bt,this.Et.rotationQuaternion)}},t.prototype.ti=function(t){if(null==t.parent)return!1;for(;null!=t.parent;){if(t.parent.scaling.x!=t.parent.scaling.y||t.parent.scaling.y!=t.parent.scaling.z)return!0;t=t.parent}return!1},t.prototype.Gt=function(){this.Et.position.subtractToRef(this.pt.position,this.F),n.Vector3.FromFloatArrayToRef(this.pt.getWorldMatrix().asArray(),8,this.G);var t=n.Vector3.Dot(this.F,this.G)/this.G.length(),i=Math.abs(t/this.D);n.Vector3.FromFloatsToRef(i,i,i,this.Et.scaling)},t.prototype.It=function(){var t=Math.atan(this.B.y/this.B.z);this.B.z>=0?this.ii.rotation.x=-t:this.ii.rotation.x=-t-Math.PI;var i=Math.atan(this.B.x/this.B.z);this.B.z>=0?this.hi.rotation.y=i:this.hi.rotation.y=i+Math.PI;var h=Math.atan(this.B.x/this.B.y);this.B.y>=0?this.si.rotation.z=-h:this.si.rotation.z=-h-Math.PI},t.prototype.Jt=function(t,i,h){var s=this.B;t.rotation.x=0,t.rotation.y=0,t.rotation.z=0,i.rotation.x=0,i.rotation.y=0,i.rotation.z=0,h.rotation.x=0,h.rotation.y=0,h.rotation.z=0,s.x<=0&&s.y>=0&&s.z>=0?(t.rotation.z=3.14,h.rotation.y=3.14):s.x<=0&&s.y>=0&&s.z<=0?(t.rotation.y=3.14,i.rotation.y=3.14,h.rotation.y=3.14):s.x>=0&&s.y>=0&&s.z<=0?(t.rotation.x=3.14,i.rotation.y=3.14):s.x>=0&&s.y<=0&&s.z>=0?(i.rotation.z=3.14,h.rotation.x=3.14):s.x<=0&&s.y<=0&&s.z>=0?(t.rotation.z=3.14,i.rotation.z=3.14,h.rotation.z=3.14):s.x<=0&&s.y<=0&&s.z<=0?(t.rotation.y=3.14,i.rotation.x=3.14,h.rotation.z=3.14):s.x>=0&&s.y<=0&&s.z<=0&&(t.rotation.x=3.14,i.rotation.x=3.14,h.rotation.x=3.14)},t.prototype.switchTo=function(t,i){t.computeWorldMatrix(!0),this.Lt=t,null!=i&&(this.ot=i),this.yt(),this.St(t),this.jt=new r(t,10),this._=this.xt(t),this.refreshBoundingInfo()},t.prototype.switchCamera=function(t){this.pt=t},t.prototype.setUndoCount=function(t){this.jt.setCapacity(t)},t.prototype.undo=function(){var t=this.jt.undo();this.Lt.computeWorldMatrix(!0),this.St(this.Lt),this.ni(t),this.ui(t),this.ri(t)},t.prototype.redo=function(){var t=this.jt.redo();this.Lt.computeWorldMatrix(!0),this.St(this.Lt),this.ni(t),this.ui(t),this.ri(t)},t.prototype.detach=function(){this.dt.removeEventListener("pointerdown",this.kt,!1),this.dt.removeEventListener("pointerup",this.Ct,!1),this.dt.removeEventListener("pointermove",this.Nt,!1),this.At.unregisterBeforeRender(this.Bt),this.removeAllActionListeners(),this.ei()},t.prototype.hide=function(){this.I=!0,this.ct?(this.H="T",this.disableTranslation()):this.at?(this.H="R",this.disableRotation()):this.vt&&(this.H="S",this.disableScaling()),this.fi()},t.prototype.fi=function(){this.oi.visibility=0,this.li.visibility=0,this.ci.visibility=0},t.prototype.ai=function(){this.oi.visibility=this.C,this.li.visibility=this.C,this.ci.visibility=this.C},t.prototype.show=function(){this.I=!1,this.ai(),"T"==this.H?this.enableTranslation():"R"==this.H?this.enableRotation():"S"==this.H&&this.enableScaling()},t.prototype.isHidden=function(){return this.I},t.prototype.ei=function(){this.Et.dispose(),this.vi(),this.jt=null},t.prototype.addActionListener=function(t){this.J=t},t.prototype.removeActionListener=function(){this.J=null},t.prototype.addActionStartListener=function(t){this.K=t},t.prototype.removeActionStartListener=function(){this.K=null},t.prototype.addActionEndListener=function(t){this.P=t},t.prototype.removeActionEndListener=function(){this.P=null},t.prototype.removeAllActionListeners=function(){this.J=null,this.K=null,this.P=null},t.prototype.qt=function(t){var i=this;if(t.preventDefault(),this.U=!0,0==t.button){var h=this.At.getEngine(),s=h.isPointerLock?.5*this.dt.width:this.At.pointerX,n=h.isPointerLock?.5*this.dt.height:this.At.pointerY,u=this.At.pick(s,n,(function(t){if(i.ct){if(t==i.wi||t==i.Mi||t==i.Xi||t==i.Kt||t==i.Pt||t==i.Ut||t==i.Yi)return!0}else if(i.at){if(t==i.ii||t==i.hi||t==i.si||t==i.Zi)return!0}else if(i.vt&&(t==i.bi||t==i.Li||t==i.pi||t==i.Vt||t==i.Wt||t==i.$t||t==i.di))return!0;return!1}),null,this.pt);if(u.hit){this.yi=u.pickedMesh;var r=this.yi.getChildren();r.length>0?r[0].visibility=this.C:this.yi.visibility=this.C;var e=this.yi.name;"X"==e?this.Ai.visibility=1:"Y"==e?this.ji.visibility=1:"Z"==e?this.zi.visibility=1:"XZ"==e?(this.Ai.visibility=1,this.zi.visibility=1):"ZY"==e?(this.zi.visibility=1,this.ji.visibility=1):"YX"==e?(this.ji.visibility=1,this.Ai.visibility=1):"ALL"==e&&(this.Ai.visibility=1,this.ji.visibility=1,this.zi.visibility=1),this.mi(!0),this.Oi=this.Si(this.yi),null!=this.Oi?this.xi=this.Ei():this.xi=null,window.setTimeout((function(t,h){return i.Ri(t,h)}),0,this.pt,this.dt)}}},t.prototype.mi=function(t){this.W=t,t?(this.Ti(),this.gi==s.ROT&&(this.lt=0),this.ni(this.gi)):this.ri(this.gi)},t.prototype.isEditing=function(){return this.W},t.prototype.Ri=function(t,i){var h=t,s=i;this.At.getEngine().isPointerLock||h.detachControl(s)},t.prototype.isPointerOver=function(){return this.V},t.prototype.ki=function(){var t=this,i=this.At.getEngine(),h=i.isPointerLock?.5*this.dt.width:this.At.pointerX,s=i.isPointerLock?.5*this.dt.height:this.At.pointerY,n=this.At.pick(h,s,(function(i){if(t.ct){if(i==t.wi||i==t.Mi||i==t.Xi||i==t.Kt||i==t.Pt||i==t.Ut||i==t.Yi)return!0}else if(t.at){if(i==t.ii||i==t.hi||i==t.si||i==t.Zi)return!0}else if(t.vt&&(i==t.bi||i==t.Li||i==t.pi||i==t.Vt||i==t.Wt||i==t.$t||i==t.di))return!0;return!1}),null,this.pt);if(n.hit){if(n.pickedMesh!=this.qi){if(this.V=!0,this.Ci(),this.qi=n.pickedMesh,this.at)this._i=this.qi.getChildren()[0].color,this.qi.getChildren()[0].color=this.k;else{var u=this.qi.getChildren();u.length>0?(this.Ni=u[0].material,u[0].material=this.Qi):(this.Ni=this.qi.material,this.qi.material=this.Qi)}"X"==this.qi.name?this.oi.color=this.k:"Y"==this.qi.name?this.li.color=this.k:"Z"==this.qi.name&&(this.ci.color=this.k)}}else this.V=!1,null!=this.qi&&(this.Bi(this.qi),this.qi=null)},t.prototype.Ci=function(){null!=this.qi&&(this.qi.visibility=0,this.Bi(this.qi))},t.prototype.Bi=function(t){switch(t.name){case"X":this.oi.color=this.R;break;case"Y":this.li.color=this.T;break;case"Z":this.ci.color=this.g}if(this.at)t.getChildren()[0].color=this._i;else{var i=t.getChildren();i.length>0?i[0].material=this.Ni:t.material=this.Ni}},t.prototype._t=function(t){(this.U=!1,this.W)&&(this.At.getEngine().isPointerLock||this.pt.attachControl(this.dt),this.mi(!1),this.Di(),null!=this.qi&&(this.Bi(this.qi),this.qi=null),this.jt.add(this.gi))},t.prototype.Ti=function(){this.ct?this.gi=s.TRANS:this.at?this.gi=s.ROT:this.vt&&(this.gi=s.SCALE)},t.prototype.ui=function(t){null!=this.J&&this.J(t)},t.prototype.ni=function(t){null!=this.K&&this.K(t)},t.prototype.ri=function(t){null!=this.P&&this.P(t)},t.prototype.Qt=function(t){if(this.U){if(this.W&&null!=this.xi){var i=this.Ei();if(null!=i){if(this.at)this.Fi(this.Lt,this.yi,i,this.xi);else{var h=i.subtract(this.xi);if(0==h.x&&0==h.y&&0==h.z)return;this.ct?this.Gi(h):this.vt&&this.u&&this.Hi(h)}this.xi=i,this.ui(this.gi)}}}else this.ki()},t.prototype.Si=function(t){var i=t.name;if(this.ct||this.vt){if("XZ"==i)return this.Ii;if("ZY"==i)return this.Ji;if("YX"==i)return this.Ki;if("ALL"==i)return this.Ht;this.Et.getWorldMatrix().invertToRef(this.N),n.Vector3.TransformCoordinatesToRef(this.pt.position,this.N,this.B);var h=this.B;if("X"===i)return Math.abs(h.y)>Math.abs(h.z)?this.Ii:this.Ki;if("Z"===i)return Math.abs(h.y)>Math.abs(h.x)?this.Ii:this.Ji;if("Y"===i)return Math.abs(h.z)>Math.abs(h.x)?this.Ki:this.Ji}else{if(!this.at)return null;this.$=!1,this.Et.getWorldMatrix().invertToRef(this.N),n.Vector3.TransformCoordinatesToRef(this.pt.position,this.N,this.B);h=this.B;switch(i){case"X":return Math.abs(h.x)<.2?(this.$=!0,this.Ht):this.Ji;case"Y":return Math.abs(h.y)<.2?(this.$=!0,this.Ht):this.Ii;case"Z":return Math.abs(h.z)<.2?(this.$=!0,this.Ht):this.Ki;default:return this.Ht}}},t.prototype.Gi=function(t){null!=this.Lt.parent&&this.ti(this.Lt)?this.St(this.Et):this.St(this.Lt);var i=this.yi.name;this.tt.x=0,this.tt.y=0,this.tt.z=0,"X"!=i&&"XZ"!=i&&"YX"!=i&&"ALL"!=i||(this.u?this.tt.x=n.Vector3.Dot(t,this.rt)/this.rt.length():this.tt.x=t.x),"Y"!=i&&"ZY"!=i&&"YX"!=i&&"ALL"!=i||(this.u?this.tt.y=n.Vector3.Dot(t,this.et)/this.et.length():this.tt.y=t.y),"Z"!=i&&"XZ"!=i&&"ZY"!=i&&"ALL"!=i||(this.u?this.tt.z=n.Vector3.Dot(t,this.ft)/this.ft.length():this.tt.z=t.z),this.Pi(this.Lt,this.tt,this.u),this.Ui&&(this.Lt.position.x=Math.max(this.Lt.position.x,this.Ui.x),this.Lt.position.y=Math.max(this.Lt.position.y,this.Ui.y),this.Lt.position.z=Math.max(this.Lt.position.z,this.Ui.z)),this.Vi&&(this.Lt.position.x=Math.min(this.Lt.position.x,this.Vi.x),this.Lt.position.y=Math.min(this.Lt.position.y,this.Vi.y),this.Lt.position.z=Math.min(this.Lt.position.z,this.Vi.z)),this.Lt.computeWorldMatrix(!0)},t.prototype.Pi=function(t,i,h){if(this.v){var s=!1;if(this.it.addInPlace(i),Math.abs(this.it.x)>this.Mt.x&&(this.it.x>0?i.x=this.Mt.x:i.x=-this.Mt.x,s=!0),Math.abs(this.it.y)>this.Mt.y&&(this.it.y>0?i.y=this.Mt.y:i.y=-this.Mt.y,s=!0),Math.abs(this.it.z)>this.Mt.z&&(this.it.z>0?i.z=this.Mt.z:i.z=-this.Mt.z,s=!0),!s)return;Math.abs(i.x)!==this.Mt.x&&(i.x=0),Math.abs(i.y)!==this.Mt.y&&(i.y=0),Math.abs(i.z)!==this.Mt.z&&(i.z=0),n.Vector3.FromFloatsToRef(0,0,0,this.it),s=!1}h?(this.rt.normalizeToRef(this.Xt),this.et.normalizeToRef(this.Yt),this.ft.normalizeToRef(this.Zt),this.Lt.translate(this.Xt,i.x,n.Space.WORLD),this.Lt.translate(this.Yt,i.y,n.Space.WORLD),this.Lt.translate(this.Zt,i.z,n.Space.WORLD)):null==this.Lt.parent?this.Lt.position.addInPlace(i):this.Lt.setAbsolutePosition(i.addInPlace(this.Lt.absolutePosition))},t.prototype.Hi=function(t){this.St(this.Lt),this.ut.x=0,this.ut.y=0,this.ut.z=0;var i=this.yi.name;"X"!=i&&"XZ"!=i&&"YX"!=i||(this.ut.x=n.Vector3.Dot(t,this.rt)/this.rt.length(),this.Lt.scaling.x<0&&(this.ut.x=-this.ut.x)),"Y"!=i&&"ZY"!=i&&"YX"!=i||(this.ut.y=n.Vector3.Dot(t,this.et)/this.et.length(),this.Lt.scaling.y<0&&(this.ut.y=-this.ut.y)),"Z"!=i&&"XZ"!=i&&"ZY"!=i||(this.ut.z=n.Vector3.Dot(t,this.ft)/this.ft.length(),this.Lt.scaling.z<0&&(this.ut.z=-this.ut.z));var h=this.zt;if(this.ut.x=this.ut.x/h.x,this.ut.y=this.ut.y/h.y,this.ut.z=this.ut.z/h.z,"ALL"==i){var s=n.Vector3.Dot(t,this.pt.upVector);s/=Math.max(h.x,h.y,h.z),this.ut.copyFromFloats(s,s,s)}else{var u=!1;if("XZ"==i?(u=!0,Math.abs(this.ut.x)>Math.abs(this.ut.z)?this.ut.z=this.ut.x:this.ut.x=this.ut.z):"ZY"==i?(u=!0,Math.abs(this.ut.z)>Math.abs(this.ut.y)?this.ut.y=this.ut.z:this.ut.z=this.ut.y):"YX"==i&&(u=!0,Math.abs(this.ut.y)>Math.abs(this.ut.x)?this.ut.x=this.ut.y:this.ut.y=this.ut.x),u){this.Et.position.subtractToRef(this.pt.position,this.F);s=n.Vector3.Dot(t,this.F);this.ut.x=Math.abs(this.ut.x),this.ut.y=Math.abs(this.ut.y),this.ut.z=Math.abs(this.ut.z),s>0?(this.Lt.scaling.x>0&&(this.ut.x=-this.ut.x),this.Lt.scaling.y>0&&(this.ut.y=-this.ut.y),this.Lt.scaling.z>0&&(this.ut.z=-this.ut.z)):(this.Lt.scaling.x<0&&(this.ut.x=-this.ut.x),this.Lt.scaling.y<0&&(this.ut.y=-this.ut.y),this.Lt.scaling.z<0&&(this.ut.z=-this.ut.z))}}this.Wi(this.Lt,this.ut),this.$i&&(this.Lt.scaling.x=Math.max(this.Lt.scaling.x,this.$i.x),this.Lt.scaling.y=Math.max(this.Lt.scaling.y,this.$i.y),this.Lt.scaling.z=Math.max(this.Lt.scaling.z,this.$i.z)),this.th&&(this.Lt.scaling.x=Math.min(this.Lt.scaling.x,this.th.x),this.Lt.scaling.y=Math.min(this.Lt.scaling.y,this.th.y),this.Lt.scaling.z=Math.min(this.Lt.scaling.z,this.th.z))},t.prototype.Wi=function(t,i){if(this.ht){var h=!1;if(this.st.addInPlace(i),Math.abs(this.st.x)>this.nt&&(i.x>0?i.x=this.nt:i.x=-this.nt,h=!0),Math.abs(this.st.y)>this.nt&&(i.y>0?i.y=this.nt:i.y=-this.nt,h=!0),Math.abs(this.st.z)>this.nt&&(i.z>0?i.z=this.nt:i.z=-this.nt,h=!0),!h)return;Math.abs(i.x)!==this.nt&&0!==i.x&&(i.x=0),Math.abs(i.y)!==this.nt&&0!==i.y&&(i.y=0),Math.abs(i.z)!==this.nt&&0!==i.z&&(i.z=0),n.Vector3.FromFloatsToRef(0,0,0,this.st),h=!1}t.scaling.addInPlace(i)},t.prototype.St=function(t){var i=t.getWorldMatrix();n.Vector3.FromFloatArrayToRef(i.m,0,this.rt),n.Vector3.FromFloatArrayToRef(i.m,4,this.et),n.Vector3.FromFloatArrayToRef(i.m,8,this.ft)},t.prototype.Ot=function(t){if(t instanceof n.AbstractMesh){var i=t.getBoundingInfo().boundingBox,h=i.maximum.subtract(i.minimum);return 0==h.x&&(h.x=1),0==h.y&&(h.y=1),0==h.z&&(h.z=1),h}return new n.Vector3(1,1,1)},t.prototype.refreshBoundingInfo=function(){this.zt=this.Ot(this.Lt)},t.prototype.Fi=function(t,i,h,s){this.u&&null!=this.Lt.parent&&this.ti(t)?this.St(this.Et):this.St(t);var u,r=0;i==this.ii?u=this.u?this.rt:n.Axis.X:i==this.hi?u=this.u?this.et:n.Axis.Y:i==this.si&&(u=this.u?this.ft:n.Axis.Z),this.Et.position.subtractToRef(this.pt.position,this.F),this.$?(r=this.ih(s,h,this.pt.position,this.F,u),this.At.useRightHandedSystem&&(r=-r)):r=this.hh(s,h,t.getAbsolutePivotPoint(),this.F),this._&&(r=-r),this.M&&(this.lt+=r,r=0,Math.abs(this.lt)>=this.A&&(r=this.lt>0?this.A:-this.A,this.lt=0)),0!==r&&(this.F.normalize(),i==this.Zi?t.rotate(this.F,-r,n.Space.WORLD):(n.Vector3.Dot(u,this.F)>=0&&(r=-r),t.rotate(u,r,n.Space.WORLD)),this.ot&&(t.rotation=t.rotationQuaternion.toEulerAngles(),t.rotationQuaternion=null),this.u&&(this._&&(r=-r),null!=this.Lt.parent&&this.ti(t)&&(i==this.Zi?this.Et.rotate(this.F,-r,n.Space.WORLD):this.Et.rotate(u,r,n.Space.WORLD))))},t.prototype.Ei=function(){var t=this,i=this.At.getEngine(),h=i.isPointerLock?.5*this.dt.width:this.At.pointerX,s=i.isPointerLock?.5*this.dt.height:this.At.pointerY,n=this.At.pick(h,s,(function(i){return i==t.Oi}),null,this.pt);return n.hit?n.pickedPoint:null},t.prototype.Di=function(){this.Ai.visibility=0,this.ji.visibility=0,this.zi.visibility=0},t.prototype.getRotationQuaternion=function(){return this.Et.rotationQuaternion},t.prototype.getPosition=function(){return this.Et.position},t.prototype.isTranslationEnabled=function(){return this.ct},t.prototype.enableTranslation=function(){this.I||(null==this.wi&&(this.sh(),this.nh.parent=this.Et),this.Ci(),this.ct||(this.uh(this.rh,this.C),this.ct=!0,this.disableRotation(),this.disableScaling()))},t.prototype.disableTranslation=function(){this.ct&&(this.uh(this.rh,0),this.ct=!1)},t.prototype.isRotationEnabled=function(){return this.at},t.prototype.returnEuler=function(t){this.ot=t},t.prototype.enableRotation=function(){this.I||(null==this.eh&&(this.fh(),this.eh.parent=this.Et),this.Ci(),this.at||(this.uh(this.oh,this.C),this.at=!0,this.disableTranslation(),this.disableScaling()))},t.prototype.disableRotation=function(){this.at&&(this.uh(this.oh,0),this.at=!1)},t.prototype.isScalingEnabled=function(){return this.vt},t.prototype.enableScaling=function(){this.I||(null==this.bi&&(this.lh(),this.ah.parent=this.Et),this.Ci(),this.vt||(this.uh(this.vh,this.C),this.vt=!0,this.disableTranslation(),this.disableRotation()))},t.prototype.disableScaling=function(){this.vt&&(this.uh(this.vh,0),this.vt=!1)},t.prototype.setScaleBounds=function(t,i){this.$i=t||null,this.th=i||null,null!=this.$i&&(0==this.$i.x&&(this.$i.x=1e-8),0==this.$i.y&&(this.$i.y=1e-8),0==this.$i.z&&(this.$i.z=1e-8))},t.prototype.removeScaleBounds=function(){this.$i=null,this.th=null},t.prototype.setTransBounds=function(t,i){this.Ui=t||null,this.Vi=i||null},t.prototype.removeTransBounds=function(){this.Ui=null,this.Vi=null},t.prototype.setRotBounds=function(t,i){this.wh=t||null,this.Mh=i||null},t.prototype.removeRotBounds=function(){this.wh=null,this.Mh=null},t.prototype.Tt=function(){var t=new n.Mesh("",this.At);this.Ai=n.Mesh.CreateLines("",[new n.Vector3(-100,0,0),new n.Vector3(100,0,0)],this.At),this.ji=n.Mesh.CreateLines("",[new n.Vector3(0,-100,0),new n.Vector3(0,100,0)],this.At),this.zi=n.Mesh.CreateLines("",[new n.Vector3(0,0,-100),new n.Vector3(0,0,100)],this.At),this.Ai.isPickable=!1,this.ji.isPickable=!1,this.zi.isPickable=!1,this.Ai.parent=t,this.ji.parent=t,this.zi.parent=t,this.Ai.color=this.R,this.ji.color=this.T,this.zi.color=this.g,this.Di();var i=this.j*this.O*.75;return this.oi=n.Mesh.CreateLines("",[new n.Vector3(0,0,0),new n.Vector3(i,0,0)],this.At),this.li=n.Mesh.CreateLines("",[new n.Vector3(0,0,0),new n.Vector3(0,i,0)],this.At),this.ci=n.Mesh.CreateLines("",[new n.Vector3(0,0,0),new n.Vector3(0,0,i)],this.At),this.oi.isPickable=!1,this.li.isPickable=!1,this.ci.isPickable=!1,this.oi.parent=t,this.li.parent=t,this.ci.parent=t,this.oi.color=this.R,this.li.color=this.T,this.ci.color=this.g,this.oi.renderingGroupId=1,this.li.renderingGroupId=1,this.ci.renderingGroupId=1,t},t.prototype.gt=function(){this.Ht=n.Mesh.CreatePlane("",5,this.At),this.Ii=n.Mesh.CreatePlane("",5,this.At),this.Ji=n.Mesh.CreatePlane("",5,this.At),this.Ki=n.Mesh.CreatePlane("",5,this.At),this.Ht.isPickable=!1,this.Ii.isPickable=!1,this.Ji.isPickable=!1,this.Ki.isPickable=!1,this.Ht.visibility=0,this.Ii.visibility=0,this.Ji.visibility=0,this.Ki.visibility=0,this.Ht.renderingGroupId=1,this.Ii.renderingGroupId=1,this.Ji.renderingGroupId=1,this.Ki.renderingGroupId=1,this.Ht.lookAt(this.pt.position),this.Ii.rotate(n.Axis.X,1.57),this.Ji.rotate(n.Axis.Y,1.57);var t=new n.Mesh("",this.At);return this.Ht.parent=t,this.Ii.parent=t,this.Ji.parent=t,this.Ki.parent=t,t},t.prototype.sh=function(){var t=2*this.S*this.O,i=this.j*this.O;this.nh=new n.Mesh("",this.At),this.Xh(t,i,this.nh,this.At),this.Yh(t,i,this.At)},t.prototype.Xh=function(t,i,h,s){var u=this.Zh(t/2,i);u.name="X";var r=u.clone("Y"),e=u.clone("Z"),f=n.MeshBuilder.CreatePlane("XZ",{size:2*t},s),o=n.MeshBuilder.CreatePlane("ZY",{size:2*t},s),l=n.MeshBuilder.CreatePlane("YX",{size:2*t},s);f.rotation.x=1.57,o.rotation.y=-1.57,f.position.x=2*t,f.position.z=2*t,o.position.z=2*t,o.position.y=2*t,l.position.y=2*t,l.position.x=2*t,f.bakeCurrentTransformIntoVertices(),o.bakeCurrentTransformIntoVertices(),l.bakeCurrentTransformIntoVertices();var c=n.Mesh.CreateBox("ALL",2*t,s);u.parent=h,r.parent=h,e.parent=h,f.parent=h,o.parent=h,l.parent=h,c.parent=h,u.rotation.y=1.57,r.rotation.x-=1.57,this.wi=u,this.Mi=r,this.Xi=e,this.Kt=f,this.Pt=o,this.Ut=l,this.Yi=c,this.bh=[u,r,e,f,o,l,c],this.uh(this.bh,0),this.Lh(this.bh)},t.prototype.Yh=function(t,i,h){var s=i/5,u=n.Mesh.CreateCylinder("",s,0,t,6,1,h),r=u.clone(""),e=u.clone(""),f=2*t,o=n.MeshBuilder.CreatePlane("XZ",{size:f},h),l=n.MeshBuilder.CreatePlane("ZY",{size:f},h),c=n.MeshBuilder.CreatePlane("YX",{size:f},h),a=n.Mesh.CreateBox("ALL",t,h);u.rotation.x=1.57,r.rotation.x=1.57,e.rotation.x=1.57,o.rotation.x=1.57,l.rotation.y=1.57,o.position.x=f,o.position.z=f,l.position.z=f,l.position.y=f,c.position.y=f,c.position.x=f,u.parent=this.wi,r.parent=this.Mi,e.parent=this.Xi,o.parent=this.Kt,l.parent=this.Pt,c.parent=this.Ut,a.parent=this.Yi,u.position.z=i-s/2,r.position.z=i-s/2,e.position.z=i-s/2,u.material=this.ph,r.material=this.dh,e.material=this.yh,o.material=this.dh,l.material=this.ph,c.material=this.yh,a.material=this.Ah,this.jh=u,this.zh=r,this.mh=e,this.Oh=o,this.Sh=l,this.xh=c,this.Eh=a,this.rh=[u,r,e,o,l,c,a],this.Lh(this.rh),this.Rh(this.rh)},t.prototype.setRotGuideFull=function(t){this.wt=t?360:180,null!=this.eh&&(this.eh.dispose(),this.Zi.dispose(),this.eh=null,this.enableRotation())},t.prototype.fh=function(){var t=this.j*this.O*2;this.eh=new n.Mesh("",this.At),this.Th(t,this.eh),this.gh(t)},t.prototype.Th=function(t,i){var h=this.kh(t/2,this.wt),s=this.kh(t/2,this.wt),n=this.kh(t/2,this.wt),u=this.kh(t/1.75,360);h.name="X",s.name="Y",n.name="Z",u.name="ALL",h.rotation.z=1.57,n.rotation.x=-1.57,h.bakeCurrentTransformIntoVertices(),n.bakeCurrentTransformIntoVertices(),u.rotation.x=1.57,h.parent=i,s.parent=i,n.parent=i,u.parent=this.Ht,this.ii=h,this.hi=s,this.si=n,this.Zi=u,this.qh=[h,s,n,u],this.uh(this.qh,0),this.Lh(this.qh)},t.prototype.gh=function(t){var i=this.Ch(t/2,this.wt,!1),h=i.clone(""),s=i.clone(""),u=this.Ch(t/1.75,360,!1),r=this.Ch(t/2,360,!1);i.parent=this.ii,h.parent=this.hi,s.parent=this.si,i.rotation.z=1.57,s.rotation.x=-1.57,u.parent=this.Zi,r.parent=this.Zi,i.color=this.R,h.color=this.T,s.color=this.g,u.color=this.q,r.color=n.Color3.Gray(),this._h=i,this.Nh=h,this.Qh=s,this.Bh=u,this.Dh=r,this.oh=[i,h,s,u,r],this.Lh(this.oh),this.Rh(this.oh)},t.prototype.uh=function(t,i){t.map((function(t){return t.visibility=i}))},t.prototype.Lh=function(t){t.map((function(t){t.isPickable=!1}))},t.prototype.Rh=function(t){t.map((function(t){return t.renderingGroupId=2}))},t.prototype.Zh=function(t,i){var h=[new n.Vector3(t,t,0),new n.Vector3(-t,t,0),new n.Vector3(-t,-t,0),new n.Vector3(t,-t,0),new n.Vector3(t,t,0)],s=[new n.Vector3(0,0,0),new n.Vector3(0,0,i)];return n.Mesh.ExtrudeShape("",h,s,1,0,2,this.At)},t.prototype.Ch=function(t,i,h){null===i&&(i=360);for(var s,u,r=[],e=3.14/180,f=0,o=0;o<=i;o+=5)s=t*Math.cos(o*e),u=90==o?t:270==o?-t:t*Math.sin(o*e),r[f]=new n.Vector3(s,0,u),f++;if(h){t-=.04;for(o=0;o<=i;o+=5)s=t*Math.cos(o*e),u=90==o?t:270==o?-t:t*Math.sin(o*e),r[f]=new n.Vector3(s,0,u),f++}return n.Mesh.CreateLines("",r,this.At)},t.prototype.kh=function(t,i){null===i&&(i=360);for(var h,s,u=[],r=3.14/180,e=0,f=0;f<=i;f+=30)h=t*Math.cos(f*r),s=90==f?t:270==f?-t:t*Math.sin(f*r),u[e]=new n.Vector3(h,0,s),e++;return n.Mesh.CreateTube("",u,this.S*this.O*2,3,null,n.Mesh.NO_CAP,this.At)},t.prototype.lh=function(){var t=2*this.S*this.O,i=this.j*this.O;this.ah=new n.Mesh("",this.At),this.Fh(t,i,this.ah),this.Gh(t,i)},t.prototype.Fh=function(t,i,h){var s=this.Zh(t/2,i);s.name="X";var u=s.clone("Y"),r=s.clone("Z"),e=n.MeshBuilder.CreatePlane("XZ",{size:2*t},this.At),f=n.MeshBuilder.CreatePlane("ZY",{size:2*t},this.At),o=n.MeshBuilder.CreatePlane("YX",{size:2*t},this.At);e.rotation.x=1.57,f.rotation.y=-1.57,e.position.x=2*t,e.position.z=2*t,f.position.z=2*t,f.position.y=2*t,o.position.y=2*t,o.position.x=2*t,e.bakeCurrentTransformIntoVertices(),f.bakeCurrentTransformIntoVertices(),o.bakeCurrentTransformIntoVertices();var l=n.Mesh.CreateBox("ALL",2*t,this.At);s.parent=h,u.parent=h,r.parent=h,l.parent=h,e.parent=h,f.parent=h,o.parent=h,s.rotation.y=1.57,u.rotation.x-=1.57,this.bi=s,this.Li=u,this.pi=r,this.Vt=e,this.Wt=f,this.$t=o,this.di=l,this.Hh=[s,u,r,e,f,o,l],this.uh(this.Hh,0),this.Lh(this.Hh)},t.prototype.Gh=function(t,i){var h=n.Mesh.CreateBox("",t,this.At),s=h.clone(""),u=h.clone(""),r=2*t,e=n.MeshBuilder.CreatePlane("XZ",{size:r},this.At),f=n.MeshBuilder.CreatePlane("ZY",{size:r},this.At),o=n.MeshBuilder.CreatePlane("YX",{size:r},this.At),l=n.Mesh.CreateBox("ALL",t,this.At);e.rotation.x=1.57,f.rotation.y=-1.57,e.position.x=r,e.position.z=r,f.position.z=r,f.position.y=r,o.position.y=r,o.position.x=r,h.parent=this.bi,s.parent=this.Li,u.parent=this.pi,e.parent=this.Vt,f.parent=this.Wt,o.parent=this.$t,l.parent=this.di,h.position.z=i-t/2,s.position.z=i-t/2,u.position.z=i-t/2,h.material=this.ph,s.material=this.dh,u.material=this.yh,e.material=this.dh,f.material=this.ph,o.material=this.yh,l.material=this.Ah,this.Ih=h,this.Jh=s,this.Kh=u,this.Ph=e,this.Uh=f,this.Vh=o,this.Wh=l,this.vh=[h,s,u,e,f,o,l],this.Lh(this.vh),this.Rh(this.vh)},t.prototype.setVisibility=function(t){this.C=t},t.prototype.setLocal=function(t){this.u!=t&&(this.u=t,t||(this.Et.rotationQuaternion=n.Quaternion.Identity()))},t.prototype.isLocal=function(){return this.u},t.prototype.setTransSnap=function(t){this.v=t},t.prototype.isTransSnap=function(){return this.v},t.prototype.setRotSnap=function(t){this.M=t},t.prototype.isRotSnap=function(){return this.M},t.prototype.setScaleSnap=function(t){this.ht=t},t.prototype.isScaleSnap=function(){return this.ht},t.prototype.setTransSnapValue=function(t){this.Mt.copyFromFloats(t,t,t),this.L=t},t.prototype.getTransSnapValue=function(){return this.L},t.prototype.setRotSnapValue=function(t){this.A=t},t.prototype.getRotSnapValue=function(){return this.A},t.prototype.setScaleSnapValue=function(t){this.nt=t},t.prototype.getScaleSnapValue=function(){return this.nt},t.prototype.ih=function(t,i,h,s,u){var r=n.Vector3.Dot(s,u);u.scaleToRef(r,this.Xt),h.addToRef(this.Xt,this.Yt);var e=this.Yt;this.pt.getWorldMatrix().invertToRef(this.bt),n.Vector3.TransformCoordinatesToRef(this.Yt,this.bt,this.Yt);var f=0;e.x>=0&&e.y>=0?f=1:e.x<=0&&e.y>=0?f=2:e.x<=0&&e.y<=0?f=3:e.x>=0&&e.y<=0&&(f=4),n.Vector3.TransformCoordinatesToRef(t,this.bt,this.Xt),n.Vector3.TransformCoordinatesToRef(i,this.bt,this.Yt),this.Yt.subtractInPlace(this.Xt);var o=this.Yt,l=o.length(),c="";o.x>=0&&o.y>=0?c=o.x>=o.y?"r":"u":o.x<=0&&o.y>=0?c=-o.x>=o.y?"l":"u":o.x<=0&&o.y<=0?c=-o.x>=-o.y?"l":"d":o.x>=0&&o.y<=0&&(c=o.x>=-o.y?"r":"d");var a=0;return"d"==c?a=1==f||4==f?1:-1:"u"==c?a=1==f||4==f?-1:1:"r"==c?a=2==f||1==f?1:-1:"l"==c&&(a=2==f||1==f?-1:1),a*l},t.prototype.hh=function(t,i,h,s){t.subtractToRef(h,this.Xt),i.subtractToRef(h,this.Yt),n.Vector3.CrossToRef(this.Xt,this.Yt,this.Zt);var u=Math.asin(this.Zt.length()/(this.Xt.length()*this.Yt.length()));return n.Vector3.Dot(this.Zt,s)>0&&(u*=-1),u},t.$h=function(t,i){var h=new n.StandardMaterial("",i);return h.emissiveColor=t,h.diffuseColor=n.Color3.Black(),h.specularColor=n.Color3.Black(),h.backFaceCulling=!1,h},t.prototype.Rt=function(i){this.ph=t.$h(this.R,i),this.dh=t.$h(this.T,i),this.yh=t.$h(this.g,i),this.Qi=t.$h(this.k,i),this.Ah=t.$h(this.q,i)},t.prototype.vi=function(){this.ph.dispose(),this.dh.dispose(),this.yh.dispose(),this.Qi.dispose(),this.Ah.dispose()},t}(),r=function(){function t(t,i){this.lastMax=10,this.acts=new Array,this.last=-1,this.current=-1,this.mesh=t,this.lastMax=i-1,this.add()}return t.prototype.setCapacity=function(t){0!=t?(this.lastMax=t-1,this.last=-1,this.current=-1,this.acts=new Array,this.add()):console.error("capacity should be more than zero")},t.prototype.add=function(t){void 0===t&&(t=null);var i=new e(this.mesh,t);this.current<this.last&&(this.acts.splice(this.current+1),this.last=this.current),this.last==this.lastMax?(this.acts.shift(),this.acts.push(i)):(this.acts.push(i),this.last++,this.current++)},t.prototype.undo=function(){if(this.current>0){var t=this.acts[this.current].getActionType();return this.current--,this.acts[this.current].perform(this.mesh),t}},t.prototype.redo=function(){if(this.current<this.last)return this.current++,this.acts[this.current].perform(this.mesh),this.acts[this.current].getActionType()},t}(),e=function(){function t(t,i){this.ts=t.position.clone(),null==t.rotationQuaternion?(this.hs=null,this.ss=t.rotation.clone()):(this.hs=t.rotationQuaternion.clone(),this.ss=null),this.ns=t.scaling.clone(),this.us=i}return t.prototype.getActionType=function(){return this.us},t.prototype.perform=function(t){t.position.copyFrom(this.ts),null==t.rotationQuaternion?null!=this.ss?t.rotation.copyFrom(this.ss):t.rotation.copyFrom(this.hs.toEulerAngles()):null!=this.hs?t.rotationQuaternion.copyFrom(this.hs):t.rotationQuaternion.copyFrom(n.Quaternion.RotationYawPitchRoll(this.ss.y,this.ss.x,this.ss.z)),t.scaling.copyFrom(this.ns)},t}()}])}));
|
|
1
|
+
!function(t,i){if("object"==typeof exports&&"object"==typeof module)module.exports=i(require("babylonjs"));else if("function"==typeof define&&define.amd)define(["babylonjs"],i);else{var s="object"==typeof exports?i(require("babylonjs")):i(t.BABYLON);for(var h in s)("object"==typeof exports?exports:t)[h]=s[h]}}(self,(t=>(()=>{"use strict";var i={247:i=>{i.exports=t}},s={};function h(t){var n=s[t];if(void 0!==n)return n.exports;var u=s[t]={exports:{}};return i[t](u,u.exports,h),u.exports}h.n=t=>{var i=t&&t.t?()=>t.default:()=>t;return h.d(i,{a:i}),i},h.d=(t,i)=>{for(var s in i)h.o(i,s)&&!h.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},h.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i),h.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"t",{value:!0})};var n={};return(()=>{h.r(n),h.d(n,{EditControl:()=>s});var t,i=h(247);!function(t){t[t.TRANS=0]="TRANS",t[t.ROT=1]="ROT",t[t.SCALE=2]="SCALE"}(t||(t={}));var s=function(){function s(t,s,h,n,e,r){var o=this;this.i=!0,this.h=!1,this.u=!1,this.l=1,this.v=Math.PI/18,this.M=.4,this.p=1,this.L=.02,this.A=new i.Color3(1,.2,.2),this.j=new i.Color3(.2,1,.2),this.S=new i.Color3(.2,.2,1),this.O=new i.Color3(1,1,1),this.T=new i.Color3(1,1,.2),this.R=.75,this.g=!1,this.k=new i.Matrix,this.q=new i.Vector3(0,0,0),this.C=2,this._=new i.Vector3(0,0,0),this.B=new i.Vector3(0,0,0),this.N="",this.D=!1,this.F=null,this.G=null,this.H=null,this.I=!1,this.J=!1,this.K=!1,this.P=!1,this.U=new i.Vector3(0,0,0),this.V=new i.Vector3(0,0,0),this.W=!1,this.$=new i.Vector3(0,0,0),this.tt=.25,this.it=new i.Vector3(0,0,0),this.st=new i.Vector3(0,0,0),this.ht=new i.Vector3(0,0,0),this.nt=new i.Vector3(0,0,0),this.ut=!1,this.et=0,this.rt=!1,this.ot=!1,this.ft=!1,this.lt=180,this.ct=new i.Vector3(this.l,this.l,this.l),this.vt=new i.Vector3(0,0,0),this.wt=new i.Vector3(0,0,0),this.Mt=new i.Vector3(0,0,0),this.Xt=new i.Matrix,this.Yt=t,this.Zt=s,this.dt=h,null!=n&&(this.p=n),this.ut=null!==e&&e,this.bt(),null!=r&&(this.L=r),this.Lt=i.UtilityLayerRenderer.DefaultUtilityLayer,this.Lt.onlyCheckPointerDownEvents=!1,this.zt=this.Lt.utilityLayerScene,this.yt=new u(t,10),t.computeWorldMatrix(!0),this.At=this.jt(t),this.St(t),this.g=this.xt(t),console.log("lhs rhs issue "+this.g),this.Ot=new i.Mesh("",this.zt),this.Ot.rotationQuaternion=i.Quaternion.Identity(),this.Ot.visibility=0,this.Ot.isPickable=!1,this.Tt(this.zt),this.Et().parent=this.Ot,this.Rt().parent=this.Ot,this.gt=function(t){return o.kt(t)},this.qt=function(t){return o.Ct(t)},this._t=function(t){return o.Bt(t)},h.addEventListener("pointerdown",this.gt,!1),h.addEventListener("pointerup",this.qt,!1),h.addEventListener("pointermove",this._t,!1),this.Nt=function(){return o.Qt()},this.zt.registerBeforeRender(this.Nt)}return s.prototype.getRoot=function(){return this.Ot},s.prototype.bt=function(){if(!this.ut&&(null==this.Yt.rotationQuaternion||null==this.Yt.rotationQuaternion))throw"Error: Eulerian is set to false but the mesh's rotationQuaternion is not set."},s.prototype.xt=function(t){var s=!1,h=t.parent;if(null==h)return!1;this.St(h);var n=i.Vector3.Cross(this.st,this.ht);return s=i.Vector3.Dot(n,this.nt)<0,this.St(t),s},s.prototype.Qt=function(){this.Ot.position=this.Yt.getAbsolutePivotPoint(),this.Dt(),this.Ft(),this.i?(this.Ot.getWorldMatrix().invertToRef(this.k),i.Vector3.TransformCoordinatesToRef(this.Zt.position,this.k,this.q),this.Gt.lookAt(this.q,0,0,0,i.Space.LOCAL)):(this.Zt.position.subtractToRef(this.Ot.position,this.q),this.Gt.lookAt(this.Zt.position,0,0,0,i.Space.WORLD)),this.ot?this.Ht():this.rt?this.It(this.Jt,this.Kt,this.Pt):this.ft&&this.It(this.Ut,this.Vt,this.Wt)},s.prototype.Dt=function(){if(this.i)if(null==this.Yt.parent)if(this.ut){var t=this.Yt.rotation;i.Quaternion.RotationYawPitchRollToRef(t.y,t.x,t.z,this.Ot.rotationQuaternion)}else this.Ot.rotationQuaternion.copyFrom(this.Yt.rotationQuaternion);else{if(this.$t(this.Yt))return;this.Yt.getWorldMatrix().getRotationMatrixToRef(this.Xt),i.Quaternion.FromRotationMatrixToRef(this.Xt,this.Ot.rotationQuaternion)}},s.prototype.$t=function(t){if(null==t.parent)return!1;for(;null!=t.parent;){if(t.parent.scaling.x!=t.parent.scaling.y||t.parent.scaling.y!=t.parent.scaling.z)return!0;t=t.parent}return!1},s.prototype.Ft=function(){this.Ot.position.subtractToRef(this.Zt.position,this._),i.Vector3.FromArrayToRef(this.Zt.getWorldMatrix().asArray(),8,this.B);var t=i.Vector3.Dot(this._,this.B)/this.B.length(),s=Math.abs(t/this.C);i.Vector3.FromFloatsToRef(s,s,s,this.Ot.scaling)},s.prototype.Ht=function(){var t=Math.atan(this.q.y/this.q.z);this.q.z>=0?this.ti.rotation.x=-t:this.ti.rotation.x=-t-Math.PI;var i=Math.atan(this.q.x/this.q.z);this.q.z>=0?this.ii.rotation.y=i:this.ii.rotation.y=i+Math.PI;var s=Math.atan(this.q.x/this.q.y);this.q.y>=0?this.si.rotation.z=-s:this.si.rotation.z=-s-Math.PI},s.prototype.It=function(t,i,s){var h=this.q;t.rotation.x=0,t.rotation.y=0,t.rotation.z=0,i.rotation.x=0,i.rotation.y=0,i.rotation.z=0,s.rotation.x=0,s.rotation.y=0,s.rotation.z=0,h.x<=0&&h.y>=0&&h.z>=0?(t.rotation.z=3.14,s.rotation.y=3.14):h.x<=0&&h.y>=0&&h.z<=0?(t.rotation.y=3.14,i.rotation.y=3.14,s.rotation.y=3.14):h.x>=0&&h.y>=0&&h.z<=0?(t.rotation.x=3.14,i.rotation.y=3.14):h.x>=0&&h.y<=0&&h.z>=0?(i.rotation.z=3.14,s.rotation.x=3.14):h.x<=0&&h.y<=0&&h.z>=0?(t.rotation.z=3.14,i.rotation.z=3.14,s.rotation.z=3.14):h.x<=0&&h.y<=0&&h.z<=0?(t.rotation.y=3.14,i.rotation.x=3.14,s.rotation.z=3.14):h.x>=0&&h.y<=0&&h.z<=0&&(t.rotation.x=3.14,i.rotation.x=3.14,s.rotation.x=3.14)},s.prototype.switchTo=function(t,i){t.computeWorldMatrix(!0),this.Yt=t,null!=i&&(this.ut=i),this.bt(),this.St(t),this.yt=new u(t,10),this.g=this.xt(t),this.refreshBoundingInfo()},s.prototype.switchCamera=function(t){this.Zt=t},s.prototype.setUndoCount=function(t){this.yt.setCapacity(t)},s.prototype.undo=function(){var t=this.yt.undo();this.Yt.computeWorldMatrix(!0),this.St(this.Yt),this.hi(t),this.ni(t),this.ui(t)},s.prototype.redo=function(){var t=this.yt.redo();this.Yt.computeWorldMatrix(!0),this.St(this.Yt),this.hi(t),this.ni(t),this.ui(t)},s.prototype.detach=function(){this.dt.removeEventListener("pointerdown",this.gt,!1),this.dt.removeEventListener("pointerup",this.qt,!1),this.dt.removeEventListener("pointermove",this._t,!1),this.zt.unregisterBeforeRender(this.Nt),this.removeAllActionListeners(),this.ei()},s.prototype.hide=function(){this.D=!0,this.rt?(this.N="T",this.disableTranslation()):this.ot?(this.N="R",this.disableRotation()):this.ft&&(this.N="S",this.disableScaling()),this.ri()},s.prototype.ri=function(){this.oi.visibility=0,this.fi.visibility=0,this.li.visibility=0},s.prototype.ai=function(){this.oi.visibility=this.R,this.fi.visibility=this.R,this.li.visibility=this.R},s.prototype.show=function(){this.D=!1,this.ai(),"T"==this.N?this.enableTranslation():"R"==this.N?this.enableRotation():"S"==this.N&&this.enableScaling()},s.prototype.isHidden=function(){return this.D},s.prototype.ei=function(){this.Ot.dispose(),this.ci(),this.yt=null},s.prototype.addActionListener=function(t){this.F=t},s.prototype.removeActionListener=function(){this.F=null},s.prototype.addActionStartListener=function(t){this.G=t},s.prototype.removeActionStartListener=function(){this.G=null},s.prototype.addActionEndListener=function(t){this.H=t},s.prototype.removeActionEndListener=function(){this.H=null},s.prototype.removeAllActionListeners=function(){this.F=null,this.G=null,this.H=null},s.prototype.kt=function(t){var i=this;if(t.preventDefault(),this.I=!0,0==t.button){var s=this.zt.getEngine(),h=s.isPointerLock?.5*this.dt.width:this.zt.pointerX,n=s.isPointerLock?.5*this.dt.height:this.zt.pointerY,u=this.zt.pick(h,n,(function(t){if(i.rt){if(t==i.vi||t==i.wi||t==i.Mi||t==i.Jt||t==i.Kt||t==i.Pt||t==i.pi)return!0}else if(i.ot){if(t==i.ti||t==i.ii||t==i.si||t==i.Xi)return!0}else if(i.ft&&(t==i.Yi||t==i.Zi||t==i.di||t==i.Ut||t==i.Vt||t==i.Wt||t==i.bi))return!0;return!1}),!1,this.Zt);if(u.hit){this.Li=u.pickedMesh;var e=this.Li.getChildren();e.length>0?e[0].visibility=this.R:this.Li.visibility=this.R;var r=this.Li.name;"X"==r?this.zi.visibility=1:"Y"==r?this.yi.visibility=1:"Z"==r?this.Ai.visibility=1:"XZ"==r?(this.zi.visibility=1,this.Ai.visibility=1):"ZY"==r?(this.Ai.visibility=1,this.yi.visibility=1):"YX"==r?(this.yi.visibility=1,this.zi.visibility=1):"ALL"==r&&(this.zi.visibility=1,this.yi.visibility=1,this.Ai.visibility=1),this.mi(!0),this.ji=this.Si(this.Li),null!=this.ji?this.xi=this.Oi():this.xi=null,window.setTimeout((function(t,s){return i.Ti(t,s)}),0,this.Zt,this.dt)}}},s.prototype.mi=function(i){this.K=i,i?(this.Ei(),this.Ri==t.ROT&&(this.et=0),this.hi(this.Ri)):this.ui(this.Ri)},s.prototype.isEditing=function(){return this.K},s.prototype.Ti=function(t,i){var s=t,h=i;this.zt.getEngine().isPointerLock||s.detachControl(h)},s.prototype.isPointerOver=function(){return this.J},s.prototype.gi=function(){var t=this,i=this.zt.getEngine(),s=i.isPointerLock?.5*this.dt.width:this.zt.pointerX,h=i.isPointerLock?.5*this.dt.height:this.zt.pointerY,n=this.zt.pick(s,h,(function(i){if(t.rt){if(i==t.vi||i==t.wi||i==t.Mi||i==t.Jt||i==t.Kt||i==t.Pt||i==t.pi)return!0}else if(t.ot){if(i==t.ti||i==t.ii||i==t.si||i==t.Xi)return!0}else if(t.ft&&(i==t.Yi||i==t.Zi||i==t.di||i==t.Ut||i==t.Vt||i==t.Wt||i==t.bi))return!0;return!1}),!1,this.Zt);if(n.hit){if(n.pickedMesh!=this.ki){if(this.J=!0,this.qi(),this.ki=n.pickedMesh,this.ot)this.Ci=this.ki.getChildren()[0].color,this.ki.getChildren()[0].color=this.O;else{var u=this.ki.getChildren();u.length>0?(this._i=u[0].material,u[0].material=this.Bi):(this._i=this.ki.material,this.ki.material=this.Bi)}"X"==this.ki.name?this.oi.color=this.O:"Y"==this.ki.name?this.fi.color=this.O:"Z"==this.ki.name&&(this.li.color=this.O)}}else this.J=!1,null!=this.ki&&(this.Ni(this.ki),this.ki=null)},s.prototype.qi=function(){null!=this.ki&&(this.ki.visibility=0,this.Ni(this.ki))},s.prototype.Ni=function(t){switch(t.name){case"X":this.oi.color=this.A;break;case"Y":this.fi.color=this.j;break;case"Z":this.li.color=this.S}if(this.ot)t.getChildren()[0].color=this.Ci;else{var i=t.getChildren();i.length>0?i[0].material=this._i:t.material=this._i}},s.prototype.Ct=function(t){(this.I=!1,this.K)&&(this.zt.getEngine().isPointerLock||this.Zt.attachControl(!0),this.mi(!1),this.Qi(),null!=this.ki&&(this.Ni(this.ki),this.ki=null),this.yt.add(this.Ri))},s.prototype.Ei=function(){this.rt?this.Ri=t.TRANS:this.ot?this.Ri=t.ROT:this.ft&&(this.Ri=t.SCALE)},s.prototype.ni=function(t){null!=this.F&&this.F(t)},s.prototype.hi=function(t){null!=this.G&&this.G(t)},s.prototype.ui=function(t){null!=this.H&&this.H(t)},s.prototype.Bt=function(t){if(this.I){if(this.K&&null!=this.xi){var i=this.Oi();if(null!=i){if(this.ot)this.Di(this.Yt,this.Li,i,this.xi);else{var s=i.subtract(this.xi);if(0==s.x&&0==s.y&&0==s.z)return;this.rt?this.Fi(s):this.ft&&this.i&&this.Gi(s)}this.xi=i,this.ni(this.Ri)}}}else this.gi()},s.prototype.Si=function(t){var s=t.name;if(this.rt||this.ft){if("XZ"==s)return this.Hi;if("ZY"==s)return this.Ii;if("YX"==s)return this.Ji;if("ALL"==s)return this.Gt;this.Ot.getWorldMatrix().invertToRef(this.k),i.Vector3.TransformCoordinatesToRef(this.Zt.position,this.k,this.q);var h=this.q;if("X"===s)return Math.abs(h.y)>Math.abs(h.z)?this.Hi:this.Ji;if("Z"===s)return Math.abs(h.y)>Math.abs(h.x)?this.Hi:this.Ii;if("Y"===s)return Math.abs(h.z)>Math.abs(h.x)?this.Ji:this.Ii}else{if(!this.ot)return null;this.P=!1,this.Ot.getWorldMatrix().invertToRef(this.k),i.Vector3.TransformCoordinatesToRef(this.Zt.position,this.k,this.q);h=this.q;switch(s){case"X":return Math.abs(h.x)<.2?(this.P=!0,this.Gt):this.Ii;case"Y":return Math.abs(h.y)<.2?(this.P=!0,this.Gt):this.Hi;case"Z":return Math.abs(h.z)<.2?(this.P=!0,this.Gt):this.Ji;default:return this.Gt}}},s.prototype.Fi=function(t){null!=this.Yt.parent&&this.$t(this.Yt)?this.St(this.Ot):this.St(this.Yt);var s=this.Li.name;this.U.x=0,this.U.y=0,this.U.z=0,"X"!=s&&"XZ"!=s&&"YX"!=s&&"ALL"!=s||(this.i?this.U.x=i.Vector3.Dot(t,this.st)/this.st.length():this.U.x=t.x),"Y"!=s&&"ZY"!=s&&"YX"!=s&&"ALL"!=s||(this.i?this.U.y=i.Vector3.Dot(t,this.ht)/this.ht.length():this.U.y=t.y),"Z"!=s&&"XZ"!=s&&"ZY"!=s&&"ALL"!=s||(this.i?this.U.z=i.Vector3.Dot(t,this.nt)/this.nt.length():this.U.z=t.z),this.Ki(this.Yt,this.U,this.i),this.Pi&&(this.Yt.position.x=Math.max(this.Yt.position.x,this.Pi.x),this.Yt.position.y=Math.max(this.Yt.position.y,this.Pi.y),this.Yt.position.z=Math.max(this.Yt.position.z,this.Pi.z)),this.Ui&&(this.Yt.position.x=Math.min(this.Yt.position.x,this.Ui.x),this.Yt.position.y=Math.min(this.Yt.position.y,this.Ui.y),this.Yt.position.z=Math.min(this.Yt.position.z,this.Ui.z)),this.Yt.computeWorldMatrix(!0)},s.prototype.Ki=function(t,s,h){if(this.h){var n=!1;if(this.V.addInPlace(s),Math.abs(this.V.x)>this.ct.x&&(this.V.x>0?s.x=this.ct.x:s.x=-this.ct.x,n=!0),Math.abs(this.V.y)>this.ct.y&&(this.V.y>0?s.y=this.ct.y:s.y=-this.ct.y,n=!0),Math.abs(this.V.z)>this.ct.z&&(this.V.z>0?s.z=this.ct.z:s.z=-this.ct.z,n=!0),!n)return;Math.abs(s.x)!==this.ct.x&&(s.x=0),Math.abs(s.y)!==this.ct.y&&(s.y=0),Math.abs(s.z)!==this.ct.z&&(s.z=0),i.Vector3.FromFloatsToRef(0,0,0,this.V),n=!1}h?(this.st.normalizeToRef(this.vt),this.ht.normalizeToRef(this.wt),this.nt.normalizeToRef(this.Mt),this.Yt.translate(this.vt,s.x,i.Space.WORLD),this.Yt.translate(this.wt,s.y,i.Space.WORLD),this.Yt.translate(this.Mt,s.z,i.Space.WORLD)):null==this.Yt.parent?this.Yt.position.addInPlace(s):this.Yt.setAbsolutePosition(s.addInPlace(this.Yt.absolutePosition))},s.prototype.Gi=function(t){this.St(this.Yt),this.it.x=0,this.it.y=0,this.it.z=0;var s=this.Li.name;"X"!=s&&"XZ"!=s&&"YX"!=s||(this.it.x=i.Vector3.Dot(t,this.st)/this.st.length(),this.Yt.scaling.x<0&&(this.it.x=-this.it.x)),"Y"!=s&&"ZY"!=s&&"YX"!=s||(this.it.y=i.Vector3.Dot(t,this.ht)/this.ht.length(),this.Yt.scaling.y<0&&(this.it.y=-this.it.y)),"Z"!=s&&"XZ"!=s&&"ZY"!=s||(this.it.z=i.Vector3.Dot(t,this.nt)/this.nt.length(),this.Yt.scaling.z<0&&(this.it.z=-this.it.z));var h=this.At;if(this.it.x=this.it.x/h.x,this.it.y=this.it.y/h.y,this.it.z=this.it.z/h.z,"ALL"==s){var n=i.Vector3.Dot(t,this.Zt.upVector);n/=Math.max(h.x,h.y,h.z),this.it.copyFromFloats(n,n,n)}else{var u=!1;if("XZ"==s?(u=!0,Math.abs(this.it.x)>Math.abs(this.it.z)?this.it.z=this.it.x:this.it.x=this.it.z):"ZY"==s?(u=!0,Math.abs(this.it.z)>Math.abs(this.it.y)?this.it.y=this.it.z:this.it.z=this.it.y):"YX"==s&&(u=!0,Math.abs(this.it.y)>Math.abs(this.it.x)?this.it.x=this.it.y:this.it.y=this.it.x),u){this.Ot.position.subtractToRef(this.Zt.position,this._);n=i.Vector3.Dot(t,this._);this.it.x=Math.abs(this.it.x),this.it.y=Math.abs(this.it.y),this.it.z=Math.abs(this.it.z),n>0?(this.Yt.scaling.x>0&&(this.it.x=-this.it.x),this.Yt.scaling.y>0&&(this.it.y=-this.it.y),this.Yt.scaling.z>0&&(this.it.z=-this.it.z)):(this.Yt.scaling.x<0&&(this.it.x=-this.it.x),this.Yt.scaling.y<0&&(this.it.y=-this.it.y),this.Yt.scaling.z<0&&(this.it.z=-this.it.z))}}this.Vi(this.Yt,this.it),this.Wi&&(this.Yt.scaling.x=Math.max(this.Yt.scaling.x,this.Wi.x),this.Yt.scaling.y=Math.max(this.Yt.scaling.y,this.Wi.y),this.Yt.scaling.z=Math.max(this.Yt.scaling.z,this.Wi.z)),this.$i&&(this.Yt.scaling.x=Math.min(this.Yt.scaling.x,this.$i.x),this.Yt.scaling.y=Math.min(this.Yt.scaling.y,this.$i.y),this.Yt.scaling.z=Math.min(this.Yt.scaling.z,this.$i.z))},s.prototype.Vi=function(t,s){if(this.W){var h=!1;if(this.$.addInPlace(s),Math.abs(this.$.x)>this.tt&&(s.x>0?s.x=this.tt:s.x=-this.tt,h=!0),Math.abs(this.$.y)>this.tt&&(s.y>0?s.y=this.tt:s.y=-this.tt,h=!0),Math.abs(this.$.z)>this.tt&&(s.z>0?s.z=this.tt:s.z=-this.tt,h=!0),!h)return;Math.abs(s.x)!==this.tt&&0!==s.x&&(s.x=0),Math.abs(s.y)!==this.tt&&0!==s.y&&(s.y=0),Math.abs(s.z)!==this.tt&&0!==s.z&&(s.z=0),i.Vector3.FromFloatsToRef(0,0,0,this.$),h=!1}t.scaling.addInPlace(s)},s.prototype.St=function(t){var s=t.getWorldMatrix();i.Vector3.FromArrayToRef(s.m,0,this.st),i.Vector3.FromArrayToRef(s.m,4,this.ht),i.Vector3.FromArrayToRef(s.m,8,this.nt)},s.prototype.jt=function(t){if(t instanceof i.AbstractMesh){var s=t.getBoundingInfo().boundingBox,h=s.maximum.subtract(s.minimum);return 0==h.x&&(h.x=1),0==h.y&&(h.y=1),0==h.z&&(h.z=1),h}return new i.Vector3(1,1,1)},s.prototype.refreshBoundingInfo=function(){this.At=this.jt(this.Yt)},s.prototype.Di=function(t,s,h,n){this.i&&null!=this.Yt.parent&&this.$t(t)?this.St(this.Ot):this.St(t);var u,e=0;s==this.ti?u=this.i?this.st:i.Axis.X:s==this.ii?u=this.i?this.ht:i.Axis.Y:s==this.si&&(u=this.i?this.nt:i.Axis.Z),this.Ot.position.subtractToRef(this.Zt.position,this._),this.P?(e=this.ts(n,h,this.Zt.position,this._,u),this.zt.useRightHandedSystem&&(e=-e)):e=this.ss(n,h,t.getAbsolutePivotPoint(),this._),this.g&&(e=-e),this.u&&(this.et+=e,e=0,Math.abs(this.et)>=this.v&&(e=this.et>0?this.v:-this.v,this.et=0)),0!==e&&(this._.normalize(),s==this.Xi?t.rotate(this._,-e,i.Space.WORLD):(i.Vector3.Dot(u,this._)>=0&&(e=-e),t.rotate(u,e,i.Space.WORLD)),this.ut&&(t.rotation=t.rotationQuaternion.toEulerAngles(),t.rotationQuaternion=null),this.i&&(this.g&&(e=-e),null!=this.Yt.parent&&this.$t(t)&&(s==this.Xi?this.Ot.rotate(this._,-e,i.Space.WORLD):this.Ot.rotate(u,e,i.Space.WORLD))))},s.prototype.Oi=function(){var t=this,i=this.zt.getEngine(),s=i.isPointerLock?.5*this.dt.width:this.zt.pointerX,h=i.isPointerLock?.5*this.dt.height:this.zt.pointerY,n=this.zt.pick(s,h,(function(i){return i==t.ji}),null,this.Zt);return n.hit?n.pickedPoint:null},s.prototype.Qi=function(){this.zi.visibility=0,this.yi.visibility=0,this.Ai.visibility=0},s.prototype.getRotationQuaternion=function(){return this.Ot.rotationQuaternion},s.prototype.getPosition=function(){return this.Ot.position},s.prototype.isTranslationEnabled=function(){return this.rt},s.prototype.enableTranslation=function(){this.D||(null==this.vi&&(this.hs(),this.ns.parent=this.Ot),this.qi(),this.rt||(this.us(this.es,this.R),this.rt=!0,this.disableRotation(),this.disableScaling()))},s.prototype.disableTranslation=function(){this.rt&&(this.us(this.es,0),this.rt=!1)},s.prototype.isRotationEnabled=function(){return this.ot},s.prototype.returnEuler=function(t){this.ut=t},s.prototype.enableRotation=function(){this.D||(null==this.rs&&(this.os(),this.rs.parent=this.Ot),this.qi(),this.ot||(this.us(this.fs,this.R),this.ot=!0,this.disableTranslation(),this.disableScaling()))},s.prototype.disableRotation=function(){this.ot&&(this.us(this.fs,0),this.ot=!1)},s.prototype.isScalingEnabled=function(){return this.ft},s.prototype.enableScaling=function(){this.D||(null==this.Yi&&(this.ls(),this.cs.parent=this.Ot),this.qi(),this.ft||(this.us(this.vs,this.R),this.ft=!0,this.disableTranslation(),this.disableRotation()))},s.prototype.disableScaling=function(){this.ft&&(this.us(this.vs,0),this.ft=!1)},s.prototype.setScaleBounds=function(t,i){this.Wi=t||null,this.$i=i||null,null!=this.Wi&&(0==this.Wi.x&&(this.Wi.x=1e-8),0==this.Wi.y&&(this.Wi.y=1e-8),0==this.Wi.z&&(this.Wi.z=1e-8))},s.prototype.removeScaleBounds=function(){this.Wi=null,this.$i=null},s.prototype.setTransBounds=function(t,i){this.Pi=t||null,this.Ui=i||null},s.prototype.removeTransBounds=function(){this.Pi=null,this.Ui=null},s.prototype.setRotBounds=function(t,i){this.ws=t||null,this.Ms=i||null},s.prototype.removeRotBounds=function(){this.ws=null,this.Ms=null},s.prototype.Et=function(){var t=new i.Mesh("",this.zt);this.zi=i.MeshBuilder.CreateLines("",{points:[new i.Vector3(-100,0,0),new i.Vector3(100,0,0)]},this.zt),this.yi=i.MeshBuilder.CreateLines("",{points:[new i.Vector3(0,-100,0),new i.Vector3(0,100,0)]},this.zt),this.Ai=i.MeshBuilder.CreateLines("",{points:[new i.Vector3(0,0,-100),new i.Vector3(0,0,100)]},this.zt),this.zi.isPickable=!1,this.yi.isPickable=!1,this.Ai.isPickable=!1,this.zi.parent=t,this.yi.parent=t,this.Ai.parent=t,this.zi.color=this.A,this.yi.color=this.j,this.Ai.color=this.S,this.Qi();var s=this.M*this.p*.75;return this.oi=i.MeshBuilder.CreateLines("",{points:[new i.Vector3(0,0,0),new i.Vector3(s,0,0)]},this.zt),this.fi=i.MeshBuilder.CreateLines("",{points:[new i.Vector3(0,0,0),new i.Vector3(0,s,0)]},this.zt),this.li=i.MeshBuilder.CreateLines("",{points:[new i.Vector3(0,0,0),new i.Vector3(0,0,s)]},this.zt),this.oi.isPickable=!1,this.fi.isPickable=!1,this.li.isPickable=!1,this.oi.parent=t,this.fi.parent=t,this.li.parent=t,this.oi.color=this.A,this.fi.color=this.j,this.li.color=this.S,this.oi.renderingGroupId=1,this.fi.renderingGroupId=1,this.li.renderingGroupId=1,t},s.prototype.Rt=function(){this.Gt=i.MeshBuilder.CreatePlane("",{size:5},this.zt),this.Hi=i.MeshBuilder.CreatePlane("",{size:5},this.zt),this.Ii=i.MeshBuilder.CreatePlane("",{size:5},this.zt),this.Ji=i.MeshBuilder.CreatePlane("",{size:5},this.zt),this.Gt.isPickable=!1,this.Hi.isPickable=!1,this.Ii.isPickable=!1,this.Ji.isPickable=!1,this.Gt.visibility=0,this.Hi.visibility=0,this.Ii.visibility=0,this.Ji.visibility=0,this.Gt.renderingGroupId=1,this.Hi.renderingGroupId=1,this.Ii.renderingGroupId=1,this.Ji.renderingGroupId=1,this.Gt.lookAt(this.Zt.position),this.Hi.rotate(i.Axis.X,1.57),this.Ii.rotate(i.Axis.Y,1.57);var t=new i.Mesh("",this.zt);return this.Gt.parent=t,this.Hi.parent=t,this.Ii.parent=t,this.Ji.parent=t,t},s.prototype.hs=function(){var t=2*this.L*this.p,s=this.M*this.p;this.ns=new i.Mesh("",this.zt),this.ps(t,s,this.ns,this.zt),this.Xs(t,s,this.zt)},s.prototype.ps=function(t,s,h,n){var u=this.Ys(t/2,s);u.name="X";var e=u.clone("Y"),r=u.clone("Z"),o=2*t,f=i.MeshBuilder.CreatePlane("XZ",{size:o},n),l=i.MeshBuilder.CreatePlane("ZY",{size:o},n),a=i.MeshBuilder.CreatePlane("YX",{size:o},n);f.rotation.x=1.57,l.rotation.y=-1.57,f.position.x=2*t,f.position.z=2*t,l.position.z=2*t,l.position.y=2*t,a.position.y=2*t,a.position.x=2*t,f.bakeCurrentTransformIntoVertices(),l.bakeCurrentTransformIntoVertices(),a.bakeCurrentTransformIntoVertices();var c=i.MeshBuilder.CreateBox("ALL",{size:2*t},n);u.parent=h,e.parent=h,r.parent=h,f.parent=h,l.parent=h,a.parent=h,c.parent=h,u.rotation.y=1.57,e.rotation.x-=1.57,this.vi=u,this.wi=e,this.Mi=r,this.Jt=f,this.Kt=l,this.Pt=a,this.pi=c,this.Zs=[u,e,r,f,l,a,c],this.us(this.Zs,0),this.ds(this.Zs)},s.prototype.Xs=function(t,s,h){var n=s/5,u=i.MeshBuilder.CreateCylinder("",{height:n,diameterTop:0,diameterBottom:t,tessellation:6,subdivisions:1},h),e=u.clone(""),r=u.clone(""),o=2*t,f=i.MeshBuilder.CreatePlane("XZ",{size:o},h),l=i.MeshBuilder.CreatePlane("ZY",{size:o},h),a=i.MeshBuilder.CreatePlane("YX",{size:o},h),c=i.MeshBuilder.CreateBox("ALL",{size:t},h);u.rotation.x=1.57,e.rotation.x=1.57,r.rotation.x=1.57,f.rotation.x=1.57,l.rotation.y=1.57,f.position.x=o,f.position.z=o,l.position.z=o,l.position.y=o,a.position.y=o,a.position.x=o,u.parent=this.vi,e.parent=this.wi,r.parent=this.Mi,f.parent=this.Jt,l.parent=this.Kt,a.parent=this.Pt,c.parent=this.pi,u.position.z=s-n/2,e.position.z=s-n/2,r.position.z=s-n/2,u.material=this.bs,e.material=this.Ls,r.material=this.zs,f.material=this.Ls,l.material=this.bs,a.material=this.zs,c.material=this.ys,this.As=u,this.js=e,this.Ss=r,this.xs=f,this.Os=l,this.Ts=a,this.Es=c,this.es=[u,e,r,f,l,a,c],this.ds(this.es),this.Rs(this.es)},s.prototype.setRotGuideFull=function(t){this.lt=t?360:180,null!=this.rs&&(this.rs.dispose(),this.Xi.dispose(),this.rs=null,this.enableRotation())},s.prototype.os=function(){var t=this.M*this.p*2;this.rs=new i.Mesh("",this.zt),this.gs(t,this.rs),this.ks(t)},s.prototype.gs=function(t,i){var s=this.qs(t/2,this.lt),h=this.qs(t/2,this.lt),n=this.qs(t/2,this.lt),u=this.qs(t/1.75,360);s.name="X",h.name="Y",n.name="Z",u.name="ALL",s.rotation.z=1.57,n.rotation.x=-1.57,s.bakeCurrentTransformIntoVertices(),n.bakeCurrentTransformIntoVertices(),u.rotation.x=1.57,s.parent=i,h.parent=i,n.parent=i,u.parent=this.Gt,this.ti=s,this.ii=h,this.si=n,this.Xi=u,this.Cs=[s,h,n,u],this.us(this.Cs,0),this.ds(this.Cs)},s.prototype.ks=function(t){var s=this._s(t/2,this.lt,!1),h=s.clone(""),n=s.clone(""),u=this._s(t/1.75,360,!1),e=this._s(t/2,360,!1);s.parent=this.ti,h.parent=this.ii,n.parent=this.si,s.rotation.z=1.57,n.rotation.x=-1.57,u.parent=this.Xi,e.parent=this.Xi,s.color=this.A,h.color=this.j,n.color=this.S,u.color=this.T,e.color=i.Color3.Gray(),this.Bs=s,this.Ns=h,this.Qs=n,this.Ds=u,this.Fs=e,this.fs=[s,h,n,u,e],this.ds(this.fs),this.Rs(this.fs)},s.prototype.us=function(t,i){t.map((function(t){return t.visibility=i}))},s.prototype.ds=function(t){t.map((function(t){t.isPickable=!1}))},s.prototype.Rs=function(t){t.map((function(t){return t.renderingGroupId=2}))},s.prototype.Ys=function(t,s){var h=[new i.Vector3(t,t,0),new i.Vector3(-t,t,0),new i.Vector3(-t,-t,0),new i.Vector3(t,-t,0),new i.Vector3(t,t,0)],n=[new i.Vector3(0,0,0),new i.Vector3(0,0,s)];return i.MeshBuilder.ExtrudeShape("",{shape:h,path:n,scale:1,rotation:0,cap:2},this.zt)},s.prototype._s=function(t,s,h){null===s&&(s=360);for(var n,u,e=[],r=3.14/180,o=0,f=0;f<=s;f+=5)n=t*Math.cos(f*r),u=90==f?t:270==f?-t:t*Math.sin(f*r),e[o]=new i.Vector3(n,0,u),o++;if(h){t-=.04;for(f=0;f<=s;f+=5)n=t*Math.cos(f*r),u=90==f?t:270==f?-t:t*Math.sin(f*r),e[o]=new i.Vector3(n,0,u),o++}return i.MeshBuilder.CreateLines("",{points:e},this.zt)},s.prototype.qs=function(t,s){null===s&&(s=360);for(var h,n,u=[],e=3.14/180,r=0,o=0;o<=s;o+=30)h=t*Math.cos(o*e),n=90==o?t:270==o?-t:t*Math.sin(o*e),u[r]=new i.Vector3(h,0,n),r++;return i.MeshBuilder.CreateTube("",{path:u,radius:this.L*this.p*2,tessellation:3,cap:i.Mesh.NO_CAP},this.zt)},s.prototype.ls=function(){var t=2*this.L*this.p,s=this.M*this.p;this.cs=new i.Mesh("",this.zt),this.Gs(t,s,this.cs),this.Hs(t,s)},s.prototype.Gs=function(t,s,h){var n=this.Ys(t/2,s);n.name="X";var u=n.clone("Y"),e=n.clone("Z"),r=i.MeshBuilder.CreatePlane("XZ",{size:2*t},this.zt),o=i.MeshBuilder.CreatePlane("ZY",{size:2*t},this.zt),f=i.MeshBuilder.CreatePlane("YX",{size:2*t},this.zt);r.rotation.x=1.57,o.rotation.y=-1.57,r.position.x=2*t,r.position.z=2*t,o.position.z=2*t,o.position.y=2*t,f.position.y=2*t,f.position.x=2*t,r.bakeCurrentTransformIntoVertices(),o.bakeCurrentTransformIntoVertices(),f.bakeCurrentTransformIntoVertices();var l=i.MeshBuilder.CreateBox("ALL",{size:2*t},this.zt);n.parent=h,u.parent=h,e.parent=h,l.parent=h,r.parent=h,o.parent=h,f.parent=h,n.rotation.y=1.57,u.rotation.x-=1.57,this.Yi=n,this.Zi=u,this.di=e,this.Ut=r,this.Vt=o,this.Wt=f,this.bi=l,this.Is=[n,u,e,r,o,f,l],this.us(this.Is,0),this.ds(this.Is)},s.prototype.Hs=function(t,s){var h=i.MeshBuilder.CreateBox("",{size:t},this.zt),n=h.clone(""),u=h.clone(""),e=2*t,r=i.MeshBuilder.CreatePlane("XZ",{size:e},this.zt),o=i.MeshBuilder.CreatePlane("ZY",{size:e},this.zt),f=i.MeshBuilder.CreatePlane("YX",{size:e},this.zt),l=i.MeshBuilder.CreateBox("ALL",{size:t},this.zt);r.rotation.x=1.57,o.rotation.y=-1.57,r.position.x=e,r.position.z=e,o.position.z=e,o.position.y=e,f.position.y=e,f.position.x=e,h.parent=this.Yi,n.parent=this.Zi,u.parent=this.di,r.parent=this.Ut,o.parent=this.Vt,f.parent=this.Wt,l.parent=this.bi,h.position.z=s-t/2,n.position.z=s-t/2,u.position.z=s-t/2,h.material=this.bs,n.material=this.Ls,u.material=this.zs,r.material=this.Ls,o.material=this.bs,f.material=this.zs,l.material=this.ys,this.Js=h,this.Ks=n,this.Ps=u,this.Us=r,this.Vs=o,this.Ws=f,this.$s=l,this.vs=[h,n,u,r,o,f,l],this.ds(this.vs),this.Rs(this.vs)},s.prototype.setVisibility=function(t){this.R=t},s.prototype.setLocal=function(t){this.i!=t&&(this.i=t,t||(this.Ot.rotationQuaternion=i.Quaternion.Identity()))},s.prototype.isLocal=function(){return this.i},s.prototype.setTransSnap=function(t){this.h=t},s.prototype.isTransSnap=function(){return this.h},s.prototype.setRotSnap=function(t){this.u=t},s.prototype.isRotSnap=function(){return this.u},s.prototype.setScaleSnap=function(t){this.W=t},s.prototype.isScaleSnap=function(){return this.W},s.prototype.setTransSnapValue=function(t){this.ct.copyFromFloats(t,t,t),this.l=t},s.prototype.getTransSnapValue=function(){return this.l},s.prototype.setRotSnapValue=function(t){this.v=t},s.prototype.getRotSnapValue=function(){return this.v},s.prototype.setScaleSnapValue=function(t){this.tt=t},s.prototype.getScaleSnapValue=function(){return this.tt},s.prototype.ts=function(t,s,h,n,u){var e=i.Vector3.Dot(n,u);u.scaleToRef(e,this.vt),h.addToRef(this.vt,this.wt);var r=this.wt;this.Zt.getWorldMatrix().invertToRef(this.Xt),i.Vector3.TransformCoordinatesToRef(this.wt,this.Xt,this.wt);var o=0;r.x>=0&&r.y>=0?o=1:r.x<=0&&r.y>=0?o=2:r.x<=0&&r.y<=0?o=3:r.x>=0&&r.y<=0&&(o=4),i.Vector3.TransformCoordinatesToRef(t,this.Xt,this.vt),i.Vector3.TransformCoordinatesToRef(s,this.Xt,this.wt),this.wt.subtractInPlace(this.vt);var f=this.wt,l=f.length(),a="";f.x>=0&&f.y>=0?a=f.x>=f.y?"r":"u":f.x<=0&&f.y>=0?a=-f.x>=f.y?"l":"u":f.x<=0&&f.y<=0?a=-f.x>=-f.y?"l":"d":f.x>=0&&f.y<=0&&(a=f.x>=-f.y?"r":"d");var c=0;return"d"==a?c=1==o||4==o?1:-1:"u"==a?c=1==o||4==o?-1:1:"r"==a?c=2==o||1==o?1:-1:"l"==a&&(c=2==o||1==o?-1:1),c*l},s.prototype.ss=function(t,s,h,n){t.subtractToRef(h,this.vt),s.subtractToRef(h,this.wt),i.Vector3.CrossToRef(this.vt,this.wt,this.Mt);var u=Math.asin(this.Mt.length()/(this.vt.length()*this.wt.length()));return i.Vector3.Dot(this.Mt,n)>0&&(u*=-1),u},s.th=function(t,s){var h=new i.StandardMaterial("",s);return h.emissiveColor=t,h.diffuseColor=i.Color3.Black(),h.specularColor=i.Color3.Black(),h.backFaceCulling=!1,h},s.prototype.Tt=function(t){this.bs=s.th(this.A,t),this.Ls=s.th(this.j,t),this.zs=s.th(this.S,t),this.Bi=s.th(this.O,t),this.ys=s.th(this.T,t)},s.prototype.ci=function(){this.bs.dispose(),this.Ls.dispose(),this.zs.dispose(),this.Bi.dispose(),this.ys.dispose()},s}(),u=function(){function t(t,i){this.lastMax=10,this.acts=new Array,this.last=-1,this.current=-1,this.mesh=t,this.lastMax=i-1,this.add()}return t.prototype.setCapacity=function(t){0!=t?(this.lastMax=t-1,this.last=-1,this.current=-1,this.acts=new Array,this.add()):console.error("capacity should be more than zero")},t.prototype.add=function(t){void 0===t&&(t=null);var i=new e(this.mesh,t);this.current<this.last&&(this.acts.splice(this.current+1),this.last=this.current),this.last==this.lastMax?(this.acts.shift(),this.acts.push(i)):(this.acts.push(i),this.last++,this.current++)},t.prototype.undo=function(){if(this.current>0){var t=this.acts[this.current].getActionType();return this.current--,this.acts[this.current].perform(this.mesh),t}},t.prototype.redo=function(){if(this.current<this.last)return this.current++,this.acts[this.current].perform(this.mesh),this.acts[this.current].getActionType()},t}(),e=function(){function t(t,i){this.ih=t.position.clone(),null==t.rotationQuaternion?(this.sh=null,this.hh=t.rotation.clone()):(this.sh=t.rotationQuaternion.clone(),this.hh=null),this.nh=t.scaling.clone(),this.uh=i}return t.prototype.getActionType=function(){return this.uh},t.prototype.perform=function(t){t.position.copyFrom(this.ih),null==t.rotationQuaternion?null!=this.hh?t.rotation.copyFrom(this.hh):t.rotation.copyFrom(this.sh.toEulerAngles()):null!=this.sh?t.rotationQuaternion.copyFrom(this.sh):t.rotationQuaternion.copyFrom(i.Quaternion.RotationYawPitchRoll(this.hh.y,this.hh.x,this.hh.z)),t.scaling.copyFrom(this.nh)},t}()})(),n})()));
|
|
2
2
|
//# sourceMappingURL=EditControl.js.map
|