TOPVERSE_Official/.output/public/_nuxt/TransformControls.9101e8d5.js

2 lines
20 KiB
JavaScript
Raw Normal View History

2023-05-31 11:02:15 +08:00
import{O as et,V as a,Q as M,a as mt,d as ut,b as Et,E as w,H as m,g as ot,I as st,M as i,J as B,K as I,N as It,R as q,U as Qt,D as Xt,W as Yt,X as At}from"./model.vue.8f6f7b03.js";import"./entry.a42f0781.js";const A=new Yt,f=new a,Q=new a,h=new M,at={X:new a(1,0,0),Y:new a(0,1,0),Z:new a(0,0,1)},$={type:"change"},rt={type:"mouseDown"},lt={type:"mouseUp",mode:null},ht={type:"objectChange"};class Zt extends et{constructor(o,s){super(),s===void 0&&(console.warn('THREE.TransformControls: The second parameter "domElement" is now mandatory.'),s=document),this.visible=!1,this.domElement=s,this.domElement.style.touchAction="none";const n=new wt;this._gizmo=n,this.add(n);const e=new ft;this._plane=e,this.add(e);const l=this;function t(d,_){let H=_;Object.defineProperty(l,d,{get:function(){return H!==void 0?H:_},set:function(Y){H!==Y&&(H=Y,e[d]=Y,n[d]=Y,l.dispatchEvent({type:d+"-changed",value:Y}),l.dispatchEvent($))}}),l[d]=_,e[d]=_,n[d]=_}t("camera",o),t("object",void 0),t("enabled",!0),t("axis",null),t("mode","translate"),t("translationSnap",null),t("rotationSnap",null),t("scaleSnap",null),t("space","world"),t("size",1),t("dragging",!1),t("showX",!0),t("showY",!0),t("showZ",!0);const c=new a,g=new a,X=new M,T=new M,D=new a,j=new M,it=new a,C=new a,v=new a,x=0,P=new a;t("worldPosition",c),t("worldPositionStart",g),t("worldQuaternion",X),t("worldQuaternionStart",T),t("cameraPosition",D),t("cameraQuaternion",j),t("pointStart",it),t("pointEnd",C),t("rotationAxis",v),t("rotationAngle",x),t("eye",P),this._offset=new a,this._startNorm=new a,this._endNorm=new a,this._cameraScale=new a,this._parentPosition=new a,this._parentQuaternion=new M,this._parentQuaternionInv=new M,this._parentScale=new a,this._worldScaleStart=new a,this._worldQuaternionInv=new M,this._worldScale=new a,this._positionStart=new a,this._quaternionStart=new M,this._scaleStart=new a,this._getPointer=Tt.bind(this),this._onPointerDown=zt.bind(this),this._onPointerHover=Ht.bind(this),this._onPointerMove=Dt.bind(this),this._onPointerUp=jt.bind(this),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointermove",this._onPointerHover),this.domElement.addEventListener("pointerup",this._onPointerUp)}updateMatrixWorld(){this.object!==void 0&&(this.object.updateMatrixWorld(),this.object.parent===null?console.error("TransformControls: The attached 3D object must be a part of the scene graph."):this.object.parent.matrixWorld.decompose(this._parentPosition,this._parentQuaternion,this._parentScale),this.object.matrixWorld.decompose(this.worldPosition,this.worldQuaternion,this._worldScale),this._parentQuaternionInv.copy(this._parentQuaternion).invert(),this._worldQuaternionInv.copy(this.worldQuaternion).invert()),this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(this.cameraPosition,this.cameraQuaternion,this._cameraScale),this.eye.copy(this.cameraPosition).sub(this.worldPosition).normalize(),super.updateMatrixWorld(this)}pointerHover(o){if(this.object===void 0||this.dragging===!0)return;A.setFromCamera(o,this.camera);const s=tt(this._gizmo.picker[this.mode],A);s?this.axis=s.object.name:this.axis=null}pointerDown(o){if(!(this.object===void 0||this.dragging===!0||o.button!==0)&&this.axis!==null){A.setFromCamera(o,this.camera);const s=tt(this._plane,A,!0);s&&(this.object.updateMatrixWorld(),this.object.parent.updateMatrixWorld(),this._positionStart.copy(this.object.position),this._quaternionStart.copy(this.object.quaternion),this._scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this._worldScaleStart),this.pointStart.copy(s.point).sub(this.worldPositionStart)),this.dragging=!0,rt.mode=this.mode,this.dispatchEvent(rt)}}pointerMove(o){const s=this.axis,n=this.mode,e=this.object;let l=this.space;if(n==="scale"?l="local":(s==="E"||s==="XYZE"||s==="XYZ")&&(l="world"),e===void 0||s===null||this.dragging===!1||o.button!==-1)return;A.setFromCamera(o,this.camera);const t=tt(this._plane,A,!0);if(t){if(this.pointEnd.copy(t.point).sub(this.worldPositionStart),