diff --git a/examples/app.html b/examples/app.html index fa1dd5d..b24d15c 100644 --- a/examples/app.html +++ b/examples/app.html @@ -40,7 +40,7 @@ - + diff --git a/examples/app.umd.js b/examples/app.umd.js index 958e9bf..9392f1a 100644 --- a/examples/app.umd.js +++ b/examples/app.umd.js @@ -1,5 +1,5 @@ /*! - * app v1.0.1 + * app v1.0.2 * (c) 2018-2021 yuda-lyu(semisphere) * Released under the MIT License. */ @@ -22,10 +22,10 @@ var rd,id,od=9e15,sd=1e9,ad="0123456789abcdef",ld="2.302585092994045684017991454 * https://github.com/yomotsu/camera-controls * (c) 2017 @yomotsu * Released under the MIT License. - */const _M=1,xM=2,bM=4,SM=Object.freeze({NONE:0,ROTATE:1,TRUCK:2,OFFSET:4,DOLLY:8,ZOOM:16,TOUCH_ROTATE:32,TOUCH_TRUCK:64,TOUCH_OFFSET:128,TOUCH_DOLLY:256,TOUCH_ZOOM:512,TOUCH_DOLLY_TRUCK:1024,TOUCH_DOLLY_OFFSET:2048,TOUCH_DOLLY_ROTATE:4096,TOUCH_ZOOM_TRUCK:8192,TOUCH_ZOOM_OFFSET:16384,TOUCH_ZOOM_ROTATE:32768}),wM=0,CM=1,AM=-1;function MM(e){return e.isPerspectiveCamera}function TM(e){return e.isOrthographicCamera}const EM=2*Math.PI,LM=Math.PI/2,RM=1e-5,PM=Math.PI/180;function kM(e,t,n){return Math.max(t,Math.min(n,e))}function IM(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:RM;return Math.abs(e)2&&void 0!==arguments[2]?arguments[2]:RM)}function BM(e,t){return Math.round(e/t)*t}function DM(e){return isFinite(e)?e:e<0?-Number.MAX_VALUE:Number.MAX_VALUE}function UM(e){return Math.abs(e)4&&void 0!==arguments[4]?arguments[4]:1/0,o=arguments.length>5?arguments[5]:void 0;const s=2/(r=Math.max(1e-4,r)),a=s*o,l=1/(1+a+.48*a*a+.235*a*a*a);let c=e-t;const u=t,d=i*r;c=kM(c,-d,d),t=e-c;const h=(n.value+s*c)*o;n.value=(n.value-s*h)*l;let p=t+(c+h)*l;return u-e>0==p>u&&(p=u,n.value=(p-u)/o),p}function NM(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0,o=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0;const a=2/(r=Math.max(1e-4,r)),l=a*o,c=1/(1+l+.48*l*l+.235*l*l*l);let u=t.x,d=t.y,h=t.z,p=e.x-u,f=e.y-d,m=e.z-h;const g=u,v=d,y=h,_=i*r,x=p*p+f*f+m*m;if(x>_*_){const e=Math.sqrt(x);p=p/e*_,f=f/e*_,m=m/e*_}u=e.x-p,d=e.y-f,h=e.z-m;const b=(n.x+a*p)*o,S=(n.y+a*f)*o,w=(n.z+a*m)*o;n.x=(n.x-a*b)*c,n.y=(n.y-a*S)*c,n.z=(n.z-a*w)*c,s.x=u+(p+b)*c,s.y=d+(f+S)*c,s.z=h+(m+w)*c;const C=g-e.x,A=v-e.y,M=y-e.z;return C*(s.x-g)+A*(s.y-v)+M*(s.z-y)>0&&(s.x=g,s.y=v,s.z=y,n.x=(s.x-g)/o,n.y=(s.y-v)/o,n.z=(s.z-y)/o),s}function zM(e,t){t.set(0,0),e.forEach((e=>{t.x+=e.clientX,t.y+=e.clientY})),t.x/=e.length,t.y/=e.length}function HM(e,t){return!!TM(e)&&(console.warn(`${t} is not supported in OrthographicCamera`),!0)}class WM{constructor(){this._listeners={}}addEventListener(e,t){const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}removeAllEventListeners(e){e?Array.isArray(this._listeners[e])&&(this._listeners[e].length=0):this._listeners={}}dispatchEvent(e){const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,r=n.length;t{},this._enabled=!0,this._state=SM.NONE,this._viewport=null,this._changedDolly=0,this._changedZoom=0,this._hasRested=!0,this._boundaryEnclosesCamera=!1,this._needsUpdate=!0,this._updatedLastTime=!1,this._elementRect=new DOMRect,this._isDragging=!1,this._dragNeedsUpdate=!0,this._activePointers=[],this._lockedPointer=null,this._interactiveArea=new DOMRect(0,0,1,1),this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._isUserControllingOffset=!1,this._isUserControllingZoom=!1,this._lastDollyDirection=wM,this._thetaVelocity={value:0},this._phiVelocity={value:0},this._radiusVelocity={value:0},this._targetVelocity=new XM.Vector3,this._focalOffsetVelocity=new XM.Vector3,this._zoomVelocity={value:0},this._truckInternal=(e,t,n)=>{let r,i;if(MM(this._camera)){const n=KM.copy(this._camera.position).sub(this._target),o=this._camera.getEffectiveFOV()*PM,s=n.length()*Math.tan(.5*o);r=this.truckSpeed*e*s/this._elementRect.height,i=this.truckSpeed*t*s/this._elementRect.height}else{if(!TM(this._camera))return;{const n=this._camera;r=e*(n.right-n.left)/n.zoom/this._elementRect.width,i=t*(n.top-n.bottom)/n.zoom/this._elementRect.height}}this.verticalDragToForward?(n?this.setFocalOffset(this._focalOffsetEnd.x+r,this._focalOffsetEnd.y,this._focalOffsetEnd.z,!0):this.truck(r,0,!0),this.forward(-i,!0)):n?this.setFocalOffset(this._focalOffsetEnd.x+r,this._focalOffsetEnd.y+i,this._focalOffsetEnd.z,!0):this.truck(r,i,!0)},this._rotateInternal=(e,t)=>{const n=EM*this.azimuthRotateSpeed*e/this._elementRect.height,r=EM*this.polarRotateSpeed*t/this._elementRect.height;this.rotate(n,r,!0)},this._dollyInternal=(e,t,n)=>{const r=Math.pow(.95,-e*this.dollySpeed),i=this._sphericalEnd.radius,o=this._sphericalEnd.radius*r,s=kM(o,this.minDistance,this.maxDistance),a=s-o;this.infinityDolly&&this.dollyToCursor?this._dollyToNoClamp(o,!0):this.infinityDolly&&!this.dollyToCursor?(this.dollyInFixed(a,!0),this._dollyToNoClamp(s,!0)):this._dollyToNoClamp(s,!0),this.dollyToCursor&&(this._changedDolly+=(this.infinityDolly?o:s)-i,this._dollyControlCoord.set(t,n)),this._lastDollyDirection=Math.sign(-e)},this._zoomInternal=(e,t,n)=>{const r=Math.pow(.95,e*this.dollySpeed),i=this._zoom,o=this._zoom*r;this.zoomTo(o,!0),this.dollyToCursor&&(this._changedZoom+=o-i,this._dollyControlCoord.set(t,n))},void 0===XM&&console.error("camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information."),this._camera=e,this._yAxisUpSpace=(new XM.Quaternion).setFromUnitVectors(this._camera.up,qM),this._yAxisUpSpaceInverse=this._yAxisUpSpace.clone().invert(),this._state=SM.NONE,this._target=new XM.Vector3,this._targetEnd=this._target.clone(),this._focalOffset=new XM.Vector3,this._focalOffsetEnd=this._focalOffset.clone(),this._spherical=(new XM.Spherical).setFromVector3(KM.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)),this._sphericalEnd=this._spherical.clone(),this._lastDistance=this._spherical.radius,this._zoom=this._camera.zoom,this._zoomEnd=this._zoom,this._lastZoom=this._zoom,this._nearPlaneCorners=[new XM.Vector3,new XM.Vector3,new XM.Vector3,new XM.Vector3],this._updateNearPlaneCorners(),this._boundary=new XM.Box3(new XM.Vector3(-1/0,-1/0,-1/0),new XM.Vector3(1/0,1/0,1/0)),this._cameraUp0=this._camera.up.clone(),this._target0=this._target.clone(),this._position0=this._camera.position.clone(),this._zoom0=this._zoom,this._focalOffset0=this._focalOffset.clone(),this._dollyControlCoord=new XM.Vector2,this.mouseButtons={left:SM.ROTATE,middle:SM.DOLLY,right:SM.TRUCK,wheel:MM(this._camera)?SM.DOLLY:TM(this._camera)?SM.ZOOM:SM.NONE},this.touches={one:SM.TOUCH_ROTATE,two:MM(this._camera)?SM.TOUCH_DOLLY_TRUCK:TM(this._camera)?SM.TOUCH_ZOOM_TRUCK:SM.NONE,three:SM.TOUCH_TRUCK};const n=new XM.Vector2,r=new XM.Vector2,i=new XM.Vector2,o=e=>{if(!this._enabled||!this._domElement)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,r=e.clientY/t.height;if(nthis._interactiveArea.right||rthis._interactiveArea.bottom)return}const t="mouse"!==e.pointerType?null:(e.buttons&_M)===_M?_M:(e.buttons&bM)===bM?bM:(e.buttons&xM)===xM?xM:null;if(null!==t){const e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}if((e.buttons&_M)===_M&&this._lockedPointer)return;const n={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:t};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.addEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",c),this._isDragging=!0,f(e)},s=e=>{if(!this._enabled||!this._domElement||this._lockedPointer)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,r=e.clientY/t.height;if(nthis._interactiveArea.right||rthis._interactiveArea.bottom)return}const t=(e.buttons&_M)===_M?_M:(e.buttons&bM)===bM?bM:(e.buttons&xM)===xM?xM:null;if(null!==t){const e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}const n={pointerId:1,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:(e.buttons&_M)===_M?_M:(e.buttons&bM)===_M?bM:(e.buttons&xM)===_M?xM:null};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("mouseup",u),this._domElement.ownerDocument.addEventListener("mousemove",l),this._domElement.ownerDocument.addEventListener("mouseup",u),this._isDragging=!0,f(e)},a=e=>{e.cancelable&&e.preventDefault();const t=e.pointerId,n=this._lockedPointer||this._findPointerById(t);if(n){if(n.clientX=e.clientX,n.clientY=e.clientY,n.deltaX=e.movementX,n.deltaY=e.movementY,this._state=0,"touch"===e.pointerType)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else(!this._isDragging&&this._lockedPointer||this._isDragging&&(e.buttons&_M)===_M)&&(this._state=this._state|this.mouseButtons.left),this._isDragging&&(e.buttons&bM)===bM&&(this._state=this._state|this.mouseButtons.middle),this._isDragging&&(e.buttons&xM)===xM&&(this._state=this._state|this.mouseButtons.right);m()}},l=e=>{const t=this._lockedPointer||this._findPointerById(1);t&&(t.clientX=e.clientX,t.clientY=e.clientY,t.deltaX=e.movementX,t.deltaY=e.movementY,this._state=0,(this._lockedPointer||(e.buttons&_M)===_M)&&(this._state=this._state|this.mouseButtons.left),(e.buttons&bM)===bM&&(this._state=this._state|this.mouseButtons.middle),(e.buttons&xM)===xM&&(this._state=this._state|this.mouseButtons.right),m())},c=e=>{const t=this._findPointerById(e.pointerId);if(!t||t!==this._lockedPointer){if(t&&this._disposePointer(t),"touch"===e.pointerType)switch(this._activePointers.length){case 0:this._state=SM.NONE;break;case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else this._state=SM.NONE;g()}},u=()=>{const e=this._findPointerById(1);e&&e===this._lockedPointer||(e&&this._disposePointer(e),this._state=SM.NONE,g())};let d=-1;const h=e=>{if(!this._domElement)return;if(!this._enabled||this.mouseButtons.wheel===SM.NONE)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,r=e.clientY/t.height;if(nthis._interactiveArea.right||rthis._interactiveArea.bottom)return}if(e.preventDefault(),this.dollyToCursor||this.mouseButtons.wheel===SM.ROTATE||this.mouseButtons.wheel===SM.TRUCK){const e=performance.now();d-e<1e3&&this._getClientRect(this._elementRect),d=e}const t=GM?-1:-3,n=1===e.deltaMode?e.deltaY/t:e.deltaY/(10*t),r=this.dollyToCursor?(e.clientX-this._elementRect.x)/this._elementRect.width*2-1:0,i=this.dollyToCursor?(e.clientY-this._elementRect.y)/this._elementRect.height*-2+1:0;switch(this.mouseButtons.wheel){case SM.ROTATE:this._rotateInternal(e.deltaX,e.deltaY),this._isUserControllingRotate=!0;break;case SM.TRUCK:this._truckInternal(e.deltaX,e.deltaY,!1),this._isUserControllingTruck=!0;break;case SM.OFFSET:this._truckInternal(e.deltaX,e.deltaY,!0),this._isUserControllingOffset=!0;break;case SM.DOLLY:this._dollyInternal(-n,r,i),this._isUserControllingDolly=!0;break;case SM.ZOOM:this._zoomInternal(-n,r,i),this._isUserControllingZoom=!0}this.dispatchEvent({type:"control"})},p=e=>{if(this._domElement&&this._enabled){if(this.mouseButtons.right===gT.ACTION.NONE){const t=e instanceof PointerEvent?e.pointerId:(MouseEvent,0),n=this._findPointerById(t);return n&&this._disposePointer(n),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mousemove",l),void this._domElement.ownerDocument.removeEventListener("mouseup",u)}e.preventDefault()}},f=e=>{if(!this._enabled)return;zM(this._activePointers,JM),this._getClientRect(this._elementRect),n.copy(JM),r.copy(JM);if(this._activePointers.length>=2){const e=JM.x-this._activePointers[1].clientX,t=JM.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t);i.set(0,n);const o=.5*(this._activePointers[0].clientX+this._activePointers[1].clientX),s=.5*(this._activePointers[0].clientY+this._activePointers[1].clientY);r.set(o,s)}if(this._state=0,e)if("pointerType"in e&&"touch"===e.pointerType)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else this._lockedPointer||(e.buttons&_M)!==_M||(this._state=this._state|this.mouseButtons.left),(e.buttons&bM)===bM&&(this._state=this._state|this.mouseButtons.middle),(e.buttons&xM)===xM&&(this._state=this._state|this.mouseButtons.right);else this._lockedPointer&&(this._state=this._state|this.mouseButtons.left);(this._state&SM.ROTATE)!==SM.ROTATE&&(this._state&SM.TOUCH_ROTATE)!==SM.TOUCH_ROTATE&&(this._state&SM.TOUCH_DOLLY_ROTATE)!==SM.TOUCH_DOLLY_ROTATE&&(this._state&SM.TOUCH_ZOOM_ROTATE)!==SM.TOUCH_ZOOM_ROTATE||(this._sphericalEnd.theta=this._spherical.theta,this._sphericalEnd.phi=this._spherical.phi,this._thetaVelocity.value=0,this._phiVelocity.value=0),(this._state&SM.TRUCK)!==SM.TRUCK&&(this._state&SM.TOUCH_TRUCK)!==SM.TOUCH_TRUCK&&(this._state&SM.TOUCH_DOLLY_TRUCK)!==SM.TOUCH_DOLLY_TRUCK&&(this._state&SM.TOUCH_ZOOM_TRUCK)!==SM.TOUCH_ZOOM_TRUCK||(this._targetEnd.copy(this._target),this._targetVelocity.set(0,0,0)),(this._state&SM.DOLLY)!==SM.DOLLY&&(this._state&SM.TOUCH_DOLLY)!==SM.TOUCH_DOLLY&&(this._state&SM.TOUCH_DOLLY_TRUCK)!==SM.TOUCH_DOLLY_TRUCK&&(this._state&SM.TOUCH_DOLLY_OFFSET)!==SM.TOUCH_DOLLY_OFFSET&&(this._state&SM.TOUCH_DOLLY_ROTATE)!==SM.TOUCH_DOLLY_ROTATE||(this._sphericalEnd.radius=this._spherical.radius,this._radiusVelocity.value=0),(this._state&SM.ZOOM)!==SM.ZOOM&&(this._state&SM.TOUCH_ZOOM)!==SM.TOUCH_ZOOM&&(this._state&SM.TOUCH_ZOOM_TRUCK)!==SM.TOUCH_ZOOM_TRUCK&&(this._state&SM.TOUCH_ZOOM_OFFSET)!==SM.TOUCH_ZOOM_OFFSET&&(this._state&SM.TOUCH_ZOOM_ROTATE)!==SM.TOUCH_ZOOM_ROTATE||(this._zoomEnd=this._zoom,this._zoomVelocity.value=0),(this._state&SM.OFFSET)!==SM.OFFSET&&(this._state&SM.TOUCH_OFFSET)!==SM.TOUCH_OFFSET&&(this._state&SM.TOUCH_DOLLY_OFFSET)!==SM.TOUCH_DOLLY_OFFSET&&(this._state&SM.TOUCH_ZOOM_OFFSET)!==SM.TOUCH_ZOOM_OFFSET||(this._focalOffsetEnd.copy(this._focalOffset),this._focalOffsetVelocity.set(0,0,0)),this.dispatchEvent({type:"controlstart"})},m=()=>{if(!this._enabled||!this._dragNeedsUpdate)return;this._dragNeedsUpdate=!1,zM(this._activePointers,JM);const e=this._domElement&&document.pointerLockElement===this._domElement?this._lockedPointer||this._activePointers[0]:null,t=e?-e.deltaX:r.x-JM.x,o=e?-e.deltaY:r.y-JM.y;if(r.copy(JM),(this._state&SM.ROTATE)!==SM.ROTATE&&(this._state&SM.TOUCH_ROTATE)!==SM.TOUCH_ROTATE&&(this._state&SM.TOUCH_DOLLY_ROTATE)!==SM.TOUCH_DOLLY_ROTATE&&(this._state&SM.TOUCH_ZOOM_ROTATE)!==SM.TOUCH_ZOOM_ROTATE||(this._rotateInternal(t,o),this._isUserControllingRotate=!0),(this._state&SM.DOLLY)===SM.DOLLY||(this._state&SM.ZOOM)===SM.ZOOM){const e=this.dollyToCursor?(n.x-this._elementRect.x)/this._elementRect.width*2-1:0,t=this.dollyToCursor?(n.y-this._elementRect.y)/this._elementRect.height*-2+1:0,r=this.dollyDragInverted?-1:1;(this._state&SM.DOLLY)===SM.DOLLY?(this._dollyInternal(r*o*VM,e,t),this._isUserControllingDolly=!0):(this._zoomInternal(r*o*VM,e,t),this._isUserControllingZoom=!0)}if((this._state&SM.TOUCH_DOLLY)===SM.TOUCH_DOLLY||(this._state&SM.TOUCH_ZOOM)===SM.TOUCH_ZOOM||(this._state&SM.TOUCH_DOLLY_TRUCK)===SM.TOUCH_DOLLY_TRUCK||(this._state&SM.TOUCH_ZOOM_TRUCK)===SM.TOUCH_ZOOM_TRUCK||(this._state&SM.TOUCH_DOLLY_OFFSET)===SM.TOUCH_DOLLY_OFFSET||(this._state&SM.TOUCH_ZOOM_OFFSET)===SM.TOUCH_ZOOM_OFFSET||(this._state&SM.TOUCH_DOLLY_ROTATE)===SM.TOUCH_DOLLY_ROTATE||(this._state&SM.TOUCH_ZOOM_ROTATE)===SM.TOUCH_ZOOM_ROTATE){const e=JM.x-this._activePointers[1].clientX,t=JM.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t),o=i.y-n;i.set(0,n);const s=this.dollyToCursor?(r.x-this._elementRect.x)/this._elementRect.width*2-1:0,a=this.dollyToCursor?(r.y-this._elementRect.y)/this._elementRect.height*-2+1:0;(this._state&SM.TOUCH_DOLLY)===SM.TOUCH_DOLLY||(this._state&SM.TOUCH_DOLLY_ROTATE)===SM.TOUCH_DOLLY_ROTATE||(this._state&SM.TOUCH_DOLLY_TRUCK)===SM.TOUCH_DOLLY_TRUCK||(this._state&SM.TOUCH_DOLLY_OFFSET)===SM.TOUCH_DOLLY_OFFSET?(this._dollyInternal(o*VM,s,a),this._isUserControllingDolly=!0):(this._zoomInternal(o*VM,s,a),this._isUserControllingZoom=!0)}(this._state&SM.TRUCK)!==SM.TRUCK&&(this._state&SM.TOUCH_TRUCK)!==SM.TOUCH_TRUCK&&(this._state&SM.TOUCH_DOLLY_TRUCK)!==SM.TOUCH_DOLLY_TRUCK&&(this._state&SM.TOUCH_ZOOM_TRUCK)!==SM.TOUCH_ZOOM_TRUCK||(this._truckInternal(t,o,!1),this._isUserControllingTruck=!0),(this._state&SM.OFFSET)!==SM.OFFSET&&(this._state&SM.TOUCH_OFFSET)!==SM.TOUCH_OFFSET&&(this._state&SM.TOUCH_DOLLY_OFFSET)!==SM.TOUCH_DOLLY_OFFSET&&(this._state&SM.TOUCH_ZOOM_OFFSET)!==SM.TOUCH_ZOOM_OFFSET||(this._truckInternal(t,o,!0),this._isUserControllingOffset=!0),this.dispatchEvent({type:"control"})},g=()=>{zM(this._activePointers,JM),r.copy(JM),this._dragNeedsUpdate=!1,(0===this._activePointers.length||1===this._activePointers.length&&this._activePointers[0]===this._lockedPointer)&&(this._isDragging=!1),0===this._activePointers.length&&this._domElement&&(this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mouseup",u),this.dispatchEvent({type:"controlend"}))};this.lockPointer=()=>{this._enabled&&this._domElement&&(this.cancel(),this._lockedPointer={pointerId:-1,clientX:0,clientY:0,deltaX:0,deltaY:0,mouseButton:null},this._activePointers.push(this._lockedPointer),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.requestPointerLock(),this._domElement.ownerDocument.addEventListener("pointerlockchange",v),this._domElement.ownerDocument.addEventListener("pointerlockerror",y),this._domElement.ownerDocument.addEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",c),f())},this.unlockPointer=()=>{null!==this._lockedPointer&&(this._disposePointer(this._lockedPointer),this._lockedPointer=null),document.exitPointerLock(),this.cancel(),this._domElement&&(this._domElement.ownerDocument.removeEventListener("pointerlockchange",v),this._domElement.ownerDocument.removeEventListener("pointerlockerror",y))};const v=()=>{this._domElement&&this._domElement.ownerDocument.pointerLockElement===this._domElement||this.unlockPointer()},y=()=>{this.unlockPointer()};this._addAllEventListeners=e=>{this._domElement=e,this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none",this._domElement.addEventListener("pointerdown",o),$M&&this._domElement.addEventListener("mousedown",s),this._domElement.addEventListener("pointercancel",c),this._domElement.addEventListener("wheel",h,{passive:!1}),this._domElement.addEventListener("contextmenu",p)},this._removeAllEventListeners=()=>{this._domElement&&(this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect="",this._domElement.removeEventListener("pointerdown",o),this._domElement.removeEventListener("mousedown",s),this._domElement.removeEventListener("pointercancel",c),this._domElement.removeEventListener("wheel",h,{passive:!1}),this._domElement.removeEventListener("contextmenu",p),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mouseup",u),this._domElement.ownerDocument.removeEventListener("pointerlockchange",v),this._domElement.ownerDocument.removeEventListener("pointerlockerror",y))},this.cancel=()=>{this._state!==SM.NONE&&(this._state=SM.NONE,this._activePointers.length=0,g())},t&&this.connect(t),this.update(0)}get camera(){return this._camera}set camera(e){this._camera=e,this.updateCameraUp(),this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._domElement&&(e?(this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none"):(this.cancel(),this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect=""))}get active(){return!this._hasRested}get currentAction(){return this._state}get distance(){return this._spherical.radius}set distance(e){this._spherical.radius===e&&this._sphericalEnd.radius===e||(this._spherical.radius=e,this._sphericalEnd.radius=e,this._needsUpdate=!0)}get azimuthAngle(){return this._spherical.theta}set azimuthAngle(e){this._spherical.theta===e&&this._sphericalEnd.theta===e||(this._spherical.theta=e,this._sphericalEnd.theta=e,this._needsUpdate=!0)}get polarAngle(){return this._spherical.phi}set polarAngle(e){this._spherical.phi===e&&this._sphericalEnd.phi===e||(this._spherical.phi=e,this._sphericalEnd.phi=e,this._needsUpdate=!0)}get boundaryEnclosesCamera(){return this._boundaryEnclosesCamera}set boundaryEnclosesCamera(e){this._boundaryEnclosesCamera=e,this._needsUpdate=!0}set interactiveArea(e){this._interactiveArea.width=kM(e.width,0,1),this._interactiveArea.height=kM(e.height,0,1),this._interactiveArea.x=kM(e.x,0,1-this._interactiveArea.width),this._interactiveArea.y=kM(e.y,0,1-this._interactiveArea.height)}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}rotate(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.rotateTo(this._sphericalEnd.theta+e,this._sphericalEnd.phi+t,n)}rotateAzimuthTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.rotateTo(e,this._sphericalEnd.phi,t)}rotatePolarTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.rotateTo(this._sphericalEnd.theta,e,t)}rotateTo(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._isUserControllingRotate=!1;const r=kM(e,this.minAzimuthAngle,this.maxAzimuthAngle),i=kM(t,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=r,this._sphericalEnd.phi=i,this._sphericalEnd.makeSafe(),this._needsUpdate=!0,n||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi);const o=!n||OM(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&OM(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold);return this._createOnRestPromise(o)}dolly(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.dollyTo(this._sphericalEnd.radius-e,t)}dollyTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._isUserControllingDolly=!1,this._lastDollyDirection=wM,this._changedDolly=0,this._dollyToNoClamp(kM(e,this.minDistance,this.maxDistance),t)}_dollyToNoClamp(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this._sphericalEnd.radius;if(this.colliderMeshes.length>=1){const t=this._collisionTest(),r=OM(t,this._spherical.radius);if(!(n>e)&&r)return Promise.resolve();this._sphericalEnd.radius=Math.min(e,t)}else this._sphericalEnd.radius=e;this._needsUpdate=!0,t||(this._spherical.radius=this._sphericalEnd.radius);const r=!t||OM(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(r)}dollyInFixed(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._targetEnd.add(this._getCameraDirection(tT).multiplyScalar(e)),t||this._target.copy(this._targetEnd);const n=!t||OM(this._target.x,this._targetEnd.x,this.restThreshold)&&OM(this._target.y,this._targetEnd.y,this.restThreshold)&&OM(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(n)}zoom(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.zoomTo(this._zoomEnd+e,t)}zoomTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._isUserControllingZoom=!1,this._zoomEnd=kM(e,this.minZoom,this.maxZoom),this._needsUpdate=!0,t||(this._zoom=this._zoomEnd);const n=!t||OM(this._zoom,this._zoomEnd,this.restThreshold);return this._changedZoom=0,this._createOnRestPromise(n)}pan(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return console.warn("`pan` has been renamed to `truck`"),this.truck(e,t,n)}truck(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._camera.updateMatrix(),nT.setFromMatrixColumn(this._camera.matrix,0),rT.setFromMatrixColumn(this._camera.matrix,1),nT.multiplyScalar(e),rT.multiplyScalar(-t);const r=KM.copy(nT).add(rT),i=QM.copy(this._targetEnd).add(r);return this.moveTo(i.x,i.y,i.z,n)}forward(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];KM.setFromMatrixColumn(this._camera.matrix,0),KM.crossVectors(this._camera.up,KM),KM.multiplyScalar(e);const n=QM.copy(this._targetEnd).add(KM);return this.moveTo(n.x,n.y,n.z,t)}elevate(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return KM.copy(this._camera.up).multiplyScalar(e),this.moveTo(this._targetEnd.x+KM.x,this._targetEnd.y+KM.y,this._targetEnd.z+KM.z,t)}moveTo(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this._isUserControllingTruck=!1;const i=KM.set(e,t,n).sub(this._targetEnd);this._encloseToBoundary(this._targetEnd,i,this.boundaryFriction),this._needsUpdate=!0,r||this._target.copy(this._targetEnd);const o=!r||OM(this._target.x,this._targetEnd.x,this.restThreshold)&&OM(this._target.y,this._targetEnd.y,this.restThreshold)&&OM(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(o)}lookInDirectionOf(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=KM.set(e,t,n).sub(this._targetEnd).normalize().multiplyScalar(-this._sphericalEnd.radius);return this.setPosition(i.x,i.y,i.z,r)}fitToBox(e,t){let{cover:n=!1,paddingLeft:r=0,paddingRight:i=0,paddingBottom:o=0,paddingTop:s=0}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=[],l=e.isBox3?cT.copy(e):cT.setFromObject(e);l.isEmpty()&&(console.warn("camera-controls: fitTo() cannot be used with an empty box. Aborting"),Promise.resolve());const c=BM(this._sphericalEnd.theta,LM),u=BM(this._sphericalEnd.phi,LM);a.push(this.rotateTo(c,u,t));const d=KM.setFromSpherical(this._sphericalEnd).normalize(),h=hT.setFromUnitVectors(d,ZM),p=OM(Math.abs(d.y),1);p&&h.multiply(pT.setFromAxisAngle(qM,c)),h.multiply(this._yAxisUpSpaceInverse);const f=uT.makeEmpty();QM.copy(l.min).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.min).setX(l.max.x).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.min).setY(l.max.y).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.max).setZ(l.min.z).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.min).setZ(l.max.z).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.max).setY(l.min.y).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.max).setX(l.min.x).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.max).applyQuaternion(h),f.expandByPoint(QM),f.min.x-=r,f.min.y-=o,f.max.x+=i,f.max.y+=s,h.setFromUnitVectors(ZM,d),p&&h.premultiply(pT.invert()),h.premultiply(this._yAxisUpSpace);const m=f.getSize(KM),g=f.getCenter(QM).applyQuaternion(h);if(MM(this._camera)){const e=this.getDistanceToFitBox(m.x,m.y,m.z,n);a.push(this.moveTo(g.x,g.y,g.z,t)),a.push(this.dollyTo(e,t)),a.push(this.setFocalOffset(0,0,0,t))}else if(TM(this._camera)){const e=this._camera,r=e.right-e.left,i=e.top-e.bottom,o=n?Math.max(r/m.x,i/m.y):Math.min(r/m.x,i/m.y);a.push(this.moveTo(g.x,g.y,g.z,t)),a.push(this.zoomTo(o,t)),a.push(this.setFocalOffset(0,0,0,t))}return Promise.all(a)}fitToSphere(e,t){const n=[],r=e instanceof XM.Sphere?dT.copy(e):gT.createBoundingSphere(e,dT);if(n.push(this.moveTo(r.center.x,r.center.y,r.center.z,t)),MM(this._camera)){const e=this.getDistanceToFitSphere(r.radius);n.push(this.dollyTo(e,t))}else if(TM(this._camera)){const e=this._camera.right-this._camera.left,i=this._camera.top-this._camera.bottom,o=2*r.radius,s=Math.min(e/o,i/o);n.push(this.zoomTo(s,t))}return n.push(this.setFocalOffset(0,0,0,t)),Promise.all(n)}setLookAt(e,t,n,r,i,o){let s=arguments.length>6&&void 0!==arguments[6]&&arguments[6];this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=wM,this._changedDolly=0;const a=QM.set(r,i,o),l=KM.set(e,t,n);this._targetEnd.copy(a),this._sphericalEnd.setFromVector3(l.sub(a).applyQuaternion(this._yAxisUpSpace)),this.normalizeRotations(),this._needsUpdate=!0,s||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const c=!s||OM(this._target.x,this._targetEnd.x,this.restThreshold)&&OM(this._target.y,this._targetEnd.y,this.restThreshold)&&OM(this._target.z,this._targetEnd.z,this.restThreshold)&&OM(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&OM(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&OM(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(c)}lerpLookAt(e,t,n,r,i,o,s,a,l,c,u,d,h){let p=arguments.length>13&&void 0!==arguments[13]&&arguments[13];this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=wM,this._changedDolly=0;const f=KM.set(r,i,o),m=QM.set(e,t,n);aT.setFromVector3(m.sub(f).applyQuaternion(this._yAxisUpSpace));const g=eT.set(c,u,d),v=QM.set(s,a,l);lT.setFromVector3(v.sub(g).applyQuaternion(this._yAxisUpSpace)),this._targetEnd.copy(f.lerp(g,h));const y=lT.theta-aT.theta,_=lT.phi-aT.phi,x=lT.radius-aT.radius;this._sphericalEnd.set(aT.radius+x*h,aT.phi+_*h,aT.theta+y*h),this.normalizeRotations(),this._needsUpdate=!0,p||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const b=!p||OM(this._target.x,this._targetEnd.x,this.restThreshold)&&OM(this._target.y,this._targetEnd.y,this.restThreshold)&&OM(this._target.z,this._targetEnd.z,this.restThreshold)&&OM(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&OM(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&OM(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(b)}setPosition(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return this.setLookAt(e,t,n,this._targetEnd.x,this._targetEnd.y,this._targetEnd.z,r)}setTarget(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=this.getPosition(KM),o=this.setLookAt(i.x,i.y,i.z,e,t,n,r);return this._sphericalEnd.phi=kM(this._sphericalEnd.phi,this.minPolarAngle,this.maxPolarAngle),o}setFocalOffset(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this._isUserControllingOffset=!1,this._focalOffsetEnd.set(e,t,n),this._needsUpdate=!0,r||this._focalOffset.copy(this._focalOffsetEnd);const i=!r||OM(this._focalOffset.x,this._focalOffsetEnd.x,this.restThreshold)&&OM(this._focalOffset.y,this._focalOffsetEnd.y,this.restThreshold)&&OM(this._focalOffset.z,this._focalOffsetEnd.z,this.restThreshold);return this._createOnRestPromise(i)}setOrbitPoint(e,t,n){this._camera.updateMatrixWorld(),nT.setFromMatrixColumn(this._camera.matrixWorldInverse,0),rT.setFromMatrixColumn(this._camera.matrixWorldInverse,1),iT.setFromMatrixColumn(this._camera.matrixWorldInverse,2);const r=KM.set(e,t,n),i=r.distanceTo(this._camera.position),o=r.sub(this._camera.position);nT.multiplyScalar(o.x),rT.multiplyScalar(o.y),iT.multiplyScalar(o.z),KM.copy(nT).add(rT).add(iT),KM.z=KM.z+i,this.dollyTo(i,!1),this.setFocalOffset(-KM.x,KM.y,-KM.z,!1),this.moveTo(e,t,n,!1)}setBoundary(e){if(!e)return this._boundary.min.set(-1/0,-1/0,-1/0),this._boundary.max.set(1/0,1/0,1/0),void(this._needsUpdate=!0);this._boundary.copy(e),this._boundary.clampPoint(this._targetEnd,this._targetEnd),this._needsUpdate=!0}setViewport(e,t,n,r){null!==e?(this._viewport=this._viewport||new XM.Vector4,"number"==typeof e?this._viewport.set(e,t,n,r):this._viewport.copy(e)):this._viewport=null}getDistanceToFitBox(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(HM(this._camera,"getDistanceToFitBox"))return this._spherical.radius;const i=e/t,o=this._camera.getEffectiveFOV()*PM,s=this._camera.aspect;return.5*((r?i>s:i1&&void 0!==arguments[1])||arguments[1];return(e&&e.isVector3?e:new XM.Vector3).copy(t?this._targetEnd:this._target)}getPosition(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(e&&e.isVector3?e:new XM.Vector3).setFromSpherical(t?this._sphericalEnd:this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(t?this._targetEnd:this._target)}getSpherical(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(e&&e instanceof XM.Spherical?e:new XM.Spherical).copy(t?this._sphericalEnd:this._spherical)}getFocalOffset(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(e&&e.isVector3?e:new XM.Vector3).copy(t?this._focalOffsetEnd:this._focalOffset)}normalizeRotations(){this._sphericalEnd.theta=this._sphericalEnd.theta%EM,this._sphericalEnd.theta<0&&(this._sphericalEnd.theta+=EM),this._spherical.theta+=EM*Math.round((this._sphericalEnd.theta-this._spherical.theta)/EM)}reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!OM(this._camera.up.x,this._cameraUp0.x)||!OM(this._camera.up.y,this._cameraUp0.y)||!OM(this._camera.up.z,this._cameraUp0.z)){this._camera.up.copy(this._cameraUp0);const e=this.getPosition(KM);this.updateCameraUp(),this.setPosition(e.x,e.y,e.z)}const t=[this.setLookAt(this._position0.x,this._position0.y,this._position0.z,this._target0.x,this._target0.y,this._target0.z,e),this.setFocalOffset(this._focalOffset0.x,this._focalOffset0.y,this._focalOffset0.z,e),this.zoomTo(this._zoom0,e)];return Promise.all(t)}saveState(){this._cameraUp0.copy(this._camera.up),this.getTarget(this._target0),this.getPosition(this._position0),this._zoom0=this._zoom,this._focalOffset0.copy(this._focalOffset)}updateCameraUp(){this._yAxisUpSpace.setFromUnitVectors(this._camera.up,qM),this._yAxisUpSpaceInverse.copy(this._yAxisUpSpace).invert()}applyCameraUp(){const e=KM.subVectors(this._target,this._camera.position).normalize(),t=QM.crossVectors(e,this._camera.up);this._camera.up.crossVectors(t,e).normalize(),this._camera.updateMatrixWorld();const n=this.getPosition(KM);this.updateCameraUp(),this.setPosition(n.x,n.y,n.z)}update(e){const t=this._sphericalEnd.theta-this._spherical.theta,n=this._sphericalEnd.phi-this._spherical.phi,r=this._sphericalEnd.radius-this._spherical.radius,i=oT.subVectors(this._targetEnd,this._target),o=sT.subVectors(this._focalOffsetEnd,this._focalOffset),s=this._zoomEnd-this._zoom;if(IM(t))this._thetaVelocity.value=0,this._spherical.theta=this._sphericalEnd.theta;else{const t=this._isUserControllingRotate?this.draggingSmoothTime:this.smoothTime;this._spherical.theta=FM(this._spherical.theta,this._sphericalEnd.theta,this._thetaVelocity,t,1/0,e),this._needsUpdate=!0}if(IM(n))this._phiVelocity.value=0,this._spherical.phi=this._sphericalEnd.phi;else{const t=this._isUserControllingRotate?this.draggingSmoothTime:this.smoothTime;this._spherical.phi=FM(this._spherical.phi,this._sphericalEnd.phi,this._phiVelocity,t,1/0,e),this._needsUpdate=!0}if(IM(r))this._radiusVelocity.value=0,this._spherical.radius=this._sphericalEnd.radius;else{const t=this._isUserControllingDolly?this.draggingSmoothTime:this.smoothTime;this._spherical.radius=FM(this._spherical.radius,this._sphericalEnd.radius,this._radiusVelocity,t,this.maxSpeed,e),this._needsUpdate=!0}if(IM(i.x)&&IM(i.y)&&IM(i.z))this._targetVelocity.set(0,0,0),this._target.copy(this._targetEnd);else{const t=this._isUserControllingTruck?this.draggingSmoothTime:this.smoothTime;NM(this._target,this._targetEnd,this._targetVelocity,t,this.maxSpeed,e,this._target),this._needsUpdate=!0}if(IM(o.x)&&IM(o.y)&&IM(o.z))this._focalOffsetVelocity.set(0,0,0),this._focalOffset.copy(this._focalOffsetEnd);else{const t=this._isUserControllingOffset?this.draggingSmoothTime:this.smoothTime;NM(this._focalOffset,this._focalOffsetEnd,this._focalOffsetVelocity,t,this.maxSpeed,e,this._focalOffset),this._needsUpdate=!0}if(IM(s))this._zoomVelocity.value=0,this._zoom=this._zoomEnd;else{const t=this._isUserControllingZoom?this.draggingSmoothTime:this.smoothTime;this._zoom=FM(this._zoom,this._zoomEnd,this._zoomVelocity,t,1/0,e)}if(this.dollyToCursor)if(MM(this._camera)&&0!==this._changedDolly){const e=this._spherical.radius-this._lastDistance,t=this._camera,n=this._getCameraDirection(tT),r=KM.copy(n).cross(t.up).normalize();0===r.lengthSq()&&(r.x=1);const i=QM.crossVectors(r,n),o=this._sphericalEnd.radius*Math.tan(t.getEffectiveFOV()*PM*.5),s=(this._sphericalEnd.radius-e-this._sphericalEnd.radius)/this._sphericalEnd.radius,a=eT.copy(this._targetEnd).add(r.multiplyScalar(this._dollyControlCoord.x*o*t.aspect)).add(i.multiplyScalar(this._dollyControlCoord.y*o)),l=KM.copy(this._targetEnd).lerp(a,s),c=this._lastDollyDirection===CM&&this._spherical.radius<=this.minDistance,u=this._lastDollyDirection===AM&&this.maxDistance<=this._spherical.radius;if(this.infinityDolly&&(c||u)){this._sphericalEnd.radius-=e,this._spherical.radius-=e;const t=QM.copy(n).multiplyScalar(-e);l.add(t)}this._boundary.clampPoint(l,l);const d=QM.subVectors(l,this._targetEnd);this._targetEnd.copy(l),this._target.add(d),this._changedDolly-=e,IM(this._changedDolly)&&(this._changedDolly=0)}else if(TM(this._camera)&&0!==this._changedZoom){const e=this._zoom-this._lastZoom,t=this._camera,n=KM.set(this._dollyControlCoord.x,this._dollyControlCoord.y,(t.near+t.far)/(t.near-t.far)).unproject(t),r=QM.set(0,0,-1).applyQuaternion(t.quaternion),i=eT.copy(n).add(r.multiplyScalar(-n.dot(t.up))),o=-(this._zoom-e-this._zoom)/this._zoom,s=this._getCameraDirection(tT),a=this._targetEnd.dot(s),l=KM.copy(this._targetEnd).lerp(i,o),c=l.dot(s),u=s.multiplyScalar(c-a);l.sub(u),this._boundary.clampPoint(l,l);const d=QM.subVectors(l,this._targetEnd);this._targetEnd.copy(l),this._target.add(d),this._changedZoom-=e,IM(this._changedZoom)&&(this._changedZoom=0)}this._camera.zoom!==this._zoom&&(this._camera.zoom=this._zoom,this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0),this._dragNeedsUpdate=!0;const a=this._collisionTest();this._spherical.radius=Math.min(this._spherical.radius,a),this._spherical.makeSafe(),this._camera.position.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(this._target),this._camera.lookAt(this._target);(!IM(this._focalOffset.x)||!IM(this._focalOffset.y)||!IM(this._focalOffset.z))&&(this._camera.updateMatrixWorld(),nT.setFromMatrixColumn(this._camera.matrix,0),rT.setFromMatrixColumn(this._camera.matrix,1),iT.setFromMatrixColumn(this._camera.matrix,2),nT.multiplyScalar(this._focalOffset.x),rT.multiplyScalar(-this._focalOffset.y),iT.multiplyScalar(this._focalOffset.z),KM.copy(nT).add(rT).add(iT),this._camera.position.add(KM)),this._boundaryEnclosesCamera&&this._encloseToBoundary(this._camera.position.copy(this._target),KM.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse),1);const l=this._needsUpdate;return l&&!this._updatedLastTime?(this._hasRested=!1,this.dispatchEvent({type:"wake"}),this.dispatchEvent({type:"update"})):l?(this.dispatchEvent({type:"update"}),IM(t,this.restThreshold)&&IM(n,this.restThreshold)&&IM(r,this.restThreshold)&&IM(i.x,this.restThreshold)&&IM(i.y,this.restThreshold)&&IM(i.z,this.restThreshold)&&IM(o.x,this.restThreshold)&&IM(o.y,this.restThreshold)&&IM(o.z,this.restThreshold)&&IM(s,this.restThreshold)&&!this._hasRested&&(this._hasRested=!0,this.dispatchEvent({type:"rest"}))):!l&&this._updatedLastTime&&this.dispatchEvent({type:"sleep"}),this._lastDistance=this._spherical.radius,this._lastZoom=this._zoom,this._updatedLastTime=l,this._needsUpdate=!1,l}toJSON(){return JSON.stringify({enabled:this._enabled,minDistance:this.minDistance,maxDistance:DM(this.maxDistance),minZoom:this.minZoom,maxZoom:DM(this.maxZoom),minPolarAngle:this.minPolarAngle,maxPolarAngle:DM(this.maxPolarAngle),minAzimuthAngle:DM(this.minAzimuthAngle),maxAzimuthAngle:DM(this.maxAzimuthAngle),smoothTime:this.smoothTime,draggingSmoothTime:this.draggingSmoothTime,dollySpeed:this.dollySpeed,truckSpeed:this.truckSpeed,dollyToCursor:this.dollyToCursor,verticalDragToForward:this.verticalDragToForward,target:this._targetEnd.toArray(),position:KM.setFromSpherical(this._sphericalEnd).add(this._targetEnd).toArray(),zoom:this._zoomEnd,focalOffset:this._focalOffsetEnd.toArray(),target0:this._target0.toArray(),position0:this._position0.toArray(),zoom0:this._zoom0,focalOffset0:this._focalOffset0.toArray()})}fromJSON(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=JSON.parse(e);this.enabled=n.enabled,this.minDistance=n.minDistance,this.maxDistance=UM(n.maxDistance),this.minZoom=n.minZoom,this.maxZoom=UM(n.maxZoom),this.minPolarAngle=n.minPolarAngle,this.maxPolarAngle=UM(n.maxPolarAngle),this.minAzimuthAngle=UM(n.minAzimuthAngle),this.maxAzimuthAngle=UM(n.maxAzimuthAngle),this.smoothTime=n.smoothTime,this.draggingSmoothTime=n.draggingSmoothTime,this.dollySpeed=n.dollySpeed,this.truckSpeed=n.truckSpeed,this.dollyToCursor=n.dollyToCursor,this.verticalDragToForward=n.verticalDragToForward,this._target0.fromArray(n.target0),this._position0.fromArray(n.position0),this._zoom0=n.zoom0,this._focalOffset0.fromArray(n.focalOffset0),this.moveTo(n.target[0],n.target[1],n.target[2],t),aT.setFromVector3(KM.fromArray(n.position).sub(this._targetEnd).applyQuaternion(this._yAxisUpSpace)),this.rotateTo(aT.theta,aT.phi,t),this.dollyTo(aT.radius,t),this.zoomTo(n.zoom,t),this.setFocalOffset(n.focalOffset[0],n.focalOffset[1],n.focalOffset[2],t),this._needsUpdate=!0}connect(e){this._domElement?console.warn("camera-controls is already connected."):(e.setAttribute("data-camera-controls-version","2.7.3"),this._addAllEventListeners(e),this._getClientRect(this._elementRect))}disconnect(){this.cancel(),this._removeAllEventListeners(),this._domElement&&(this._domElement.removeAttribute("data-camera-controls-version"),this._domElement=void 0)}dispose(){this.removeAllEventListeners(),this.disconnect()}_getTargetDirection(e){return e.setFromSpherical(this._spherical).divideScalar(this._spherical.radius).applyQuaternion(this._yAxisUpSpaceInverse)}_getCameraDirection(e){return this._getTargetDirection(e).negate()}_findPointerById(e){return this._activePointers.find((t=>t.pointerId===e))}_findPointerByMouseButton(e){return this._activePointers.find((t=>t.mouseButton===e))}_disposePointer(e){this._activePointers.splice(this._activePointers.indexOf(e),1)}_encloseToBoundary(e,t,n){const r=t.lengthSq();if(0===r)return e;const i=QM.copy(t).add(e),o=this._boundary.clampPoint(i,eT).sub(i),s=o.lengthSq();if(0===s)return e.add(t);if(s===r)return e;if(0===n)return e.add(t).add(o);{const r=1+n*s/t.dot(o);return e.add(QM.copy(t).multiplyScalar(r)).add(o.multiplyScalar(1-n))}}_updateNearPlaneCorners(){if(MM(this._camera)){const e=this._camera,t=e.near,n=e.getEffectiveFOV()*PM,r=Math.tan(.5*n)*t,i=r*e.aspect;this._nearPlaneCorners[0].set(-i,-r,0),this._nearPlaneCorners[1].set(i,-r,0),this._nearPlaneCorners[2].set(i,r,0),this._nearPlaneCorners[3].set(-i,r,0)}else if(TM(this._camera)){const e=this._camera,t=1/e.zoom,n=e.left*t,r=e.right*t,i=e.top*t,o=e.bottom*t;this._nearPlaneCorners[0].set(n,i,0),this._nearPlaneCorners[1].set(r,i,0),this._nearPlaneCorners[2].set(r,o,0),this._nearPlaneCorners[3].set(n,o,0)}}_collisionTest(){let e=1/0;if(!(this.colliderMeshes.length>=1))return e;if(HM(this._camera,"_collisionTest"))return e;const t=this._getTargetDirection(tT);fT.lookAt(YM,t,this._camera.up);for(let n=0;n<4;n++){const r=QM.copy(this._nearPlaneCorners[n]);r.applyMatrix4(fT);const i=eT.addVectors(this._target,r);mT.set(i,t),mT.far=this._spherical.radius+1;const o=mT.intersectObjects(this.colliderMeshes);0!==o.length&&o[0].distance{const t=()=>{this.removeEventListener("rest",t),e()};this.addEventListener("rest",t)})))}_addAllEventListeners(e){}_removeAllEventListeners(){}get dampingFactor(){return console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead."),0}set dampingFactor(e){console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead.")}get draggingDampingFactor(){return console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead."),0}set draggingDampingFactor(e){console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.")}static createBoundingSphere(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new XM.Sphere,n=t.center;cT.makeEmpty(),e.traverseVisible((e=>{e.isMesh&&cT.expandByObject(e)})),cT.getCenter(n);let r=0;return e.traverseVisible((e=>{if(!e.isMesh)return;const t=e,i=t.geometry.clone();i.applyMatrix4(t.matrixWorld);const o=i.attributes.position;for(let e=0,t=o.count;e>5&31)/31,o=(e>>10&31)/31):(r=a,i=l,o=c)}for(let a=1;a<=3;a++){const l=n+12*a,c=3*e*3+3*(a-1);p[c]=t.getFloat32(l,!0),p[c+1]=t.getFloat32(l+4,!0),p[c+2]=t.getFloat32(l+8,!0),f[c]=u,f[c+1]=h,f[c+2]=g,d&&(m.set(r,i,o).convertSRGBToLinear(),s[c]=m.r,s[c+1]=m.g,s[c+2]=m.b)}}return h.setAttribute("position",new bv(p,3)),h.setAttribute("normal",new bv(f,3)),d&&(h.setAttribute("color",new bv(s,3)),h.hasColors=!0,h.alpha=u),h}(n):function(e){const t=new kv,n=/solid([\s\S]*?)endsolid/g,r=/facet([\s\S]*?)endfacet/g,i=/solid\s(.+)/;let o=0;const s=/[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source,a=new RegExp("vertex"+s+s+s,"g"),l=new RegExp("normal"+s+s+s,"g"),c=[],u=[],d=[],h=new Gm;let p,f=0,m=0,g=0;for(;null!==(p=n.exec(e));){m=g;const e=p[0],n=null!==(p=i.exec(e))?p[1]:"";for(d.push(n);null!==(p=r.exec(e));){let e=0,t=0;const n=p[0];for(;null!==(p=l.exec(n));)h.x=parseFloat(p[1]),h.y=parseFloat(p[2]),h.z=parseFloat(p[3]),t++;for(;null!==(p=a.exec(n));)c.push(parseFloat(p[1]),parseFloat(p[2]),parseFloat(p[3])),u.push(h.x,h.y,h.z),e++,g++;1!==t&&console.error("THREE.STLLoader: Something isn't right with the normal of face number "+o),3!==e&&console.error("THREE.STLLoader: Something isn't right with the vertices of face number "+o),o++}const s=m,v=g-m;t.userData.groupNames=d,t.addGroup(s,v,f),f++}return t.setAttribute("position",new Cv(c,3)),t.setAttribute("normal",new Cv(u,3)),t}("string"!=typeof(r=e)?(new TextDecoder).decode(r):r);var r}}let yT=e=>{let t=(e=>{let t=jn(e,((e,t)=>{let n=(e=>{let t=(e=>{let t=e.geometry;return{cs:t.boundingSphere.center,rd:t.boundingSphere.radius}})(e);return{xmin:t.cs.x-t.rd,xmax:t.cs.x+t.rd,ymin:t.cs.y-t.rd,ymax:t.cs.y+t.rd,zmin:t.cs.z-t.rd,zmax:t.cs.z+t.rd}})(e);return n}));return{xmin:tu(jn(t,"xmin")),xmax:ru(jn(t,"xmax")),ymin:tu(jn(t,"ymin")),ymax:ru(jn(t,"ymax")),zmin:tu(jn(t,"zmin")),zmax:ru(jn(t,"zmax"))}})(e),n=t.xmax-t.xmin,r=t.ymax-t.ymin,i=t.zmax-t.zmin;return{cs:{x:(t.xmax+t.xmin)/2,y:(t.ymax+t.ymin)/2,z:(t.zmax+t.zmin)/2},rd:ru([n,r,i])}};function _T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xT(e){for(var t=1;te=hl.toRgbString(e);async function CT(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ds(e)||(e=[]);let n=me(t,"domPanel");Qo(n)||(n=document.body);let r=e=>{let t=0;if(as(e.innerWidth))t=e.innerWidth;else{if(!as(e.clientWidth))throw console.log("ele",e),new Error("can not get width from ele");t=e.clientWidth}let n=0;if(as(e.innerWidth))n=e.innerHeight;else{if(!as(e.clientWidth))throw console.log("ele",e),new Error("can not get height from ele");n=e.clientHeight}return{w:t,h:n}},i=r(n),o=i.w,s=i.h,a=me(t,"backgroundColor");$n(a)||(a="#222");let l=me(t,"useHelperAxes");os(l)||(l=!0);let c=me(t,"helperAxesLengthRatio");zi(c)||(c=1),c=Hi(c);let u=me(t,"useHelperGrid");os(u)||(u=!0);let d=me(t,"helperGridLengthRatio");zi(d)||(d=5),d=Hi(d);let h=me(t,"helperGridDensity");zi(h)||(h=50),h=Hi(h);let p=me(t,"helperGridPositionRatioZ");zi(p)||(p=-1),p=Hi(p);let f=me(t,"useLightAmbient");os(f)||(f=!0);let m=me(t,"lightAmbientColor");$n(m)||(m="#999");let g=me(t,"useLightPoint");os(g)||(g=!1);let v=me(t,"lightPointPoss");ds(v)||(v=[[5,5,5],[-5,5,5],[5,-5,5]]);let y=me(t,"lightPointColor");$n(y)||(y="#fff");let _=me(t,"lightPointIntensity");zi(_)||(_=100),_=Hi(_);let x=me(t,"lightPointDistance");zi(x)||(x=0),x=Hi(x);let b=me(t,"lightPointDecay");zi(b)||(b=2),b=Hi(b);let S=me(t,"useLightDirection");os(S)||(S=!0);let w=me(t,"lightDirectionColor");$n(w)||(w="#fff");let C=me(t,"lightDirectionIntensity");zi(C)||(C=3),C=Hi(C);let A=me(t,"lightDirectionPos");ds(A)||(A=[10,10,10]);let M=me(t,"cameraType");"perspective"!==M&&"orthographic"!==M&&(M="perspective");let T=me(t,"cameraFov");zi(T)||(T=35),T=Hi(T);let E=me(t,"cameraNear");zi(E)||(E=.1),E=Hi(E);let L=me(t,"cameraFar");zi(L)||(L=1e3),L=Hi(L);let R=me(t,"cameraOrthographicRatio");zi(R)||(R=.5),R=Hi(R);let P=me(t,"cameraPos");ds(P)||(P=[1,1,1]);let k=me(t,"cameraAzimuthAngle");zi(k)||(k=130),k=Hi(k);let I=me(t,"cameraPolarAngle");zi(I)||(I=50),I=Hi(I);let O=me(t,"labelTextColor");$n(O)||(O="#fff");let B=me(t,"labelTextFontFamily");$n(B)||(B="Microsoft JhengHei");let D=me(t,"labelTextFontSize");$n(D)||(D="0.8rem");let U=me(t,"useAutoRotate");os(U)||(U=!1);let F=me(t,"autoRotateDeg");zi(F)||(F=20),F=Hi(F);let N=Ki(),z=new vA,H=new ib;H.background=new cv(wT(a));let W=null,V=()=>{W=new uM(c),W.visible=l,H.add(W)},j=()=>{H.remove(W),W.dispose(),W=null};V();let G=null,$=()=>{G=new QA(d,h),G.visible=u,G.geometry.rotateX(.5*Math.PI),G.geometry.translate(0,0,p),H.add(G)},X=()=>{H.remove(G),G.dispose(),G=null};$();let Y=null;Y=new tA(wT(m)),Y.visible=f,H.add(Y);let q=null,Z=()=>{q=[],nt(v,(e=>{let t=new KC(wT(y),_,x,b);t.visible=g;let n=me(e,0,0),r=me(e,1,0),i=me(e,2,0);t.position.set(n,r,i),H.add(t),q.push(t)}))},J=()=>{nt(q,(e=>{H.remove(e),e.dispose(),e=null})),q=null};Z();let K=null,Q=()=>{K=new eA(wT(w),C),K.visible=S;let e=me(A,0,0),t=me(A,1,0),n=me(A,2,0);K.position.set(e,t,n),H.add(K)},ee=()=>{H.remove(K),K.dispose(),K=null};Q();let te=(e,t)=>{let n=1;return t>0&&(n=e/t),n},ne=te(o,s),re=null,ie=()=>{(e=>{let t=e*s,n=o,r=s-t,i=-t,a=o,l=s;re.setViewOffset(n,r,0,i,a,l)})(-.08)},oe=()=>{"perspective"===M?re=new oy(T,ne,E,L):"orthographic"===M&&(re=new Ry(-R*ne,R*ne,R,-R,E,L)),(e=>{let t=me(e,0,0),n=me(e,1,0),r=me(e,2,0);re.position.set(t,n,r)})(P),re.up.x=0,re.up.y=0,re.up.z=1,ie()},se=()=>{re=null};oe();let ae=new eb({antialias:!0});ae.setSize(o,s),n.appendChild(ae.domElement);let le=new yM;le.setSize(o,s),le.domElement.style.position="absolute",le.domElement.style.top="0px",le.domElement.style.left="0px",n.appendChild(le.domElement),gT.install({THREE:dM});let ce=null,ue=()=>{ce=new gT(re,le.domElement),ce.mouseButtons={left:gT.ACTION.ROTATE,middle:gT.ACTION.DOLLY,right:gT.ACTION.OFFSET,wheel:gT.ACTION.ZOOM},ce.touches={one:gT.ACTION.TOUCH_ROTATE,two:gT.ACTION.TOUCH_DOLLY_OFFSET,three:gT.ACTION.TOUCH_OFFSET}},de=()=>{ce=null};ue();let he=()=>{let e=me(ce,"azimuthAngle"),t=me(ce,"polarAngle");return{azimuthAngle:e*ST,polarAngle:t*ST}},pe=(e,t)=>{Zh(ce,"azimuthAngle",e*bT),Zh(ce,"polarAngle",t*bT)};pe(k,I);let fe=null,ge=setInterval((()=>{let e=he();pr(e,fe)||(fe=e,N.emit("change-view-angle",e))}),50),ve=null,ye=()=>{ve=new Yx,H.add(ve)},_e=()=>{ve.traverse((function(e){e.isMesh&&(e.geometry.dispose(),e.material.dispose())})),H.remove(ve),ve=null};ye();let xe=[],be=async e=>{let t=me(e,"type","");if($n(t)||(t=function(e){if(!$n(e))return"";let t=Ct(Qh(e),".");if(ur(t)<=1)return"";let n="";try{n=_l(t)}catch(e){}return n}(e.url)),"stl"!==t)throw new Error("現在僅支援stl檔");let n=me(e,"color",""),r=hl.toRgba(n),i=hl.toRgbString(r),o=r.a,s=await async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=me(n,"color",null);$n(r)||(r="#fff"),r=hl.toRgbString(r);let i=me(n,"opacity",null);as(i)||(i=1);let o=i<1,s=new vT,a=await s.loadAsync(t,(n=>{let r=n.loaded/n.total*100;e.emit("loading",{url:t,prog:r})})),l=new cC({color:new cv(r),depthTest:!0,depthWrite:!0,transparent:o,opacity:i,side:2});return new Zv(a,l)}(N,e.url,{color:i,opacity:o});s.name=e.name,s.color=n,xe.push(s),ve.add(s)},Se=async e=>{await Jh(e,(async e=>{await be(e)}))};await Se(e);let we={},Ce=()=>{nt(xe,(e=>{let t=e.geometry,n=1/we.r;t.scale(n,n,n),t.translate(we.x,we.y,we.z)}))},Ae=[],Me=()=>{nt(Ae,(e=>{es(e)})),Ae=[]},Te=async()=>{Le(),await Ys(1),(()=>{let e=yT(xe),t=e.cs,n=1;e.rd>0&&(n=1/e.rd),we=xT(xT({},t),{},{r:n})})(),nt(xe,(e=>{let t=e.geometry;t.translate(-we.x,-we.y,-we.z),t.scale(we.r,we.r,we.r)})),nt(xe,(e=>{let t=document.createElement("div");t.textContent=e.name,t.style.color=O,t.style.fontSize=D,t.style.fontFamily=B,t.style.visibility="visible";let n=new hM(t),r=e.geometry.boundingSphere.center;n.position.set(r.x,r.y,r.z),Ae.push(t),e.add(n)})),Le()},Ee=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{let n="hidden";!0===t&&(n="visible"),Ae[e].style.visibility=n}catch(e){console.log(e)}},Le=()=>{try{ae.render(H,re),le.render(H,re)}catch(e){console.log(e)}};Te().then((()=>{N.emit("init")}));let Re=!1,Pe=()=>{if(!Re)try{let e=z.getDelta(),t=ce.update(e);if(U){let t=-F*bT*e;ce.azimuthAngle+=t}requestAnimationFrame(Pe),t&&Le()}catch(e){console.log(e)}};Pe();return N.render=Le,N.resize=()=>{let e=r(n);o=e.w,s=e.h,ne=te(o,s),re.aspect=ne,re.updateProjectionMatrix(),ie(),ae.setSize(o,s),le.setSize(o,s),Le()},N.dispose=()=>{N.emit("dispose"),clearInterval(ge),Re=!0,_e(),j(),X(),H.remove(Y),Y.dispose(),Y=null,J(),ee(),Me(),(()=>{let e=e=>{e.dispose();for(let t of Object.keys(e)){let n=e[t];n&&"object"==typeof n&&"minFilter"in n&&n.dispose()}};H.traverse((t=>{if(t.isLight&&t.dispose(),t.isMesh)if(t.geometry.dispose(),t.material.isMaterial)e(t.material);else for(let n of t.material)e(n)})),H=null})(),es(ae.domElement),es(le.domElement),ae.dispose(),ae=null,le=null,z=null,de(),se(),H=null},N.getUseAutoRotate=()=>U,N.setUseAutoRotate=e=>{U=e},N.setAutoRotateDeg=e=>{F=e},N.setCameraViewAngle=pe,N.getCameraViewAngle=he,N.setCameraAzimuthAngle=e=>{k=e,pe(k,I)},N.setCameraPolarAngle=e=>{I=e,pe(k,I)},N.setBackgroundColor=e=>{a=e,H.background=new cv(wT(e)),Le()},N.getUseHelperAxes=()=>l,N.setUseHelperAxes=e=>{l=e,W.visible=e,Le()},N.setHelperAxesLengthRatio=e=>{c=e,j(),V(),Le()},N.getUseHelperGrid=()=>u,N.setUseHelperGrid=e=>{u=e,G.visible=e,Le()},N.setHelperGridLengthRatio=e=>{d=e,X(),$(),Le()},N.setHelperGridDensity=e=>{h=e,X(),$(),Le()},N.setHelperGridPositionRatioZ=e=>{p=e,X(),$(),Le()},N.setUseLightAmbient=e=>{f=e,Y.visible=e,Le()},N.setLightAmbientColor=e=>{m=e,Y.color=new cv(wT(e)),Le()},N.setUseLightPoint=e=>{g=e,nt(q,(t=>{t.visible=e})),Le()},N.setLightPointPoss=e=>{v=e,J(),Z(),Le()},N.setLightPointColor=e=>{y=e,J(),Z(),Le()},N.setLightPointIntensity=e=>{_=e,J(),Z(),Le()},N.setLightPointDistance=e=>{x=e,J(),Z(),Le()},N.setLightPointDecay=e=>{b=e,J(),Z(),Le()},N.setUseLightDirection=e=>{S=e,K.visible=e,Le()},N.setLightDirectionColor=e=>{w=e,K.color=new cv(wT(e)),Le()},N.setLightDirectionIntensity=e=>{C=e,ee(),Q(),Le()},N.setLightDirectionPos=e=>{A=e,ee(),Q(),Le()},N.getCameraType=()=>M,N.setCameraType=e=>{M=e,se(),oe(),de(),ue(),Le()},N.setCameraFov=e=>{T=e,re.fov=e,re.updateProjectionMatrix(),Le()},N.setCameraNear=e=>{E=e,re.near=e,re.updateProjectionMatrix(),Le()},N.setCameraFar=e=>{L=e,re.far=e,re.updateProjectionMatrix(),Le()},N.setCameraOrthographicRatio=e=>{R=e,se(),oe(),de(),ue(),Le()},N.addMesh=async e=>{Ce(),Me(),await be(e),Te()},N.addMeshs=async e=>{Ce(),Me(),await Se(e),Te()},N.getMeshsInfor=()=>{let e=jn(xe,((e,t)=>{let n=me(e,"color",""),r=me(Ae,t),i=me(r,"textContent",""),o=me(r,"style.color",""),s=me(r,"style.fontSize",""),a=me(r,"style.fontFamily","");return{visible:e.visible,color:n,labelText:i,labelTextColor:o,labelTextFontSize:s,labelTextFontFamily:a}}));return e},N.setMeshVisible=(e,t)=>{((e,t)=>{if(!Go(me(xe,e)))return null;try{xe[e].visible=t}catch(e){console.log(e)}})(e,t),Ee(e,t),Le()},N.setMeshColor=(e,t)=>{if(!Go(me(xe,e)))return null;try{let n=hl.toRgba(t),r=hl.toRgbString(n),i=n.a;xe[e].material.color=new cv(r),xe[e].material.opacity=i,xe[e].color=t}catch(e){console.log(e)}Le()},N.setMeshLabelVisible=(e,t)=>{Ee(e,t),Le()},N.setMeshLabelText=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{Ae[e].textContent=t}catch(e){console.log(e)}Le()},N.setMeshLabelTextColor=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{Ae[e].style.color=t}catch(e){console.log(e)}Le()},N.setMeshLabelTextFontSize=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{Ae[e].style.fontSize=t}catch(e){console.log(e)}Le()},N.setMeshLabelTextFontFamily=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{Ae[e].style.fontFamily=t}catch(e){console.log(e)}Le()},N.cleanMeshs=()=>{nt(xe,(e=>{ve.remove(e)})),_e(),xe=[],ye(),Me(),Le()},N}const AT={directives:{domresize:oo()},components:{WIconLoading:ml,WGroupIconCheck:qc,WIcon:xs,WColorSelect:qh},props:{opt:{type:Object,default:()=>{}}},data:function(){return{mdiEyeOutline:"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z",mdiEyeOffOutline:"M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z",loading:!0,timer:null,itemsSelectIds:[],itemsSelects:[],useSetting:!0,useAutoRotate:!1,useHelperAxes:!0,useHelperGrid:!0,usePerspective:!0,useLegend:!0,optTemp:null,meshs:[],ev:null,menuSettingIcon:"",menuSettingTooltip:"",menuAutoRotateIcon:"",menuAutoRotateTooltip:"",menuAxesIcon:"",menuAxesTooltip:"",menuGridIcon:"",menuGridTooltip:"",menuPerspectiveIcon:"",menuPerspectiveTooltip:"",menuLegendIcon:"",menuLegendTooltip:"",useLegnedBackgroundColor:"",useLegnedHeight:""}},mounted:function(){let e,t=this;t.timer=setInterval((()=>{e=t.getParam("useHelperAxes"),t.useHelperAxes!==e&&(t.useHelperAxes=e),e=t.getParam("useAutoRotate"),t.useAutoRotate!==e&&(t.useAutoRotate=e),e=t.getParam("useHelperGrid"),t.useHelperGrid!==e&&(t.useHelperGrid=e),e="perspective"===t.getParam("cameraType"),t.usePerspective!==e&&(t.usePerspective=e),e=t.getMeshs(),pr(t.meshs,e)||(t.meshs=e),t.syncItemsSelectIds(),t.updateItemsSelects(!1)}),50)},beforeDestroy:function(){clearInterval(this.timer),this.dispose()},watch:{opt:{handler(e){let t=this;t.loading?t.init().finally((()=>{t.optTemp=Ai(t.opt)})):t.modify().finally((()=>{t.optTemp=Ai(t.opt)}))},immediate:!0,deep:!0}},computed:{widthInp:function(){let e=0,t=me(this,"opt.width","");return zi(t)&&(e=Hi(t)),e},heightInp:function(){let e=0,t=me(this,"opt.height","");return zi(t)&&(e=Hi(t)),e},items:function(){let e=this;return[{id:"setting",icon:e.menuSettingIcon,tooltip:e.menuSettingTooltip},{id:"auto_rotate",icon:e.menuAutoRotateIcon,tooltip:e.menuAutoRotateTooltip},{id:"axes",icon:e.menuAxesIcon,tooltip:e.menuAxesTooltip},{id:"grid",icon:e.menuGridIcon,tooltip:e.menuGridTooltip},{id:"perspective",icon:e.menuPerspectiveIcon,tooltip:e.menuPerspectiveTooltip},{id:"legend",icon:e.menuLegendIcon,tooltip:e.menuLegendTooltip}]},useItems:function(){let e=this,t=[];return t=e.useSetting?Ai(e.items):[Ai(e.items[0])],t}},methods:{resizePanel:function(e){let t=this;if(null===t.ev)return;let n=me(t,"ev.resize");Qi(n)&&(n(),t.$emit("resize",e))},syncItemsSelectIds:function(){let e=this,t=[];e.useSetting&&t.push("setting"),e.useAutoRotate&&t.push("auto_rotate"),e.useHelperAxes&&t.push("axes"),e.useHelperGrid&&t.push("grid"),e.usePerspective&&t.push("perspective"),e.useLegend&&t.push("legend"),pr(e.itemsSelectIds,t)||(e.itemsSelectIds=t)},updateItemsSelects:function(e=!1){let t=this,n=jn(t.itemsSelects,"id");if(!e&&pr(t.itemsSelectIds,n))return;let r=[];nt(t.itemsSelectIds,(e=>{let n=Ps(t.items,{id:e});Go(n)?r.push(n):console.log(`invalid id[${e}]`)})),t.itemsSelects=r},updateMenus:function(){let e=this,t=me(e,"opt.menuSettingIcon","");$n(t)||(t="M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z");let n=me(e,"opt.menuSettingTooltip","");$n(n)||(n="Settings");let r=me(e,"opt.menuAutoRotateIcon","");$n(r)||(r="M10,12L14,16L10,20V16.9C5.44,16.44 2,14.42 2,12C2,9.58 5.44,7.56 10,7.1V9.09C6.55,9.43 4,10.6 4,12C4,13.4 6.55,14.57 10,14.91V12M20,12C20,10.6 17.45,9.43 14,9.09V7.1C18.56,7.56 22,9.58 22,12C22,14.16 19.26,16 15.42,16.7L16.12,16L14.92,14.79C17.89,14.36 20,13.27 20,12M11,2H13V13L11,11V2M11,22V21L13,19V22H11Z");let i=me(e,"opt.menuAutoRotateTooltip","");$n(i)||(i="Auto rotate");let o=me(e,"opt.menuAxesIcon","");$n(o)||(o="M2.61,21L1.61,19.27L11,13.85V3H13V13.85L22.39,19.27L21.39,21L12,15.58L2.61,21Z");let s=me(e,"opt.menuAxesTooltip","");$n(s)||(s="Axes");let a=me(e,"opt.menuGridIcon","");$n(a)||(a="M10,4V8H14V4H10M16,4V8H20V4H16M16,10V14H20V10H16M16,16V20H20V16H16M14,20V16H10V20H14M8,20V16H4V20H8M8,14V10H4V14H8M8,8V4H4V8H8M10,14H14V10H10V14M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4C2.92,22 2,21.1 2,20V4A2,2 0 0,1 4,2Z");let l=me(e,"opt.menuGridTooltip","");$n(l)||(l="Grid");let c=me(e,"opt.menuPerspectiveIcon","");$n(c)||(c="M20 2H4C3.45 2 3 2.45 3 3V4C3 4.55 3.45 5 4 5H5V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14H19V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2M17 12H7V5H17V12Z");let u=me(e,"opt.menuPerspectiveTooltip","");$n(u)||(u="Perspective");let d=me(e,"opt.menuLegendIcon","");$n(d)||(d="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z");let h=me(e,"opt.menuLegendTooltip","");$n(h)||(h="Legend"),e.menuSettingIcon=t,e.menuSettingTooltip=n,e.menuAutoRotateIcon=r,e.menuAutoRotateTooltip=i,e.menuAxesIcon=o,e.menuAxesTooltip=s,e.menuGridIcon=a,e.menuGridTooltip=l,e.menuPerspectiveIcon=c,e.menuPerspectiveTooltip=u,e.menuLegendIcon=d,e.menuLegendTooltip=h,e.updateItemsSelects(!0)},refreshLegend:function(){let e=this,t=me(e,"opt.legnedBackgroundColor","");$n(t)||(t="rgba(90,90,90,0.5)"),e.useLegnedBackgroundColor=hl.toRgbaString(t);let n=me(e,"opt.legnedHeight",null),r=me(e,"opt.legnedHeightMax",null),i="";zi(n)&&(n=Hi(n),i+=`height:${n}px;`),zi(r)&&(r=Hi(r),i+=`max-height:${r}px;`),(zi(n)||zi(r))&&(i+="overflow-y:auto;"),e.useLegnedHeight=i},init:async function(){let e=this;await async function(){e.dispose(),await $s((()=>Qo(e.$refs.panel))),e.loading=!0;let t=Ai(e.opt);t.domPanel=e.$refs.panel;let n=me(t,"items",[]),r=await CT(n,t);r.on("init",(()=>{e.$emit("init"),e.updateMenus(),e.refreshLegend(),e.loading=!1})),r.on("loading",(t=>{e.$emit("loading",t)})),r.on("dispose",(()=>{e.$emit("dispose")})),r.on("change-view-angle",(t=>{e.$emit("change-view-angle",t)})),e.ev=r}().catch((e=>{console.log(e)}))},modify:async function(){let e=this;await async function(){if(null===e.ev)return;await Ys(300);let t=Ke(e.opt),n=Ke(e.optTemp),r=[];nt(t,(t=>{let i=me(e,`opt.${t}`,null),o=me(e,`optTemp.${t}`,null);pr(i,o)||r.push({type:"mod",k:t,vOld:o,vNew:i}),js(n,t)})),nt(n,(t=>{let n=me(e,`optTemp.${t}`,null);r.push({type:"del",k:t,vOld:n,vNew:null})}));let i={backgroundColor:"ev.setBackgroundColor",useAutoRotate:"ev.setUseAutoRotate",autoRotateDeg:"ev.setAutoRotateDeg",useHelperAxes:"ev.setUseHelperAxes",helperAxesLengthRatio:"ev.setHelperAxesLengthRatio",useHelperGrid:"ev.setUseHelperGrid",helperGridLengthRatio:"ev.setHelperGridLengthRatio",helperGridDensity:"ev.setHelperGridDensity",helperGridPositionRatioZ:"ev.setHelperGridPositionRatioZ",useLightAmbient:"ev.setUseLightAmbient",lightAmbientColor:"ev.setLightAmbientColor",useLightPoint:"ev.setUseLightPoint",lightPointPoss:"ev.setLightPointPoss",lightPointColor:"ev.setLightPointColor",lightPointIntensity:"ev.setLightPointIntensity",lightPointDistance:"ev.setLightPointDistance",lightPointDecay:"ev.setLightPointDecay",useLightDirection:"ev.setUseLightDirection",lightDirectionColor:"ev.setLightDirectionColor",lightDirectionIntensity:"ev.setLightDirectionIntensity",lightDirectionPos:"ev.setLightDirectionPos",cameraType:"ev.setCameraType",cameraFov:"ev.setCameraFov",cameraNear:"ev.setCameraNear",cameraFar:"ev.setCameraFar",cameraOrthographicRatio:"ev.setCameraOrthographicRatio",cameraAzimuthAngle:"ev.setCameraAzimuthAngle",cameraPolarAngle:"ev.setCameraPolarAngle",menuSettingIcon:"updateMenus",menuSettingTooltip:"updateMenus",menuAutoRotateIcon:"updateMenus",menuAutoRotateTooltip:"updateMenus",menuAxesIcon:"updateMenus",menuAxesTooltip:"updateMenus",menuGridIcon:"updateMenus",menuGridTooltip:"updateMenus",menuPerspectiveIcon:"updateMenus",menuPerspectiveTooltip:"updateMenus",menuLegendIcon:"updateMenus",menuLegendTooltip:"updateMenus",legnedBackgroundColor:"refreshLegend",legnedHeight:"refreshLegend",legnedHeightMax:"refreshLegend"};nt(r,(t=>{let n=t.k;if(Xs(i,n)){let r=me(e,i[n]);try{r(t.vNew)}catch(e){console.log(e)}}else console.log(`尚未建置 ${n} 之 set 函數`)}))}().catch((e=>{console.log(e)}))},dispose:function(){let e=this;setTimeout((()=>{if(null===e.ev)return;Qi(me(e,"ev.dispose"))&&(e.ev.dispose(),e.ev=null)}),1)},getInst:function(){return me(this,"ev")},getMeshs:function(){let e=me(this,"ev.getMeshsInfor"),t=[];return Qi(e)&&(t=e()),t},getMeshColor:function(e){let t=me(e,"color","");return t=hl.toRgbaString(t),t},setMeshColor:function(e,t,n){this.ev.setMeshColor(t,n)},toggleMeshVisible:function(e,t){this.ev.setMeshVisible(t,!e.visible)},strUpperHead:function(e){let t=Zs(e,1);return t=ks(t),`${t}${Ks(e,1)}`},getParam:function(e){let t=null,n=me(this,`ev.get${e=this.strUpperHead(e)}`);return Qi(n)&&(t=n()),t},setParam:function(e,t){let n=me(this,`ev.set${e=this.strUpperHead(e)}`);Qi(n)&&n(t)},toggleParam:function(e){let t=this.getParam(e);t=!t,this.setParam(e,t)},ckItem:function(e){let t=this,n={setting:()=>{t.useSetting=!t.useSetting},axes:()=>{t.toggleParam("useHelperAxes")},auto_rotate:()=>{t.toggleParam("useAutoRotate")},grid:()=>{t.toggleParam("useHelperGrid")},perspective:()=>{t.usePerspective?t.setParam("cameraType","orthographic"):t.setParam("cameraType","perspective")},legend:()=>{t.useLegend=!t.useLegend}},r=me(e,"id",""),i=me(n,r);Qi(i)?i():(console.log("item",e),console.log("kp",n),console.log(`invalid id[${r}]`))}}};var MT=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{style:"display:inline-block; width:"+e.widthInp+"px; min-width:"+e.widthInp+"px; height:"+e.heightInp+"px; overflow-y:hidden;"},[e.loading?n("div",{staticStyle:{position:"relative",width:"0px",height:"0px"}},[n("div",{staticStyle:{position:"absolute",top:"0px",left:"0px"}},[n("WIconLoading")],1)]):e._e(),e._v(" "),n("div",{staticStyle:{position:"relative"}},[n("div",{directives:[{name:"domresize",rawName:"v-domresize"}],ref:"panel",style:"position:relative; width:"+e.widthInp+"px; height:"+e.heightInp+"px; opacity:"+(e.loading?0:1)+";",on:{domresize:e.resizePanel}}),e._v(" "),e.loading?e._e():n("div",{style:"position:absolute; top:0px; left:0px;"},[n("div",{staticStyle:{padding:"10px",display:"flex","align-items":"flex-start"}},[n("WGroupIconCheck",{attrs:{items:e.useItems,dir:"vertical",iconColor:"#aaa",iconColorHover:"#ccc",iconColorFocus:"#ccc",iconColorActive:"#fff",backgroundColor:"#000",backgroundColorHover:"#111",backgroundColorFocus:"#111",backgroundColorActive:"#444",seplineColor:"#333",tooltipTextFontSize:"0.7rem",value:e.itemsSelects,_input:"updateItem"},on:{click:e.ckItem}}),e._v(" "),e.useLegend?[n("div",{style:"padding-left:10px;"}),e._v(" "),n("div",{style:"padding:5px; border-radius:4px; background:"+e.useLegnedBackgroundColor+";"},[n("div",{style:""+e.useLegnedHeight},e._l(e.meshs,(function(t,r){return n("div",{key:"km-"+r,style:""},[n("div",{staticStyle:{display:"flex","align-items":"center",padding:"3px"}},[n("WIcon",{staticStyle:{cursor:"pointer"},attrs:{icon:t.visible?e.mdiEyeOutline:e.mdiEyeOffOutline,color:"#ccc",colorHover:"#ddd",size:20},on:{click:function(n){return e.toggleMeshVisible(t,r)}}}),e._v(" "),n("div",{staticStyle:{"padding-left":"5px"}}),e._v(" "),n("WColorSelect",{attrs:{colorBlockBorderColor:"#888",showColorText:!1,_colorTextColor:"'#ddd'",panelBackgroundColor:"#111",toolBackgroundColor:"#222",menuIconColor:"#666",menuIconColorHover:"#777",menuIconColorActive:"#ddd",borderColor:"#333",borderColorHover:"#333",borderColorActive:"#444",backgroundColor:"#111",menuBackgroundColor:"#111",menuBackgroundColorHover:"#222",menuBackgroundColorActive:"#333",menuTextColor:"#b2b2b2",menuTextColorHover:"#ccc",menuTextColorActive:"#ddd",menuTextFontSize:"0.75rem",inputBorderColor:"#444",inputBorderColorHover:"#555",inputBorderColorActive:"#666",inputBackgroundColor:"#000",inputBackgroundColorHover:"#111",inputBackgroundColorActive:"#222",inputTextColor:"#999",inputLabelColor:"#888",barProgColor:"#888",barProgBackgroundColor:"#222",barSliderBackgroundColor:"#ccc",barSliderBackgroundColorHover:"#ddd",btnTextColor:"#eee",btnTextColorHover:"#fff",btnTextColorActive:"#fff",btnBackgroundColor:"#444",btnBackgroundColorHover:"#555",btnBackgroundColorActive:"#555",value:e.getMeshColor(t)},on:{input:function(n){e.setMeshColor(t,r,n)}}}),e._v(" "),n("div",{staticStyle:{"padding-left":"5px"}}),e._v(" "),n("div",{style:"color:"+t.labelTextColor+"; font-size:"+t.labelTextFontSize+"; font-family:"+t.labelTextFontFamily+";"},[e._v("\n "+e._s(t.labelText)+"\n ")])],1)])})),0)])]:e._e()],2)])])])};MT._withStripped=!0;const TT=ps({render:MT,staticRenderFns:[]},(function(e){e&&e("data-v-2b0552f9_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WThreejsVue.vue"},media:void 0})}),AT,"data-v-2b0552f9",false,undefined,!1,ms,void 0,void 0);var ET={exports:{}}; + */const _M=1,xM=2,bM=4,SM=Object.freeze({NONE:0,ROTATE:1,TRUCK:2,OFFSET:4,DOLLY:8,ZOOM:16,TOUCH_ROTATE:32,TOUCH_TRUCK:64,TOUCH_OFFSET:128,TOUCH_DOLLY:256,TOUCH_ZOOM:512,TOUCH_DOLLY_TRUCK:1024,TOUCH_DOLLY_OFFSET:2048,TOUCH_DOLLY_ROTATE:4096,TOUCH_ZOOM_TRUCK:8192,TOUCH_ZOOM_OFFSET:16384,TOUCH_ZOOM_ROTATE:32768}),wM=0,CM=1,AM=-1;function MM(e){return e.isPerspectiveCamera}function TM(e){return e.isOrthographicCamera}const EM=2*Math.PI,LM=Math.PI/2,RM=1e-5,PM=Math.PI/180;function kM(e,t,n){return Math.max(t,Math.min(n,e))}function IM(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:RM;return Math.abs(e)2&&void 0!==arguments[2]?arguments[2]:RM)}function BM(e,t){return Math.round(e/t)*t}function DM(e){return isFinite(e)?e:e<0?-Number.MAX_VALUE:Number.MAX_VALUE}function UM(e){return Math.abs(e)4&&void 0!==arguments[4]?arguments[4]:1/0,o=arguments.length>5?arguments[5]:void 0;const s=2/(r=Math.max(1e-4,r)),a=s*o,l=1/(1+a+.48*a*a+.235*a*a*a);let c=e-t;const u=t,d=i*r;c=kM(c,-d,d),t=e-c;const h=(n.value+s*c)*o;n.value=(n.value-s*h)*l;let p=t+(c+h)*l;return u-e>0==p>u&&(p=u,n.value=(p-u)/o),p}function NM(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0,o=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0;const a=2/(r=Math.max(1e-4,r)),l=a*o,c=1/(1+l+.48*l*l+.235*l*l*l);let u=t.x,d=t.y,h=t.z,p=e.x-u,f=e.y-d,m=e.z-h;const g=u,v=d,y=h,_=i*r,x=p*p+f*f+m*m;if(x>_*_){const e=Math.sqrt(x);p=p/e*_,f=f/e*_,m=m/e*_}u=e.x-p,d=e.y-f,h=e.z-m;const b=(n.x+a*p)*o,S=(n.y+a*f)*o,w=(n.z+a*m)*o;n.x=(n.x-a*b)*c,n.y=(n.y-a*S)*c,n.z=(n.z-a*w)*c,s.x=u+(p+b)*c,s.y=d+(f+S)*c,s.z=h+(m+w)*c;const C=g-e.x,A=v-e.y,M=y-e.z;return C*(s.x-g)+A*(s.y-v)+M*(s.z-y)>0&&(s.x=g,s.y=v,s.z=y,n.x=(s.x-g)/o,n.y=(s.y-v)/o,n.z=(s.z-y)/o),s}function zM(e,t){t.set(0,0),e.forEach((e=>{t.x+=e.clientX,t.y+=e.clientY})),t.x/=e.length,t.y/=e.length}function HM(e,t){return!!TM(e)&&(console.warn(`${t} is not supported in OrthographicCamera`),!0)}class WM{constructor(){this._listeners={}}addEventListener(e,t){const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}removeAllEventListeners(e){e?Array.isArray(this._listeners[e])&&(this._listeners[e].length=0):this._listeners={}}dispatchEvent(e){const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,r=n.length;t{},this._enabled=!0,this._state=SM.NONE,this._viewport=null,this._changedDolly=0,this._changedZoom=0,this._hasRested=!0,this._boundaryEnclosesCamera=!1,this._needsUpdate=!0,this._updatedLastTime=!1,this._elementRect=new DOMRect,this._isDragging=!1,this._dragNeedsUpdate=!0,this._activePointers=[],this._lockedPointer=null,this._interactiveArea=new DOMRect(0,0,1,1),this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._isUserControllingOffset=!1,this._isUserControllingZoom=!1,this._lastDollyDirection=wM,this._thetaVelocity={value:0},this._phiVelocity={value:0},this._radiusVelocity={value:0},this._targetVelocity=new XM.Vector3,this._focalOffsetVelocity=new XM.Vector3,this._zoomVelocity={value:0},this._truckInternal=(e,t,n)=>{let r,i;if(MM(this._camera)){const n=KM.copy(this._camera.position).sub(this._target),o=this._camera.getEffectiveFOV()*PM,s=n.length()*Math.tan(.5*o);r=this.truckSpeed*e*s/this._elementRect.height,i=this.truckSpeed*t*s/this._elementRect.height}else{if(!TM(this._camera))return;{const n=this._camera;r=e*(n.right-n.left)/n.zoom/this._elementRect.width,i=t*(n.top-n.bottom)/n.zoom/this._elementRect.height}}this.verticalDragToForward?(n?this.setFocalOffset(this._focalOffsetEnd.x+r,this._focalOffsetEnd.y,this._focalOffsetEnd.z,!0):this.truck(r,0,!0),this.forward(-i,!0)):n?this.setFocalOffset(this._focalOffsetEnd.x+r,this._focalOffsetEnd.y+i,this._focalOffsetEnd.z,!0):this.truck(r,i,!0)},this._rotateInternal=(e,t)=>{const n=EM*this.azimuthRotateSpeed*e/this._elementRect.height,r=EM*this.polarRotateSpeed*t/this._elementRect.height;this.rotate(n,r,!0)},this._dollyInternal=(e,t,n)=>{const r=Math.pow(.95,-e*this.dollySpeed),i=this._sphericalEnd.radius,o=this._sphericalEnd.radius*r,s=kM(o,this.minDistance,this.maxDistance),a=s-o;this.infinityDolly&&this.dollyToCursor?this._dollyToNoClamp(o,!0):this.infinityDolly&&!this.dollyToCursor?(this.dollyInFixed(a,!0),this._dollyToNoClamp(s,!0)):this._dollyToNoClamp(s,!0),this.dollyToCursor&&(this._changedDolly+=(this.infinityDolly?o:s)-i,this._dollyControlCoord.set(t,n)),this._lastDollyDirection=Math.sign(-e)},this._zoomInternal=(e,t,n)=>{const r=Math.pow(.95,e*this.dollySpeed),i=this._zoom,o=this._zoom*r;this.zoomTo(o,!0),this.dollyToCursor&&(this._changedZoom+=o-i,this._dollyControlCoord.set(t,n))},void 0===XM&&console.error("camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information."),this._camera=e,this._yAxisUpSpace=(new XM.Quaternion).setFromUnitVectors(this._camera.up,qM),this._yAxisUpSpaceInverse=this._yAxisUpSpace.clone().invert(),this._state=SM.NONE,this._target=new XM.Vector3,this._targetEnd=this._target.clone(),this._focalOffset=new XM.Vector3,this._focalOffsetEnd=this._focalOffset.clone(),this._spherical=(new XM.Spherical).setFromVector3(KM.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)),this._sphericalEnd=this._spherical.clone(),this._lastDistance=this._spherical.radius,this._zoom=this._camera.zoom,this._zoomEnd=this._zoom,this._lastZoom=this._zoom,this._nearPlaneCorners=[new XM.Vector3,new XM.Vector3,new XM.Vector3,new XM.Vector3],this._updateNearPlaneCorners(),this._boundary=new XM.Box3(new XM.Vector3(-1/0,-1/0,-1/0),new XM.Vector3(1/0,1/0,1/0)),this._cameraUp0=this._camera.up.clone(),this._target0=this._target.clone(),this._position0=this._camera.position.clone(),this._zoom0=this._zoom,this._focalOffset0=this._focalOffset.clone(),this._dollyControlCoord=new XM.Vector2,this.mouseButtons={left:SM.ROTATE,middle:SM.DOLLY,right:SM.TRUCK,wheel:MM(this._camera)?SM.DOLLY:TM(this._camera)?SM.ZOOM:SM.NONE},this.touches={one:SM.TOUCH_ROTATE,two:MM(this._camera)?SM.TOUCH_DOLLY_TRUCK:TM(this._camera)?SM.TOUCH_ZOOM_TRUCK:SM.NONE,three:SM.TOUCH_TRUCK};const n=new XM.Vector2,r=new XM.Vector2,i=new XM.Vector2,o=e=>{if(!this._enabled||!this._domElement)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,r=e.clientY/t.height;if(nthis._interactiveArea.right||rthis._interactiveArea.bottom)return}const t="mouse"!==e.pointerType?null:(e.buttons&_M)===_M?_M:(e.buttons&bM)===bM?bM:(e.buttons&xM)===xM?xM:null;if(null!==t){const e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}if((e.buttons&_M)===_M&&this._lockedPointer)return;const n={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:t};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.addEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",c),this._isDragging=!0,f(e)},s=e=>{if(!this._enabled||!this._domElement||this._lockedPointer)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,r=e.clientY/t.height;if(nthis._interactiveArea.right||rthis._interactiveArea.bottom)return}const t=(e.buttons&_M)===_M?_M:(e.buttons&bM)===bM?bM:(e.buttons&xM)===xM?xM:null;if(null!==t){const e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}const n={pointerId:1,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:(e.buttons&_M)===_M?_M:(e.buttons&bM)===_M?bM:(e.buttons&xM)===_M?xM:null};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("mouseup",u),this._domElement.ownerDocument.addEventListener("mousemove",l),this._domElement.ownerDocument.addEventListener("mouseup",u),this._isDragging=!0,f(e)},a=e=>{e.cancelable&&e.preventDefault();const t=e.pointerId,n=this._lockedPointer||this._findPointerById(t);if(n){if(n.clientX=e.clientX,n.clientY=e.clientY,n.deltaX=e.movementX,n.deltaY=e.movementY,this._state=0,"touch"===e.pointerType)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else(!this._isDragging&&this._lockedPointer||this._isDragging&&(e.buttons&_M)===_M)&&(this._state=this._state|this.mouseButtons.left),this._isDragging&&(e.buttons&bM)===bM&&(this._state=this._state|this.mouseButtons.middle),this._isDragging&&(e.buttons&xM)===xM&&(this._state=this._state|this.mouseButtons.right);m()}},l=e=>{const t=this._lockedPointer||this._findPointerById(1);t&&(t.clientX=e.clientX,t.clientY=e.clientY,t.deltaX=e.movementX,t.deltaY=e.movementY,this._state=0,(this._lockedPointer||(e.buttons&_M)===_M)&&(this._state=this._state|this.mouseButtons.left),(e.buttons&bM)===bM&&(this._state=this._state|this.mouseButtons.middle),(e.buttons&xM)===xM&&(this._state=this._state|this.mouseButtons.right),m())},c=e=>{const t=this._findPointerById(e.pointerId);if(!t||t!==this._lockedPointer){if(t&&this._disposePointer(t),"touch"===e.pointerType)switch(this._activePointers.length){case 0:this._state=SM.NONE;break;case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else this._state=SM.NONE;g()}},u=()=>{const e=this._findPointerById(1);e&&e===this._lockedPointer||(e&&this._disposePointer(e),this._state=SM.NONE,g())};let d=-1;const h=e=>{if(!this._domElement)return;if(!this._enabled||this.mouseButtons.wheel===SM.NONE)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,r=e.clientY/t.height;if(nthis._interactiveArea.right||rthis._interactiveArea.bottom)return}if(e.preventDefault(),this.dollyToCursor||this.mouseButtons.wheel===SM.ROTATE||this.mouseButtons.wheel===SM.TRUCK){const e=performance.now();d-e<1e3&&this._getClientRect(this._elementRect),d=e}const t=GM?-1:-3,n=1===e.deltaMode?e.deltaY/t:e.deltaY/(10*t),r=this.dollyToCursor?(e.clientX-this._elementRect.x)/this._elementRect.width*2-1:0,i=this.dollyToCursor?(e.clientY-this._elementRect.y)/this._elementRect.height*-2+1:0;switch(this.mouseButtons.wheel){case SM.ROTATE:this._rotateInternal(e.deltaX,e.deltaY),this._isUserControllingRotate=!0;break;case SM.TRUCK:this._truckInternal(e.deltaX,e.deltaY,!1),this._isUserControllingTruck=!0;break;case SM.OFFSET:this._truckInternal(e.deltaX,e.deltaY,!0),this._isUserControllingOffset=!0;break;case SM.DOLLY:this._dollyInternal(-n,r,i),this._isUserControllingDolly=!0;break;case SM.ZOOM:this._zoomInternal(-n,r,i),this._isUserControllingZoom=!0}this.dispatchEvent({type:"control"})},p=e=>{if(this._domElement&&this._enabled){if(this.mouseButtons.right===gT.ACTION.NONE){const t=e instanceof PointerEvent?e.pointerId:(MouseEvent,0),n=this._findPointerById(t);return n&&this._disposePointer(n),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mousemove",l),void this._domElement.ownerDocument.removeEventListener("mouseup",u)}e.preventDefault()}},f=e=>{if(!this._enabled)return;zM(this._activePointers,JM),this._getClientRect(this._elementRect),n.copy(JM),r.copy(JM);if(this._activePointers.length>=2){const e=JM.x-this._activePointers[1].clientX,t=JM.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t);i.set(0,n);const o=.5*(this._activePointers[0].clientX+this._activePointers[1].clientX),s=.5*(this._activePointers[0].clientY+this._activePointers[1].clientY);r.set(o,s)}if(this._state=0,e)if("pointerType"in e&&"touch"===e.pointerType)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else this._lockedPointer||(e.buttons&_M)!==_M||(this._state=this._state|this.mouseButtons.left),(e.buttons&bM)===bM&&(this._state=this._state|this.mouseButtons.middle),(e.buttons&xM)===xM&&(this._state=this._state|this.mouseButtons.right);else this._lockedPointer&&(this._state=this._state|this.mouseButtons.left);(this._state&SM.ROTATE)!==SM.ROTATE&&(this._state&SM.TOUCH_ROTATE)!==SM.TOUCH_ROTATE&&(this._state&SM.TOUCH_DOLLY_ROTATE)!==SM.TOUCH_DOLLY_ROTATE&&(this._state&SM.TOUCH_ZOOM_ROTATE)!==SM.TOUCH_ZOOM_ROTATE||(this._sphericalEnd.theta=this._spherical.theta,this._sphericalEnd.phi=this._spherical.phi,this._thetaVelocity.value=0,this._phiVelocity.value=0),(this._state&SM.TRUCK)!==SM.TRUCK&&(this._state&SM.TOUCH_TRUCK)!==SM.TOUCH_TRUCK&&(this._state&SM.TOUCH_DOLLY_TRUCK)!==SM.TOUCH_DOLLY_TRUCK&&(this._state&SM.TOUCH_ZOOM_TRUCK)!==SM.TOUCH_ZOOM_TRUCK||(this._targetEnd.copy(this._target),this._targetVelocity.set(0,0,0)),(this._state&SM.DOLLY)!==SM.DOLLY&&(this._state&SM.TOUCH_DOLLY)!==SM.TOUCH_DOLLY&&(this._state&SM.TOUCH_DOLLY_TRUCK)!==SM.TOUCH_DOLLY_TRUCK&&(this._state&SM.TOUCH_DOLLY_OFFSET)!==SM.TOUCH_DOLLY_OFFSET&&(this._state&SM.TOUCH_DOLLY_ROTATE)!==SM.TOUCH_DOLLY_ROTATE||(this._sphericalEnd.radius=this._spherical.radius,this._radiusVelocity.value=0),(this._state&SM.ZOOM)!==SM.ZOOM&&(this._state&SM.TOUCH_ZOOM)!==SM.TOUCH_ZOOM&&(this._state&SM.TOUCH_ZOOM_TRUCK)!==SM.TOUCH_ZOOM_TRUCK&&(this._state&SM.TOUCH_ZOOM_OFFSET)!==SM.TOUCH_ZOOM_OFFSET&&(this._state&SM.TOUCH_ZOOM_ROTATE)!==SM.TOUCH_ZOOM_ROTATE||(this._zoomEnd=this._zoom,this._zoomVelocity.value=0),(this._state&SM.OFFSET)!==SM.OFFSET&&(this._state&SM.TOUCH_OFFSET)!==SM.TOUCH_OFFSET&&(this._state&SM.TOUCH_DOLLY_OFFSET)!==SM.TOUCH_DOLLY_OFFSET&&(this._state&SM.TOUCH_ZOOM_OFFSET)!==SM.TOUCH_ZOOM_OFFSET||(this._focalOffsetEnd.copy(this._focalOffset),this._focalOffsetVelocity.set(0,0,0)),this.dispatchEvent({type:"controlstart"})},m=()=>{if(!this._enabled||!this._dragNeedsUpdate)return;this._dragNeedsUpdate=!1,zM(this._activePointers,JM);const e=this._domElement&&document.pointerLockElement===this._domElement?this._lockedPointer||this._activePointers[0]:null,t=e?-e.deltaX:r.x-JM.x,o=e?-e.deltaY:r.y-JM.y;if(r.copy(JM),(this._state&SM.ROTATE)!==SM.ROTATE&&(this._state&SM.TOUCH_ROTATE)!==SM.TOUCH_ROTATE&&(this._state&SM.TOUCH_DOLLY_ROTATE)!==SM.TOUCH_DOLLY_ROTATE&&(this._state&SM.TOUCH_ZOOM_ROTATE)!==SM.TOUCH_ZOOM_ROTATE||(this._rotateInternal(t,o),this._isUserControllingRotate=!0),(this._state&SM.DOLLY)===SM.DOLLY||(this._state&SM.ZOOM)===SM.ZOOM){const e=this.dollyToCursor?(n.x-this._elementRect.x)/this._elementRect.width*2-1:0,t=this.dollyToCursor?(n.y-this._elementRect.y)/this._elementRect.height*-2+1:0,r=this.dollyDragInverted?-1:1;(this._state&SM.DOLLY)===SM.DOLLY?(this._dollyInternal(r*o*VM,e,t),this._isUserControllingDolly=!0):(this._zoomInternal(r*o*VM,e,t),this._isUserControllingZoom=!0)}if((this._state&SM.TOUCH_DOLLY)===SM.TOUCH_DOLLY||(this._state&SM.TOUCH_ZOOM)===SM.TOUCH_ZOOM||(this._state&SM.TOUCH_DOLLY_TRUCK)===SM.TOUCH_DOLLY_TRUCK||(this._state&SM.TOUCH_ZOOM_TRUCK)===SM.TOUCH_ZOOM_TRUCK||(this._state&SM.TOUCH_DOLLY_OFFSET)===SM.TOUCH_DOLLY_OFFSET||(this._state&SM.TOUCH_ZOOM_OFFSET)===SM.TOUCH_ZOOM_OFFSET||(this._state&SM.TOUCH_DOLLY_ROTATE)===SM.TOUCH_DOLLY_ROTATE||(this._state&SM.TOUCH_ZOOM_ROTATE)===SM.TOUCH_ZOOM_ROTATE){const e=JM.x-this._activePointers[1].clientX,t=JM.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t),o=i.y-n;i.set(0,n);const s=this.dollyToCursor?(r.x-this._elementRect.x)/this._elementRect.width*2-1:0,a=this.dollyToCursor?(r.y-this._elementRect.y)/this._elementRect.height*-2+1:0;(this._state&SM.TOUCH_DOLLY)===SM.TOUCH_DOLLY||(this._state&SM.TOUCH_DOLLY_ROTATE)===SM.TOUCH_DOLLY_ROTATE||(this._state&SM.TOUCH_DOLLY_TRUCK)===SM.TOUCH_DOLLY_TRUCK||(this._state&SM.TOUCH_DOLLY_OFFSET)===SM.TOUCH_DOLLY_OFFSET?(this._dollyInternal(o*VM,s,a),this._isUserControllingDolly=!0):(this._zoomInternal(o*VM,s,a),this._isUserControllingZoom=!0)}(this._state&SM.TRUCK)!==SM.TRUCK&&(this._state&SM.TOUCH_TRUCK)!==SM.TOUCH_TRUCK&&(this._state&SM.TOUCH_DOLLY_TRUCK)!==SM.TOUCH_DOLLY_TRUCK&&(this._state&SM.TOUCH_ZOOM_TRUCK)!==SM.TOUCH_ZOOM_TRUCK||(this._truckInternal(t,o,!1),this._isUserControllingTruck=!0),(this._state&SM.OFFSET)!==SM.OFFSET&&(this._state&SM.TOUCH_OFFSET)!==SM.TOUCH_OFFSET&&(this._state&SM.TOUCH_DOLLY_OFFSET)!==SM.TOUCH_DOLLY_OFFSET&&(this._state&SM.TOUCH_ZOOM_OFFSET)!==SM.TOUCH_ZOOM_OFFSET||(this._truckInternal(t,o,!0),this._isUserControllingOffset=!0),this.dispatchEvent({type:"control"})},g=()=>{zM(this._activePointers,JM),r.copy(JM),this._dragNeedsUpdate=!1,(0===this._activePointers.length||1===this._activePointers.length&&this._activePointers[0]===this._lockedPointer)&&(this._isDragging=!1),0===this._activePointers.length&&this._domElement&&(this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mouseup",u),this.dispatchEvent({type:"controlend"}))};this.lockPointer=()=>{this._enabled&&this._domElement&&(this.cancel(),this._lockedPointer={pointerId:-1,clientX:0,clientY:0,deltaX:0,deltaY:0,mouseButton:null},this._activePointers.push(this._lockedPointer),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.requestPointerLock(),this._domElement.ownerDocument.addEventListener("pointerlockchange",v),this._domElement.ownerDocument.addEventListener("pointerlockerror",y),this._domElement.ownerDocument.addEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",c),f())},this.unlockPointer=()=>{null!==this._lockedPointer&&(this._disposePointer(this._lockedPointer),this._lockedPointer=null),document.exitPointerLock(),this.cancel(),this._domElement&&(this._domElement.ownerDocument.removeEventListener("pointerlockchange",v),this._domElement.ownerDocument.removeEventListener("pointerlockerror",y))};const v=()=>{this._domElement&&this._domElement.ownerDocument.pointerLockElement===this._domElement||this.unlockPointer()},y=()=>{this.unlockPointer()};this._addAllEventListeners=e=>{this._domElement=e,this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none",this._domElement.addEventListener("pointerdown",o),$M&&this._domElement.addEventListener("mousedown",s),this._domElement.addEventListener("pointercancel",c),this._domElement.addEventListener("wheel",h,{passive:!1}),this._domElement.addEventListener("contextmenu",p)},this._removeAllEventListeners=()=>{this._domElement&&(this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect="",this._domElement.removeEventListener("pointerdown",o),this._domElement.removeEventListener("mousedown",s),this._domElement.removeEventListener("pointercancel",c),this._domElement.removeEventListener("wheel",h,{passive:!1}),this._domElement.removeEventListener("contextmenu",p),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("mousemove",l),this._domElement.ownerDocument.removeEventListener("pointerup",c),this._domElement.ownerDocument.removeEventListener("mouseup",u),this._domElement.ownerDocument.removeEventListener("pointerlockchange",v),this._domElement.ownerDocument.removeEventListener("pointerlockerror",y))},this.cancel=()=>{this._state!==SM.NONE&&(this._state=SM.NONE,this._activePointers.length=0,g())},t&&this.connect(t),this.update(0)}get camera(){return this._camera}set camera(e){this._camera=e,this.updateCameraUp(),this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._domElement&&(e?(this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none"):(this.cancel(),this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect=""))}get active(){return!this._hasRested}get currentAction(){return this._state}get distance(){return this._spherical.radius}set distance(e){this._spherical.radius===e&&this._sphericalEnd.radius===e||(this._spherical.radius=e,this._sphericalEnd.radius=e,this._needsUpdate=!0)}get azimuthAngle(){return this._spherical.theta}set azimuthAngle(e){this._spherical.theta===e&&this._sphericalEnd.theta===e||(this._spherical.theta=e,this._sphericalEnd.theta=e,this._needsUpdate=!0)}get polarAngle(){return this._spherical.phi}set polarAngle(e){this._spherical.phi===e&&this._sphericalEnd.phi===e||(this._spherical.phi=e,this._sphericalEnd.phi=e,this._needsUpdate=!0)}get boundaryEnclosesCamera(){return this._boundaryEnclosesCamera}set boundaryEnclosesCamera(e){this._boundaryEnclosesCamera=e,this._needsUpdate=!0}set interactiveArea(e){this._interactiveArea.width=kM(e.width,0,1),this._interactiveArea.height=kM(e.height,0,1),this._interactiveArea.x=kM(e.x,0,1-this._interactiveArea.width),this._interactiveArea.y=kM(e.y,0,1-this._interactiveArea.height)}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}rotate(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.rotateTo(this._sphericalEnd.theta+e,this._sphericalEnd.phi+t,n)}rotateAzimuthTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.rotateTo(e,this._sphericalEnd.phi,t)}rotatePolarTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.rotateTo(this._sphericalEnd.theta,e,t)}rotateTo(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._isUserControllingRotate=!1;const r=kM(e,this.minAzimuthAngle,this.maxAzimuthAngle),i=kM(t,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=r,this._sphericalEnd.phi=i,this._sphericalEnd.makeSafe(),this._needsUpdate=!0,n||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi);const o=!n||OM(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&OM(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold);return this._createOnRestPromise(o)}dolly(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.dollyTo(this._sphericalEnd.radius-e,t)}dollyTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._isUserControllingDolly=!1,this._lastDollyDirection=wM,this._changedDolly=0,this._dollyToNoClamp(kM(e,this.minDistance,this.maxDistance),t)}_dollyToNoClamp(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this._sphericalEnd.radius;if(this.colliderMeshes.length>=1){const t=this._collisionTest(),r=OM(t,this._spherical.radius);if(!(n>e)&&r)return Promise.resolve();this._sphericalEnd.radius=Math.min(e,t)}else this._sphericalEnd.radius=e;this._needsUpdate=!0,t||(this._spherical.radius=this._sphericalEnd.radius);const r=!t||OM(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(r)}dollyInFixed(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._targetEnd.add(this._getCameraDirection(tT).multiplyScalar(e)),t||this._target.copy(this._targetEnd);const n=!t||OM(this._target.x,this._targetEnd.x,this.restThreshold)&&OM(this._target.y,this._targetEnd.y,this.restThreshold)&&OM(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(n)}zoom(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.zoomTo(this._zoomEnd+e,t)}zoomTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._isUserControllingZoom=!1,this._zoomEnd=kM(e,this.minZoom,this.maxZoom),this._needsUpdate=!0,t||(this._zoom=this._zoomEnd);const n=!t||OM(this._zoom,this._zoomEnd,this.restThreshold);return this._changedZoom=0,this._createOnRestPromise(n)}pan(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return console.warn("`pan` has been renamed to `truck`"),this.truck(e,t,n)}truck(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._camera.updateMatrix(),nT.setFromMatrixColumn(this._camera.matrix,0),rT.setFromMatrixColumn(this._camera.matrix,1),nT.multiplyScalar(e),rT.multiplyScalar(-t);const r=KM.copy(nT).add(rT),i=QM.copy(this._targetEnd).add(r);return this.moveTo(i.x,i.y,i.z,n)}forward(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];KM.setFromMatrixColumn(this._camera.matrix,0),KM.crossVectors(this._camera.up,KM),KM.multiplyScalar(e);const n=QM.copy(this._targetEnd).add(KM);return this.moveTo(n.x,n.y,n.z,t)}elevate(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return KM.copy(this._camera.up).multiplyScalar(e),this.moveTo(this._targetEnd.x+KM.x,this._targetEnd.y+KM.y,this._targetEnd.z+KM.z,t)}moveTo(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this._isUserControllingTruck=!1;const i=KM.set(e,t,n).sub(this._targetEnd);this._encloseToBoundary(this._targetEnd,i,this.boundaryFriction),this._needsUpdate=!0,r||this._target.copy(this._targetEnd);const o=!r||OM(this._target.x,this._targetEnd.x,this.restThreshold)&&OM(this._target.y,this._targetEnd.y,this.restThreshold)&&OM(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(o)}lookInDirectionOf(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=KM.set(e,t,n).sub(this._targetEnd).normalize().multiplyScalar(-this._sphericalEnd.radius);return this.setPosition(i.x,i.y,i.z,r)}fitToBox(e,t){let{cover:n=!1,paddingLeft:r=0,paddingRight:i=0,paddingBottom:o=0,paddingTop:s=0}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=[],l=e.isBox3?cT.copy(e):cT.setFromObject(e);l.isEmpty()&&(console.warn("camera-controls: fitTo() cannot be used with an empty box. Aborting"),Promise.resolve());const c=BM(this._sphericalEnd.theta,LM),u=BM(this._sphericalEnd.phi,LM);a.push(this.rotateTo(c,u,t));const d=KM.setFromSpherical(this._sphericalEnd).normalize(),h=hT.setFromUnitVectors(d,ZM),p=OM(Math.abs(d.y),1);p&&h.multiply(pT.setFromAxisAngle(qM,c)),h.multiply(this._yAxisUpSpaceInverse);const f=uT.makeEmpty();QM.copy(l.min).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.min).setX(l.max.x).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.min).setY(l.max.y).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.max).setZ(l.min.z).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.min).setZ(l.max.z).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.max).setY(l.min.y).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.max).setX(l.min.x).applyQuaternion(h),f.expandByPoint(QM),QM.copy(l.max).applyQuaternion(h),f.expandByPoint(QM),f.min.x-=r,f.min.y-=o,f.max.x+=i,f.max.y+=s,h.setFromUnitVectors(ZM,d),p&&h.premultiply(pT.invert()),h.premultiply(this._yAxisUpSpace);const m=f.getSize(KM),g=f.getCenter(QM).applyQuaternion(h);if(MM(this._camera)){const e=this.getDistanceToFitBox(m.x,m.y,m.z,n);a.push(this.moveTo(g.x,g.y,g.z,t)),a.push(this.dollyTo(e,t)),a.push(this.setFocalOffset(0,0,0,t))}else if(TM(this._camera)){const e=this._camera,r=e.right-e.left,i=e.top-e.bottom,o=n?Math.max(r/m.x,i/m.y):Math.min(r/m.x,i/m.y);a.push(this.moveTo(g.x,g.y,g.z,t)),a.push(this.zoomTo(o,t)),a.push(this.setFocalOffset(0,0,0,t))}return Promise.all(a)}fitToSphere(e,t){const n=[],r=e instanceof XM.Sphere?dT.copy(e):gT.createBoundingSphere(e,dT);if(n.push(this.moveTo(r.center.x,r.center.y,r.center.z,t)),MM(this._camera)){const e=this.getDistanceToFitSphere(r.radius);n.push(this.dollyTo(e,t))}else if(TM(this._camera)){const e=this._camera.right-this._camera.left,i=this._camera.top-this._camera.bottom,o=2*r.radius,s=Math.min(e/o,i/o);n.push(this.zoomTo(s,t))}return n.push(this.setFocalOffset(0,0,0,t)),Promise.all(n)}setLookAt(e,t,n,r,i,o){let s=arguments.length>6&&void 0!==arguments[6]&&arguments[6];this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=wM,this._changedDolly=0;const a=QM.set(r,i,o),l=KM.set(e,t,n);this._targetEnd.copy(a),this._sphericalEnd.setFromVector3(l.sub(a).applyQuaternion(this._yAxisUpSpace)),this.normalizeRotations(),this._needsUpdate=!0,s||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const c=!s||OM(this._target.x,this._targetEnd.x,this.restThreshold)&&OM(this._target.y,this._targetEnd.y,this.restThreshold)&&OM(this._target.z,this._targetEnd.z,this.restThreshold)&&OM(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&OM(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&OM(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(c)}lerpLookAt(e,t,n,r,i,o,s,a,l,c,u,d,h){let p=arguments.length>13&&void 0!==arguments[13]&&arguments[13];this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=wM,this._changedDolly=0;const f=KM.set(r,i,o),m=QM.set(e,t,n);aT.setFromVector3(m.sub(f).applyQuaternion(this._yAxisUpSpace));const g=eT.set(c,u,d),v=QM.set(s,a,l);lT.setFromVector3(v.sub(g).applyQuaternion(this._yAxisUpSpace)),this._targetEnd.copy(f.lerp(g,h));const y=lT.theta-aT.theta,_=lT.phi-aT.phi,x=lT.radius-aT.radius;this._sphericalEnd.set(aT.radius+x*h,aT.phi+_*h,aT.theta+y*h),this.normalizeRotations(),this._needsUpdate=!0,p||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const b=!p||OM(this._target.x,this._targetEnd.x,this.restThreshold)&&OM(this._target.y,this._targetEnd.y,this.restThreshold)&&OM(this._target.z,this._targetEnd.z,this.restThreshold)&&OM(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&OM(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&OM(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(b)}setPosition(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return this.setLookAt(e,t,n,this._targetEnd.x,this._targetEnd.y,this._targetEnd.z,r)}setTarget(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=this.getPosition(KM),o=this.setLookAt(i.x,i.y,i.z,e,t,n,r);return this._sphericalEnd.phi=kM(this._sphericalEnd.phi,this.minPolarAngle,this.maxPolarAngle),o}setFocalOffset(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this._isUserControllingOffset=!1,this._focalOffsetEnd.set(e,t,n),this._needsUpdate=!0,r||this._focalOffset.copy(this._focalOffsetEnd);const i=!r||OM(this._focalOffset.x,this._focalOffsetEnd.x,this.restThreshold)&&OM(this._focalOffset.y,this._focalOffsetEnd.y,this.restThreshold)&&OM(this._focalOffset.z,this._focalOffsetEnd.z,this.restThreshold);return this._createOnRestPromise(i)}setOrbitPoint(e,t,n){this._camera.updateMatrixWorld(),nT.setFromMatrixColumn(this._camera.matrixWorldInverse,0),rT.setFromMatrixColumn(this._camera.matrixWorldInverse,1),iT.setFromMatrixColumn(this._camera.matrixWorldInverse,2);const r=KM.set(e,t,n),i=r.distanceTo(this._camera.position),o=r.sub(this._camera.position);nT.multiplyScalar(o.x),rT.multiplyScalar(o.y),iT.multiplyScalar(o.z),KM.copy(nT).add(rT).add(iT),KM.z=KM.z+i,this.dollyTo(i,!1),this.setFocalOffset(-KM.x,KM.y,-KM.z,!1),this.moveTo(e,t,n,!1)}setBoundary(e){if(!e)return this._boundary.min.set(-1/0,-1/0,-1/0),this._boundary.max.set(1/0,1/0,1/0),void(this._needsUpdate=!0);this._boundary.copy(e),this._boundary.clampPoint(this._targetEnd,this._targetEnd),this._needsUpdate=!0}setViewport(e,t,n,r){null!==e?(this._viewport=this._viewport||new XM.Vector4,"number"==typeof e?this._viewport.set(e,t,n,r):this._viewport.copy(e)):this._viewport=null}getDistanceToFitBox(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(HM(this._camera,"getDistanceToFitBox"))return this._spherical.radius;const i=e/t,o=this._camera.getEffectiveFOV()*PM,s=this._camera.aspect;return.5*((r?i>s:i1&&void 0!==arguments[1])||arguments[1];return(e&&e.isVector3?e:new XM.Vector3).copy(t?this._targetEnd:this._target)}getPosition(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(e&&e.isVector3?e:new XM.Vector3).setFromSpherical(t?this._sphericalEnd:this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(t?this._targetEnd:this._target)}getSpherical(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(e&&e instanceof XM.Spherical?e:new XM.Spherical).copy(t?this._sphericalEnd:this._spherical)}getFocalOffset(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(e&&e.isVector3?e:new XM.Vector3).copy(t?this._focalOffsetEnd:this._focalOffset)}normalizeRotations(){this._sphericalEnd.theta=this._sphericalEnd.theta%EM,this._sphericalEnd.theta<0&&(this._sphericalEnd.theta+=EM),this._spherical.theta+=EM*Math.round((this._sphericalEnd.theta-this._spherical.theta)/EM)}reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!OM(this._camera.up.x,this._cameraUp0.x)||!OM(this._camera.up.y,this._cameraUp0.y)||!OM(this._camera.up.z,this._cameraUp0.z)){this._camera.up.copy(this._cameraUp0);const e=this.getPosition(KM);this.updateCameraUp(),this.setPosition(e.x,e.y,e.z)}const t=[this.setLookAt(this._position0.x,this._position0.y,this._position0.z,this._target0.x,this._target0.y,this._target0.z,e),this.setFocalOffset(this._focalOffset0.x,this._focalOffset0.y,this._focalOffset0.z,e),this.zoomTo(this._zoom0,e)];return Promise.all(t)}saveState(){this._cameraUp0.copy(this._camera.up),this.getTarget(this._target0),this.getPosition(this._position0),this._zoom0=this._zoom,this._focalOffset0.copy(this._focalOffset)}updateCameraUp(){this._yAxisUpSpace.setFromUnitVectors(this._camera.up,qM),this._yAxisUpSpaceInverse.copy(this._yAxisUpSpace).invert()}applyCameraUp(){const e=KM.subVectors(this._target,this._camera.position).normalize(),t=QM.crossVectors(e,this._camera.up);this._camera.up.crossVectors(t,e).normalize(),this._camera.updateMatrixWorld();const n=this.getPosition(KM);this.updateCameraUp(),this.setPosition(n.x,n.y,n.z)}update(e){const t=this._sphericalEnd.theta-this._spherical.theta,n=this._sphericalEnd.phi-this._spherical.phi,r=this._sphericalEnd.radius-this._spherical.radius,i=oT.subVectors(this._targetEnd,this._target),o=sT.subVectors(this._focalOffsetEnd,this._focalOffset),s=this._zoomEnd-this._zoom;if(IM(t))this._thetaVelocity.value=0,this._spherical.theta=this._sphericalEnd.theta;else{const t=this._isUserControllingRotate?this.draggingSmoothTime:this.smoothTime;this._spherical.theta=FM(this._spherical.theta,this._sphericalEnd.theta,this._thetaVelocity,t,1/0,e),this._needsUpdate=!0}if(IM(n))this._phiVelocity.value=0,this._spherical.phi=this._sphericalEnd.phi;else{const t=this._isUserControllingRotate?this.draggingSmoothTime:this.smoothTime;this._spherical.phi=FM(this._spherical.phi,this._sphericalEnd.phi,this._phiVelocity,t,1/0,e),this._needsUpdate=!0}if(IM(r))this._radiusVelocity.value=0,this._spherical.radius=this._sphericalEnd.radius;else{const t=this._isUserControllingDolly?this.draggingSmoothTime:this.smoothTime;this._spherical.radius=FM(this._spherical.radius,this._sphericalEnd.radius,this._radiusVelocity,t,this.maxSpeed,e),this._needsUpdate=!0}if(IM(i.x)&&IM(i.y)&&IM(i.z))this._targetVelocity.set(0,0,0),this._target.copy(this._targetEnd);else{const t=this._isUserControllingTruck?this.draggingSmoothTime:this.smoothTime;NM(this._target,this._targetEnd,this._targetVelocity,t,this.maxSpeed,e,this._target),this._needsUpdate=!0}if(IM(o.x)&&IM(o.y)&&IM(o.z))this._focalOffsetVelocity.set(0,0,0),this._focalOffset.copy(this._focalOffsetEnd);else{const t=this._isUserControllingOffset?this.draggingSmoothTime:this.smoothTime;NM(this._focalOffset,this._focalOffsetEnd,this._focalOffsetVelocity,t,this.maxSpeed,e,this._focalOffset),this._needsUpdate=!0}if(IM(s))this._zoomVelocity.value=0,this._zoom=this._zoomEnd;else{const t=this._isUserControllingZoom?this.draggingSmoothTime:this.smoothTime;this._zoom=FM(this._zoom,this._zoomEnd,this._zoomVelocity,t,1/0,e)}if(this.dollyToCursor)if(MM(this._camera)&&0!==this._changedDolly){const e=this._spherical.radius-this._lastDistance,t=this._camera,n=this._getCameraDirection(tT),r=KM.copy(n).cross(t.up).normalize();0===r.lengthSq()&&(r.x=1);const i=QM.crossVectors(r,n),o=this._sphericalEnd.radius*Math.tan(t.getEffectiveFOV()*PM*.5),s=(this._sphericalEnd.radius-e-this._sphericalEnd.radius)/this._sphericalEnd.radius,a=eT.copy(this._targetEnd).add(r.multiplyScalar(this._dollyControlCoord.x*o*t.aspect)).add(i.multiplyScalar(this._dollyControlCoord.y*o)),l=KM.copy(this._targetEnd).lerp(a,s),c=this._lastDollyDirection===CM&&this._spherical.radius<=this.minDistance,u=this._lastDollyDirection===AM&&this.maxDistance<=this._spherical.radius;if(this.infinityDolly&&(c||u)){this._sphericalEnd.radius-=e,this._spherical.radius-=e;const t=QM.copy(n).multiplyScalar(-e);l.add(t)}this._boundary.clampPoint(l,l);const d=QM.subVectors(l,this._targetEnd);this._targetEnd.copy(l),this._target.add(d),this._changedDolly-=e,IM(this._changedDolly)&&(this._changedDolly=0)}else if(TM(this._camera)&&0!==this._changedZoom){const e=this._zoom-this._lastZoom,t=this._camera,n=KM.set(this._dollyControlCoord.x,this._dollyControlCoord.y,(t.near+t.far)/(t.near-t.far)).unproject(t),r=QM.set(0,0,-1).applyQuaternion(t.quaternion),i=eT.copy(n).add(r.multiplyScalar(-n.dot(t.up))),o=-(this._zoom-e-this._zoom)/this._zoom,s=this._getCameraDirection(tT),a=this._targetEnd.dot(s),l=KM.copy(this._targetEnd).lerp(i,o),c=l.dot(s),u=s.multiplyScalar(c-a);l.sub(u),this._boundary.clampPoint(l,l);const d=QM.subVectors(l,this._targetEnd);this._targetEnd.copy(l),this._target.add(d),this._changedZoom-=e,IM(this._changedZoom)&&(this._changedZoom=0)}this._camera.zoom!==this._zoom&&(this._camera.zoom=this._zoom,this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0),this._dragNeedsUpdate=!0;const a=this._collisionTest();this._spherical.radius=Math.min(this._spherical.radius,a),this._spherical.makeSafe(),this._camera.position.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(this._target),this._camera.lookAt(this._target);(!IM(this._focalOffset.x)||!IM(this._focalOffset.y)||!IM(this._focalOffset.z))&&(this._camera.updateMatrixWorld(),nT.setFromMatrixColumn(this._camera.matrix,0),rT.setFromMatrixColumn(this._camera.matrix,1),iT.setFromMatrixColumn(this._camera.matrix,2),nT.multiplyScalar(this._focalOffset.x),rT.multiplyScalar(-this._focalOffset.y),iT.multiplyScalar(this._focalOffset.z),KM.copy(nT).add(rT).add(iT),this._camera.position.add(KM)),this._boundaryEnclosesCamera&&this._encloseToBoundary(this._camera.position.copy(this._target),KM.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse),1);const l=this._needsUpdate;return l&&!this._updatedLastTime?(this._hasRested=!1,this.dispatchEvent({type:"wake"}),this.dispatchEvent({type:"update"})):l?(this.dispatchEvent({type:"update"}),IM(t,this.restThreshold)&&IM(n,this.restThreshold)&&IM(r,this.restThreshold)&&IM(i.x,this.restThreshold)&&IM(i.y,this.restThreshold)&&IM(i.z,this.restThreshold)&&IM(o.x,this.restThreshold)&&IM(o.y,this.restThreshold)&&IM(o.z,this.restThreshold)&&IM(s,this.restThreshold)&&!this._hasRested&&(this._hasRested=!0,this.dispatchEvent({type:"rest"}))):!l&&this._updatedLastTime&&this.dispatchEvent({type:"sleep"}),this._lastDistance=this._spherical.radius,this._lastZoom=this._zoom,this._updatedLastTime=l,this._needsUpdate=!1,l}toJSON(){return JSON.stringify({enabled:this._enabled,minDistance:this.minDistance,maxDistance:DM(this.maxDistance),minZoom:this.minZoom,maxZoom:DM(this.maxZoom),minPolarAngle:this.minPolarAngle,maxPolarAngle:DM(this.maxPolarAngle),minAzimuthAngle:DM(this.minAzimuthAngle),maxAzimuthAngle:DM(this.maxAzimuthAngle),smoothTime:this.smoothTime,draggingSmoothTime:this.draggingSmoothTime,dollySpeed:this.dollySpeed,truckSpeed:this.truckSpeed,dollyToCursor:this.dollyToCursor,verticalDragToForward:this.verticalDragToForward,target:this._targetEnd.toArray(),position:KM.setFromSpherical(this._sphericalEnd).add(this._targetEnd).toArray(),zoom:this._zoomEnd,focalOffset:this._focalOffsetEnd.toArray(),target0:this._target0.toArray(),position0:this._position0.toArray(),zoom0:this._zoom0,focalOffset0:this._focalOffset0.toArray()})}fromJSON(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=JSON.parse(e);this.enabled=n.enabled,this.minDistance=n.minDistance,this.maxDistance=UM(n.maxDistance),this.minZoom=n.minZoom,this.maxZoom=UM(n.maxZoom),this.minPolarAngle=n.minPolarAngle,this.maxPolarAngle=UM(n.maxPolarAngle),this.minAzimuthAngle=UM(n.minAzimuthAngle),this.maxAzimuthAngle=UM(n.maxAzimuthAngle),this.smoothTime=n.smoothTime,this.draggingSmoothTime=n.draggingSmoothTime,this.dollySpeed=n.dollySpeed,this.truckSpeed=n.truckSpeed,this.dollyToCursor=n.dollyToCursor,this.verticalDragToForward=n.verticalDragToForward,this._target0.fromArray(n.target0),this._position0.fromArray(n.position0),this._zoom0=n.zoom0,this._focalOffset0.fromArray(n.focalOffset0),this.moveTo(n.target[0],n.target[1],n.target[2],t),aT.setFromVector3(KM.fromArray(n.position).sub(this._targetEnd).applyQuaternion(this._yAxisUpSpace)),this.rotateTo(aT.theta,aT.phi,t),this.dollyTo(aT.radius,t),this.zoomTo(n.zoom,t),this.setFocalOffset(n.focalOffset[0],n.focalOffset[1],n.focalOffset[2],t),this._needsUpdate=!0}connect(e){this._domElement?console.warn("camera-controls is already connected."):(e.setAttribute("data-camera-controls-version","2.7.3"),this._addAllEventListeners(e),this._getClientRect(this._elementRect))}disconnect(){this.cancel(),this._removeAllEventListeners(),this._domElement&&(this._domElement.removeAttribute("data-camera-controls-version"),this._domElement=void 0)}dispose(){this.removeAllEventListeners(),this.disconnect()}_getTargetDirection(e){return e.setFromSpherical(this._spherical).divideScalar(this._spherical.radius).applyQuaternion(this._yAxisUpSpaceInverse)}_getCameraDirection(e){return this._getTargetDirection(e).negate()}_findPointerById(e){return this._activePointers.find((t=>t.pointerId===e))}_findPointerByMouseButton(e){return this._activePointers.find((t=>t.mouseButton===e))}_disposePointer(e){this._activePointers.splice(this._activePointers.indexOf(e),1)}_encloseToBoundary(e,t,n){const r=t.lengthSq();if(0===r)return e;const i=QM.copy(t).add(e),o=this._boundary.clampPoint(i,eT).sub(i),s=o.lengthSq();if(0===s)return e.add(t);if(s===r)return e;if(0===n)return e.add(t).add(o);{const r=1+n*s/t.dot(o);return e.add(QM.copy(t).multiplyScalar(r)).add(o.multiplyScalar(1-n))}}_updateNearPlaneCorners(){if(MM(this._camera)){const e=this._camera,t=e.near,n=e.getEffectiveFOV()*PM,r=Math.tan(.5*n)*t,i=r*e.aspect;this._nearPlaneCorners[0].set(-i,-r,0),this._nearPlaneCorners[1].set(i,-r,0),this._nearPlaneCorners[2].set(i,r,0),this._nearPlaneCorners[3].set(-i,r,0)}else if(TM(this._camera)){const e=this._camera,t=1/e.zoom,n=e.left*t,r=e.right*t,i=e.top*t,o=e.bottom*t;this._nearPlaneCorners[0].set(n,i,0),this._nearPlaneCorners[1].set(r,i,0),this._nearPlaneCorners[2].set(r,o,0),this._nearPlaneCorners[3].set(n,o,0)}}_collisionTest(){let e=1/0;if(!(this.colliderMeshes.length>=1))return e;if(HM(this._camera,"_collisionTest"))return e;const t=this._getTargetDirection(tT);fT.lookAt(YM,t,this._camera.up);for(let n=0;n<4;n++){const r=QM.copy(this._nearPlaneCorners[n]);r.applyMatrix4(fT);const i=eT.addVectors(this._target,r);mT.set(i,t),mT.far=this._spherical.radius+1;const o=mT.intersectObjects(this.colliderMeshes);0!==o.length&&o[0].distance{const t=()=>{this.removeEventListener("rest",t),e()};this.addEventListener("rest",t)})))}_addAllEventListeners(e){}_removeAllEventListeners(){}get dampingFactor(){return console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead."),0}set dampingFactor(e){console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead.")}get draggingDampingFactor(){return console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead."),0}set draggingDampingFactor(e){console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.")}static createBoundingSphere(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new XM.Sphere,n=t.center;cT.makeEmpty(),e.traverseVisible((e=>{e.isMesh&&cT.expandByObject(e)})),cT.getCenter(n);let r=0;return e.traverseVisible((e=>{if(!e.isMesh)return;const t=e,i=t.geometry.clone();i.applyMatrix4(t.matrixWorld);const o=i.attributes.position;for(let e=0,t=o.count;e>5&31)/31,o=(e>>10&31)/31):(r=a,i=l,o=c)}for(let a=1;a<=3;a++){const l=n+12*a,c=3*e*3+3*(a-1);p[c]=t.getFloat32(l,!0),p[c+1]=t.getFloat32(l+4,!0),p[c+2]=t.getFloat32(l+8,!0),f[c]=u,f[c+1]=h,f[c+2]=g,d&&(m.set(r,i,o).convertSRGBToLinear(),s[c]=m.r,s[c+1]=m.g,s[c+2]=m.b)}}return h.setAttribute("position",new bv(p,3)),h.setAttribute("normal",new bv(f,3)),d&&(h.setAttribute("color",new bv(s,3)),h.hasColors=!0,h.alpha=u),h}(n):function(e){const t=new kv,n=/solid([\s\S]*?)endsolid/g,r=/facet([\s\S]*?)endfacet/g,i=/solid\s(.+)/;let o=0;const s=/[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source,a=new RegExp("vertex"+s+s+s,"g"),l=new RegExp("normal"+s+s+s,"g"),c=[],u=[],d=[],h=new Gm;let p,f=0,m=0,g=0;for(;null!==(p=n.exec(e));){m=g;const e=p[0],n=null!==(p=i.exec(e))?p[1]:"";for(d.push(n);null!==(p=r.exec(e));){let e=0,t=0;const n=p[0];for(;null!==(p=l.exec(n));)h.x=parseFloat(p[1]),h.y=parseFloat(p[2]),h.z=parseFloat(p[3]),t++;for(;null!==(p=a.exec(n));)c.push(parseFloat(p[1]),parseFloat(p[2]),parseFloat(p[3])),u.push(h.x,h.y,h.z),e++,g++;1!==t&&console.error("THREE.STLLoader: Something isn't right with the normal of face number "+o),3!==e&&console.error("THREE.STLLoader: Something isn't right with the vertices of face number "+o),o++}const s=m,v=g-m;t.userData.groupNames=d,t.addGroup(s,v,f),f++}return t.setAttribute("position",new Cv(c,3)),t.setAttribute("normal",new Cv(u,3)),t}("string"!=typeof(r=e)?(new TextDecoder).decode(r):r);var r}}let yT=e=>{let t=(e=>{let t=jn(e,((e,t)=>{let n=(e=>{let t=(e=>{let t=e.geometry;return{cs:t.boundingSphere.center,rd:t.boundingSphere.radius}})(e);return{xmin:t.cs.x-t.rd,xmax:t.cs.x+t.rd,ymin:t.cs.y-t.rd,ymax:t.cs.y+t.rd,zmin:t.cs.z-t.rd,zmax:t.cs.z+t.rd}})(e);return n}));return{xmin:tu(jn(t,"xmin")),xmax:ru(jn(t,"xmax")),ymin:tu(jn(t,"ymin")),ymax:ru(jn(t,"ymax")),zmin:tu(jn(t,"zmin")),zmax:ru(jn(t,"zmax"))}})(e),n=t.xmax-t.xmin,r=t.ymax-t.ymin,i=t.zmax-t.zmin;return{cs:{x:(t.xmax+t.xmin)/2,y:(t.ymax+t.ymin)/2,z:(t.zmax+t.zmin)/2},rd:ru([n,r,i])}};function _T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xT(e){for(var t=1;te=hl.toRgbString(e);async function CT(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ds(e)||(e=[]);let n=me(t,"domPanel");Qo(n)||(n=document.body);let r=e=>{let t=0;if(as(e.innerWidth))t=e.innerWidth;else{if(!as(e.clientWidth))throw console.log("ele",e),new Error("can not get width from ele");t=e.clientWidth}let n=0;if(as(e.innerWidth))n=e.innerHeight;else{if(!as(e.clientWidth))throw console.log("ele",e),new Error("can not get height from ele");n=e.clientHeight}return{w:t,h:n}},i=r(n),o=i.w,s=i.h,a=me(t,"backgroundColor");$n(a)||(a="#222");let l=me(t,"useHelperAxes");os(l)||(l=!0);let c=me(t,"helperAxesLengthRatio");zi(c)||(c=1),c=Hi(c);let u=me(t,"useHelperGrid");os(u)||(u=!0);let d=me(t,"helperGridLengthRatio");zi(d)||(d=5),d=Hi(d);let h=me(t,"helperGridDensity");zi(h)||(h=50),h=Hi(h);let p=me(t,"helperGridPositionRatioZ");zi(p)||(p=-1),p=Hi(p);let f=me(t,"useLightAmbient");os(f)||(f=!0);let m=me(t,"lightAmbientColor");$n(m)||(m="#999");let g=me(t,"useLightPoint");os(g)||(g=!1);let v=me(t,"lightPointPoss");ds(v)||(v=[[5,5,5],[-5,5,5],[5,-5,5]]);let y=me(t,"lightPointColor");$n(y)||(y="#fff");let _=me(t,"lightPointIntensity");zi(_)||(_=100),_=Hi(_);let x=me(t,"lightPointDistance");zi(x)||(x=0),x=Hi(x);let b=me(t,"lightPointDecay");zi(b)||(b=2),b=Hi(b);let S=me(t,"useLightDirection");os(S)||(S=!0);let w=me(t,"lightDirectionColor");$n(w)||(w="#fff");let C=me(t,"lightDirectionIntensity");zi(C)||(C=3),C=Hi(C);let A=me(t,"lightDirectionPos");ds(A)||(A=[10,10,10]);let M=me(t,"cameraType");"perspective"!==M&&"orthographic"!==M&&(M="perspective");let T=me(t,"cameraFov");zi(T)||(T=35),T=Hi(T);let E=me(t,"cameraNear");zi(E)||(E=.1),E=Hi(E);let L=me(t,"cameraFar");zi(L)||(L=1e3),L=Hi(L);let R=me(t,"cameraOrthographicRatio");zi(R)||(R=.5),R=Hi(R);let P=me(t,"cameraPos");ds(P)||(P=[1,1,1]);let k=me(t,"cameraAzimuthAngle");zi(k)||(k=130),k=Hi(k);let I=me(t,"cameraPolarAngle");zi(I)||(I=50),I=Hi(I);let O=me(t,"labelTextColor");$n(O)||(O="#fff");let B=me(t,"labelTextFontFamily");$n(B)||(B="Microsoft JhengHei");let D=me(t,"labelTextFontSize");$n(D)||(D="0.8rem");let U=me(t,"useAutoRotate");os(U)||(U=!1);let F=me(t,"autoRotateDeg");zi(F)||(F=20),F=Hi(F);let N=Ki(),z=new vA,H=new ib;H.background=new cv(wT(a));let W=null,V=()=>{W=new uM(c),W.visible=l,H.add(W)},j=()=>{H.remove(W),W.dispose(),W=null};V();let G=null,$=()=>{G=new QA(d,h),G.visible=u,G.geometry.rotateX(.5*Math.PI),G.geometry.translate(0,0,p),H.add(G)},X=()=>{H.remove(G),G.dispose(),G=null};$();let Y=null;Y=new tA(wT(m)),Y.visible=f,H.add(Y);let q=null,Z=()=>{q=[],nt(v,(e=>{let t=new KC(wT(y),_,x,b);t.visible=g;let n=me(e,0,0),r=me(e,1,0),i=me(e,2,0);t.position.set(n,r,i),H.add(t),q.push(t)}))},J=()=>{nt(q,(e=>{H.remove(e),e.dispose(),e=null})),q=null};Z();let K=null,Q=()=>{K=new eA(wT(w),C),K.visible=S;let e=me(A,0,0),t=me(A,1,0),n=me(A,2,0);K.position.set(e,t,n),H.add(K)},ee=()=>{H.remove(K),K.dispose(),K=null};Q();let te=(e,t)=>{let n=1;return t>0&&(n=e/t),n},ne=te(o,s),re=null,ie=()=>{(e=>{let t=e*s,n=o,r=s-t,i=-t,a=o,l=s;re.setViewOffset(n,r,0,i,a,l)})(-.08)},oe=()=>{"perspective"===M?re=new oy(T,ne,E,L):"orthographic"===M&&(re=new Ry(-R*ne,R*ne,R,-R,E,L)),(e=>{let t=me(e,0,0),n=me(e,1,0),r=me(e,2,0);re.position.set(t,n,r)})(P),re.up.x=0,re.up.y=0,re.up.z=1,ie()},se=()=>{re=null};oe();let ae=new eb({antialias:!0});ae.setSize(o,s),n.appendChild(ae.domElement);let le=new yM;le.setSize(o,s),le.domElement.style.position="absolute",le.domElement.style.top="0px",le.domElement.style.left="0px",n.appendChild(le.domElement),gT.install({THREE:dM});let ce=null,ue=()=>{ce=new gT(re,le.domElement),ce.mouseButtons={left:gT.ACTION.ROTATE,middle:gT.ACTION.DOLLY,right:gT.ACTION.OFFSET,wheel:gT.ACTION.ZOOM},ce.touches={one:gT.ACTION.TOUCH_ROTATE,two:gT.ACTION.TOUCH_DOLLY_OFFSET,three:gT.ACTION.TOUCH_OFFSET}},de=()=>{ce=null};ue();let he=()=>{let e=me(ce,"azimuthAngle"),t=me(ce,"polarAngle");return{azimuthAngle:e*ST,polarAngle:t*ST}},pe=(e,t)=>{Zh(ce,"azimuthAngle",e*bT),Zh(ce,"polarAngle",t*bT)};pe(k,I);let fe=null,ge=setInterval((()=>{let e=he();pr(e,fe)||(fe=e,N.emit("change-view-angle",e))}),50),ve=null,ye=()=>{ve=new Yx,H.add(ve)},_e=()=>{ve.traverse((function(e){e.isMesh&&(e.geometry.dispose(),e.material.dispose())})),H.remove(ve),ve=null};ye();let xe=[],be=async e=>{let t=me(e,"type","");if($n(t)||(t=function(e){if(!$n(e))return"";let t=Ct(Qh(e),".");if(ur(t)<=1)return"";let n="";try{n=_l(t)}catch(e){}return n}(e.url)),"stl"!==t)throw new Error("現在僅支援stl檔");let n=me(e,"color",""),r=hl.toRgba(n),i=hl.toRgbString(r),o=r.a,s=await async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=me(n,"color",null);$n(r)||(r="#fff"),r=hl.toRgbString(r);let i=me(n,"opacity",null);as(i)||(i=1);let o=i<1,s=new vT,a=await s.loadAsync(t,(n=>{let r=n.loaded/n.total*100;e.emit("loading",{url:t,prog:r})})),l=new cC({color:new cv(r),depthTest:!0,depthWrite:!0,transparent:o,opacity:i,side:2});return new Zv(a,l)}(N,e.url,{color:i,opacity:o});s.name=e.name,s.color=n,xe.push(s),ve.add(s)},Se=async e=>{await Jh(e,(async e=>{await be(e)}))};await Se(e);let we={},Ce=()=>{nt(xe,(e=>{let t=e.geometry,n=1/we.r;t.scale(n,n,n),t.translate(we.x,we.y,we.z)}))},Ae=[],Me=()=>{nt(Ae,(e=>{es(e)})),Ae=[]},Te=async()=>{Le(),await Ys(1),(()=>{let e=yT(xe),t=e.cs,n=1;e.rd>0&&(n=1/e.rd),we=xT(xT({},t),{},{r:n})})(),nt(xe,(e=>{let t=e.geometry;t.translate(-we.x,-we.y,-we.z),t.scale(we.r,we.r,we.r)})),nt(xe,(e=>{let t=document.createElement("div");t.textContent=e.name,t.style.color=O,t.style.fontSize=D,t.style.fontFamily=B,t.style.visibility="visible";let n=new hM(t),r=e.geometry.boundingSphere.center;n.position.set(r.x,r.y,r.z),Ae.push(t),e.add(n)})),Le()},Ee=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{let n="hidden";!0===t&&(n="visible"),Ae[e].style.visibility=n}catch(e){console.log(e)}},Le=()=>{try{ae.render(H,re),le.render(H,re)}catch(e){console.log(e)}};Te().then((()=>{N.emit("init")}));let Re=!1,Pe=()=>{if(!Re)try{let e=z.getDelta(),t=ce.update(e);if(U){let t=-F*bT*e;ce.azimuthAngle+=t}requestAnimationFrame(Pe),t&&Le()}catch(e){console.log(e)}};Pe();return N.render=Le,N.resize=()=>{let e=r(n);o=e.w,s=e.h,ne=te(o,s),re.aspect=ne,re.updateProjectionMatrix(),ie(),ae.setSize(o,s),le.setSize(o,s),Le()},N.dispose=()=>{N.emit("dispose"),clearInterval(ge),Re=!0,_e(),j(),X(),H.remove(Y),Y.dispose(),Y=null,J(),ee(),Me(),(()=>{let e=e=>{e.dispose();for(let t of Object.keys(e)){let n=e[t];n&&"object"==typeof n&&"minFilter"in n&&n.dispose()}};H.traverse((t=>{if(t.isLight&&t.dispose(),t.isMesh)if(t.geometry.dispose(),t.material.isMaterial)e(t.material);else for(let n of t.material)e(n)})),H=null})(),es(ae.domElement),es(le.domElement),ae.dispose(),ae=null,le=null,z=null,de(),se(),H=null},N.getUseAutoRotate=()=>U,N.setUseAutoRotate=e=>{U=e},N.setAutoRotateDeg=e=>{F=e},N.setCameraViewAngle=pe,N.getCameraViewAngle=he,N.setCameraAzimuthAngle=e=>{k=e,pe(k,I)},N.setCameraPolarAngle=e=>{I=e,pe(k,I)},N.setBackgroundColor=e=>{a=e,H.background=new cv(wT(e)),Le()},N.getUseHelperAxes=()=>l,N.setUseHelperAxes=e=>{l=e,W.visible=e,Le()},N.setHelperAxesLengthRatio=e=>{c=e,j(),V(),Le()},N.getUseHelperGrid=()=>u,N.setUseHelperGrid=e=>{u=e,G.visible=e,Le()},N.setHelperGridLengthRatio=e=>{d=e,X(),$(),Le()},N.setHelperGridDensity=e=>{h=e,X(),$(),Le()},N.setHelperGridPositionRatioZ=e=>{p=e,X(),$(),Le()},N.setUseLightAmbient=e=>{f=e,Y.visible=e,Le()},N.setLightAmbientColor=e=>{m=e,Y.color=new cv(wT(e)),Le()},N.setUseLightPoint=e=>{g=e,nt(q,(t=>{t.visible=e})),Le()},N.setLightPointPoss=e=>{v=e,J(),Z(),Le()},N.setLightPointColor=e=>{y=e,J(),Z(),Le()},N.setLightPointIntensity=e=>{_=e,J(),Z(),Le()},N.setLightPointDistance=e=>{x=e,J(),Z(),Le()},N.setLightPointDecay=e=>{b=e,J(),Z(),Le()},N.setUseLightDirection=e=>{S=e,K.visible=e,Le()},N.setLightDirectionColor=e=>{w=e,K.color=new cv(wT(e)),Le()},N.setLightDirectionIntensity=e=>{C=e,ee(),Q(),Le()},N.setLightDirectionPos=e=>{A=e,ee(),Q(),Le()},N.getCameraType=()=>M,N.setCameraType=e=>{M=e,se(),oe(),de(),ue(),Le()},N.setCameraFov=e=>{T=e,re.fov=e,re.updateProjectionMatrix(),Le()},N.setCameraNear=e=>{E=e,re.near=e,re.updateProjectionMatrix(),Le()},N.setCameraFar=e=>{L=e,re.far=e,re.updateProjectionMatrix(),Le()},N.setCameraOrthographicRatio=e=>{R=e,se(),oe(),de(),ue(),Le()},N.addMesh=async e=>{Ce(),Me(),await be(e),Te()},N.addMeshs=async e=>{Ce(),Me(),await Se(e),Te()},N.getMeshsInfor=()=>{let e=jn(xe,((e,t)=>{let n=me(e,"color",""),r=me(Ae,t),i=me(r,"textContent",""),o=me(r,"style.color",""),s=me(r,"style.fontSize",""),a=me(r,"style.fontFamily","");return{visible:e.visible,color:n,labelText:i,labelTextColor:o,labelTextFontSize:s,labelTextFontFamily:a}}));return e},N.setMeshVisible=(e,t)=>{((e,t)=>{if(!Go(me(xe,e)))return null;try{xe[e].visible=t}catch(e){console.log(e)}})(e,t),Ee(e,t),Le()},N.setMeshColor=(e,t)=>{if(!Go(me(xe,e)))return null;try{let n=hl.toRgba(t),r=hl.toRgbString(n),i=n.a;xe[e].material.color=new cv(r),xe[e].material.opacity=i,xe[e].color=t}catch(e){console.log(e)}Le()},N.setMeshLabelVisible=(e,t)=>{Ee(e,t),Le()},N.setMeshLabelText=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{Ae[e].textContent=t}catch(e){console.log(e)}Le()},N.setMeshLabelTextColor=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{Ae[e].style.color=t}catch(e){console.log(e)}Le()},N.setMeshLabelTextFontSize=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{Ae[e].style.fontSize=t}catch(e){console.log(e)}Le()},N.setMeshLabelTextFontFamily=(e,t)=>{if(!Qo(me(Ae,e)))return null;try{Ae[e].style.fontFamily=t}catch(e){console.log(e)}Le()},N.cleanMeshs=()=>{nt(xe,(e=>{ve.remove(e)})),_e(),xe=[],ye(),Me(),Le()},N}const AT={directives:{domresize:oo()},components:{WIconLoading:ml,WGroupIconCheck:qc,WIcon:xs,WColorSelect:qh},props:{opt:{type:Object,default:()=>{}}},data:function(){return{mdiEyeOutline:"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z",mdiEyeOffOutline:"M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z",loading:!0,timer:null,itemsSelectIds:[],itemsSelects:[],useSetting:!0,useAutoRotate:!1,useHelperAxes:!0,useHelperGrid:!0,usePerspective:!0,useLegend:!0,optTemp:null,meshs:[],ev:null,menuSettingIcon:"",menuSettingTooltip:"",menuAutoRotateIcon:"",menuAutoRotateTooltip:"",menuAxesIcon:"",menuAxesTooltip:"",menuGridIcon:"",menuGridTooltip:"",menuPerspectiveIcon:"",menuPerspectiveTooltip:"",menuLegendIcon:"",menuLegendTooltip:"",useLegnedBackgroundColor:"",useLegnedHeight:""}},mounted:function(){let e,t=this;t.timer=setInterval((()=>{e=t.getParam("useHelperAxes"),t.useHelperAxes!==e&&(t.useHelperAxes=e),e=t.getParam("useAutoRotate"),t.useAutoRotate!==e&&(t.useAutoRotate=e),e=t.getParam("useHelperGrid"),t.useHelperGrid!==e&&(t.useHelperGrid=e),e="perspective"===t.getParam("cameraType"),t.usePerspective!==e&&(t.usePerspective=e),e=t.getMeshs(),pr(t.meshs,e)||(t.meshs=e),t.syncItemsSelectIds(),t.updateItemsSelects(!1)}),50)},beforeDestroy:function(){clearInterval(this.timer),this.dispose()},watch:{opt:{handler(e){let t=this;t.loading?t.init().finally((()=>{t.optTemp=Ai(t.opt)})):t.modify().finally((()=>{t.optTemp=Ai(t.opt)}))},immediate:!0,deep:!0}},computed:{widthInp:function(){let e=0,t=me(this,"opt.width","");return zi(t)&&(e=Hi(t)),e},heightInp:function(){let e=0,t=me(this,"opt.height","");return zi(t)&&(e=Hi(t)),e},items:function(){let e=this;return[{id:"setting",icon:e.menuSettingIcon,tooltip:e.menuSettingTooltip},{id:"auto_rotate",icon:e.menuAutoRotateIcon,tooltip:e.menuAutoRotateTooltip},{id:"axes",icon:e.menuAxesIcon,tooltip:e.menuAxesTooltip},{id:"grid",icon:e.menuGridIcon,tooltip:e.menuGridTooltip},{id:"perspective",icon:e.menuPerspectiveIcon,tooltip:e.menuPerspectiveTooltip},{id:"legend",icon:e.menuLegendIcon,tooltip:e.menuLegendTooltip}]},useItems:function(){let e=this,t=[];return t=e.useSetting?Ai(e.items):[Ai(e.items[0])],t}},methods:{resizePanel:function(e){let t=this;if(null===t.ev)return;let n=me(t,"ev.resize");Qi(n)&&(n(),t.$emit("resize",e))},syncItemsSelectIds:function(){let e=this,t=[];e.useSetting&&t.push("setting"),e.useAutoRotate&&t.push("auto_rotate"),e.useHelperAxes&&t.push("axes"),e.useHelperGrid&&t.push("grid"),e.usePerspective&&t.push("perspective"),e.useLegend&&t.push("legend"),pr(e.itemsSelectIds,t)||(e.itemsSelectIds=t)},updateItemsSelects:function(e=!1){let t=this,n=jn(t.itemsSelects,"id");if(!e&&pr(t.itemsSelectIds,n))return;let r=[];nt(t.itemsSelectIds,(e=>{let n=Ps(t.items,{id:e});Go(n)?r.push(n):console.log(`invalid id[${e}]`)})),t.itemsSelects=r},updateMenus:function(){let e=this,t=me(e,"opt.menuSettingIcon","");$n(t)||(t="M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z");let n=me(e,"opt.menuSettingTooltip","");$n(n)||(n="Settings");let r=me(e,"opt.menuAutoRotateIcon","");$n(r)||(r="M10,12L14,16L10,20V16.9C5.44,16.44 2,14.42 2,12C2,9.58 5.44,7.56 10,7.1V9.09C6.55,9.43 4,10.6 4,12C4,13.4 6.55,14.57 10,14.91V12M20,12C20,10.6 17.45,9.43 14,9.09V7.1C18.56,7.56 22,9.58 22,12C22,14.16 19.26,16 15.42,16.7L16.12,16L14.92,14.79C17.89,14.36 20,13.27 20,12M11,2H13V13L11,11V2M11,22V21L13,19V22H11Z");let i=me(e,"opt.menuAutoRotateTooltip","");$n(i)||(i="Auto rotate");let o=me(e,"opt.menuAxesIcon","");$n(o)||(o="M2.61,21L1.61,19.27L11,13.85V3H13V13.85L22.39,19.27L21.39,21L12,15.58L2.61,21Z");let s=me(e,"opt.menuAxesTooltip","");$n(s)||(s="Axes");let a=me(e,"opt.menuGridIcon","");$n(a)||(a="M10,4V8H14V4H10M16,4V8H20V4H16M16,10V14H20V10H16M16,16V20H20V16H16M14,20V16H10V20H14M8,20V16H4V20H8M8,14V10H4V14H8M8,8V4H4V8H8M10,14H14V10H10V14M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4C2.92,22 2,21.1 2,20V4A2,2 0 0,1 4,2Z");let l=me(e,"opt.menuGridTooltip","");$n(l)||(l="Grid");let c=me(e,"opt.menuPerspectiveIcon","");$n(c)||(c="M20 2H4C3.45 2 3 2.45 3 3V4C3 4.55 3.45 5 4 5H5V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14H19V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2M17 12H7V5H17V12Z");let u=me(e,"opt.menuPerspectiveTooltip","");$n(u)||(u="Perspective");let d=me(e,"opt.menuLegendIcon","");$n(d)||(d="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z");let h=me(e,"opt.menuLegendTooltip","");$n(h)||(h="Legend"),e.menuSettingIcon=t,e.menuSettingTooltip=n,e.menuAutoRotateIcon=r,e.menuAutoRotateTooltip=i,e.menuAxesIcon=o,e.menuAxesTooltip=s,e.menuGridIcon=a,e.menuGridTooltip=l,e.menuPerspectiveIcon=c,e.menuPerspectiveTooltip=u,e.menuLegendIcon=d,e.menuLegendTooltip=h,e.updateItemsSelects(!0)},refreshLegend:function(){let e=this,t=me(e,"opt.legnedBackgroundColor","");$n(t)||(t="rgba(90,90,90,0.5)"),e.useLegnedBackgroundColor=hl.toRgbaString(t);let n=me(e,"opt.legnedHeight",null),r=me(e,"opt.legnedHeightMax",null),i="";zi(n)&&(n=Hi(n),i+=`height:${n}px;`),zi(r)&&(r=Hi(r),i+=`max-height:${r}px;`),(zi(n)||zi(r))&&(i+="overflow-y:auto;"),e.useLegnedHeight=i},init:async function(){let e=this;await async function(){e.dispose(),await $s((()=>Qo(e.$refs.panel))),e.loading=!0;let t=Ai(e.opt);t.domPanel=e.$refs.panel;let n=me(t,"items",[]),r=await CT(n,t);r.on("init",(()=>{e.$emit("init"),e.updateMenus(),e.refreshLegend(),e.loading=!1})),r.on("loading",(t=>{e.$emit("loading",t)})),r.on("dispose",(()=>{e.$emit("dispose")})),r.on("change-view-angle",(t=>{e.$emit("change-view-angle",t)})),e.ev=r}().catch((e=>{console.log(e)}))},modify:async function(){let e=this;await async function(){if(null===e.ev)return;await Ys(300);let t=Ke(e.opt),n=Ke(e.optTemp),r=[];nt(t,(t=>{let i=me(e,`opt.${t}`,null),o=me(e,`optTemp.${t}`,null);pr(i,o)||r.push({type:"mod",k:t,vOld:o,vNew:i}),js(n,t)})),nt(n,(t=>{let n=me(e,`optTemp.${t}`,null);r.push({type:"del",k:t,vOld:n,vNew:null})}));let i={width:"",height:"",backgroundColor:"ev.setBackgroundColor",useAutoRotate:"ev.setUseAutoRotate",autoRotateDeg:"ev.setAutoRotateDeg",useHelperAxes:"ev.setUseHelperAxes",helperAxesLengthRatio:"ev.setHelperAxesLengthRatio",useHelperGrid:"ev.setUseHelperGrid",helperGridLengthRatio:"ev.setHelperGridLengthRatio",helperGridDensity:"ev.setHelperGridDensity",helperGridPositionRatioZ:"ev.setHelperGridPositionRatioZ",useLightAmbient:"ev.setUseLightAmbient",lightAmbientColor:"ev.setLightAmbientColor",useLightPoint:"ev.setUseLightPoint",lightPointPoss:"ev.setLightPointPoss",lightPointColor:"ev.setLightPointColor",lightPointIntensity:"ev.setLightPointIntensity",lightPointDistance:"ev.setLightPointDistance",lightPointDecay:"ev.setLightPointDecay",useLightDirection:"ev.setUseLightDirection",lightDirectionColor:"ev.setLightDirectionColor",lightDirectionIntensity:"ev.setLightDirectionIntensity",lightDirectionPos:"ev.setLightDirectionPos",cameraType:"ev.setCameraType",cameraFov:"ev.setCameraFov",cameraNear:"ev.setCameraNear",cameraFar:"ev.setCameraFar",cameraOrthographicRatio:"ev.setCameraOrthographicRatio",cameraAzimuthAngle:"ev.setCameraAzimuthAngle",cameraPolarAngle:"ev.setCameraPolarAngle",menuSettingIcon:"updateMenus",menuSettingTooltip:"updateMenus",menuAutoRotateIcon:"updateMenus",menuAutoRotateTooltip:"updateMenus",menuAxesIcon:"updateMenus",menuAxesTooltip:"updateMenus",menuGridIcon:"updateMenus",menuGridTooltip:"updateMenus",menuPerspectiveIcon:"updateMenus",menuPerspectiveTooltip:"updateMenus",menuLegendIcon:"updateMenus",menuLegendTooltip:"updateMenus",legnedBackgroundColor:"refreshLegend",legnedHeight:"refreshLegend",legnedHeightMax:"refreshLegend"};nt(r,(t=>{let n=t.k;if(Xs(i,n)){let r=me(e,i[n]);if(Qi(r))try{r(t.vNew)}catch(e){console.log(e)}}else console.log(`尚未建置 ${n} 之 set 函數`)}))}().catch((e=>{console.log(e)}))},dispose:function(){let e=this;setTimeout((()=>{if(null===e.ev)return;Qi(me(e,"ev.dispose"))&&(e.ev.dispose(),e.ev=null)}),1)},getInst:function(){return me(this,"ev")},getMeshs:function(){let e=me(this,"ev.getMeshsInfor"),t=[];return Qi(e)&&(t=e()),t},getMeshColor:function(e){let t=me(e,"color","");return t=hl.toRgbaString(t),t},setMeshColor:function(e,t,n){this.ev.setMeshColor(t,n)},toggleMeshVisible:function(e,t){this.ev.setMeshVisible(t,!e.visible)},strUpperHead:function(e){let t=Zs(e,1);return t=ks(t),`${t}${Ks(e,1)}`},getParam:function(e){let t=null,n=me(this,`ev.get${e=this.strUpperHead(e)}`);return Qi(n)&&(t=n()),t},setParam:function(e,t){let n=me(this,`ev.set${e=this.strUpperHead(e)}`);Qi(n)&&n(t)},toggleParam:function(e){let t=this.getParam(e);t=!t,this.setParam(e,t)},ckItem:function(e){let t=this,n={setting:()=>{t.useSetting=!t.useSetting},axes:()=>{t.toggleParam("useHelperAxes")},auto_rotate:()=>{t.toggleParam("useAutoRotate")},grid:()=>{t.toggleParam("useHelperGrid")},perspective:()=>{t.usePerspective?t.setParam("cameraType","orthographic"):t.setParam("cameraType","perspective")},legend:()=>{t.useLegend=!t.useLegend}},r=me(e,"id",""),i=me(n,r);Qi(i)?i():(console.log("item",e),console.log("kp",n),console.log(`invalid id[${r}]`))}}};var MT=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{style:"display:inline-block; width:"+e.widthInp+"px; min-width:"+e.widthInp+"px; height:"+e.heightInp+"px; overflow-y:hidden;"},[e.loading?n("div",{staticStyle:{position:"relative",width:"0px",height:"0px"}},[n("div",{staticStyle:{position:"absolute",top:"0px",left:"0px"}},[n("WIconLoading")],1)]):e._e(),e._v(" "),n("div",{staticStyle:{position:"relative"}},[n("div",{directives:[{name:"domresize",rawName:"v-domresize"}],ref:"panel",style:"position:relative; width:"+e.widthInp+"px; height:"+e.heightInp+"px; opacity:"+(e.loading?0:1)+";",on:{domresize:e.resizePanel}}),e._v(" "),e.loading?e._e():n("div",{style:"position:absolute; top:0px; left:0px;"},[n("div",{staticStyle:{padding:"10px",display:"flex","align-items":"flex-start"}},[n("WGroupIconCheck",{attrs:{items:e.useItems,dir:"vertical",iconColor:"#aaa",iconColorHover:"#ccc",iconColorFocus:"#ccc",iconColorActive:"#fff",backgroundColor:"#000",backgroundColorHover:"#111",backgroundColorFocus:"#111",backgroundColorActive:"#444",seplineColor:"#333",tooltipTextFontSize:"0.7rem",value:e.itemsSelects,_input:"updateItem"},on:{click:e.ckItem}}),e._v(" "),e.useLegend?[n("div",{style:"padding-left:10px;"}),e._v(" "),n("div",{style:"padding:5px; border-radius:4px; background:"+e.useLegnedBackgroundColor+";"},[n("div",{style:""+e.useLegnedHeight},e._l(e.meshs,(function(t,r){return n("div",{key:"km-"+r,style:""},[n("div",{staticStyle:{display:"flex","align-items":"center",padding:"3px"}},[n("WIcon",{staticStyle:{cursor:"pointer"},attrs:{icon:t.visible?e.mdiEyeOutline:e.mdiEyeOffOutline,color:"#ccc",colorHover:"#ddd",size:20},on:{click:function(n){return e.toggleMeshVisible(t,r)}}}),e._v(" "),n("div",{staticStyle:{"padding-left":"5px"}}),e._v(" "),n("WColorSelect",{attrs:{colorBlockBorderColor:"#888",showColorText:!1,_colorTextColor:"'#ddd'",panelBackgroundColor:"#111",toolBackgroundColor:"#222",menuIconColor:"#666",menuIconColorHover:"#777",menuIconColorActive:"#ddd",borderColor:"#333",borderColorHover:"#333",borderColorActive:"#444",backgroundColor:"#111",menuBackgroundColor:"#111",menuBackgroundColorHover:"#222",menuBackgroundColorActive:"#333",menuTextColor:"#b2b2b2",menuTextColorHover:"#ccc",menuTextColorActive:"#ddd",menuTextFontSize:"0.75rem",inputBorderColor:"#444",inputBorderColorHover:"#555",inputBorderColorActive:"#666",inputBackgroundColor:"#000",inputBackgroundColorHover:"#111",inputBackgroundColorActive:"#222",inputTextColor:"#999",inputLabelColor:"#888",barProgColor:"#888",barProgBackgroundColor:"#222",barSliderBackgroundColor:"#ccc",barSliderBackgroundColorHover:"#ddd",btnTextColor:"#eee",btnTextColorHover:"#fff",btnTextColorActive:"#fff",btnBackgroundColor:"#444",btnBackgroundColorHover:"#555",btnBackgroundColorActive:"#555",value:e.getMeshColor(t)},on:{input:function(n){e.setMeshColor(t,r,n)}}}),e._v(" "),n("div",{staticStyle:{"padding-left":"5px"}}),e._v(" "),n("div",{style:"color:"+t.labelTextColor+"; font-size:"+t.labelTextFontSize+"; font-family:"+t.labelTextFontFamily+";"},[e._v("\n "+e._s(t.labelText)+"\n ")])],1)])})),0)])]:e._e()],2)])])])};MT._withStripped=!0;const TT=ps({render:MT,staticRenderFns:[]},(function(e){e&&e("data-v-8a92447c_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"WThreejsVue.vue"},media:void 0})}),AT,"data-v-8a92447c",false,undefined,!1,ms,void 0,void 0);var ET={exports:{}}; /*! * w-jsonview-tree v1.0.29 * (c) 2018-2021 yuda-lyu(semisphere) * Released under the MIT License. - */!function(e,t){e.exports=(function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}(".CompCssDJsonViewTree .w-caret-right {\r\n transform: rotate(-90deg);\r\n width: 0.9rem;\r\n height: 0.9rem;\r\n display: inline-block;\r\n vertical-align: middle;\r\n background-size: contain;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACJSURBVEhL7ZC9CYBADEbP2iEEp7JxAPdwBZex02EcQ/0iBCzC/ZlTkDx4RYrLC+cMwzB+QQ1bRRtYwSAbPJQdoRe6bIbS41x32MEg9NULlJakStEBRqMRT44yFF+htDRkdpTJiT+OMilxtSgTE1ePMr54sSgjxYtHmXv8tShD8Qn212QYxnc4dwKskJKEHrOFUQAAAABJRU5ErkJggg==')\r\n}\r\n\r\n.CompCssDJsonViewTree .w-caret-down {\r\n display: inline-block;\r\n width: 0.9rem;\r\n height: 0.9rem;\r\n display: inline-block;\r\n vertical-align: middle;\r\n background-size: contain;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACJSURBVEhL7ZC9CYBADEbP2iEEp7JxAPdwBZex02EcQ/0iBCzC/ZlTkDx4RYrLC+cMwzB+QQ1bRRtYwSAbPJQdoRe6bIbS41x32MEg9NULlJakStEBRqMRT44yFF+htDRkdpTJiT+OMilxtSgTE1ePMr54sSgjxYtHmXv8tShD8Qn212QYxnc4dwKskJKEHrOFUQAAAABJRU5ErkJggg==')\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-line {\r\n margin: 4px 0;\r\n display: flex;\r\n justify-content: flex-start;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-caret-icon {\r\n width: 18px;\r\n text-align: center;\r\n cursor: pointer;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-empty-icon {\r\n /* width: 18px; */\r\n padding: 0px 9px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-type {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-key {\r\n color: #616161;\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-index {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-separator {\r\n color: #bdbdbd;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-value {\r\n margin-left: 8px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-number {\r\n color: #536dfe;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-boolean {\r\n color: #9ccc65;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-string {\r\n color: #ffab40;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-function {\r\n color: #e040fb;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-size {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.CompCssDJsonViewTree .wjv-json-hide {\r\n display: none;\r\n}"),function(e,t){let n=!1;function r(e,t){let n=document.createElement(e);return void 0===t||(t.className&&(n.className=t.className),t.content&&(n.textContent=t.content),t.children&&t.children.forEach((e=>{null!==e&&n.appendChild(e)}))),n}function i(e){let t=r("i");e.expanded?t.className="wicon w-caret-down":t.className="wicon w-caret-right";let n=r("div",{className:"wjv-caret-icon",children:[t]}),i=e.toggle.bind(e);n.addEventListener("click",i);let o,s=r("div",{className:"wjv-json-index",content:e.key}),a=r("div",{className:"wjv-json-type",content:e.type}),l=r("div",{className:"wjv-json-key",content:e.key}),c=r("div",{className:"wjv-json-size"});"array"===e.type?c.innerText="["+e.children.length+"]":"object"===e.type&&(c.innerText="{"+e.children.length+"}"),o=null===e.key?[n,a,c]:"array"===e.parent.type?[n,s,c]:[n,l,c];let u=r("div",{className:"wjv-line",children:o});return e.depth>0&&u.setAttribute("style","margin-left: "+24*e.depth+"px;"),u}function o(e){let t=r("div",{className:"wjv-empty-icon"}),n=r("div",{className:"wjv-json-key",content:e.key}),i=r("div",{className:"wjv-json-separator",content:":"}),o=r("div",{className:"wjv-json-value wjv-json-"+typeof e.value,content:String(e.value)}),s=r("div",{className:"wjv-line",children:[t,n,i,o]});return e.depth>0&&s.setAttribute("style","margin-left: "+24*e.depth+"px;"),s}function s(){return{key:null,parent:null,value:null,expanded:n,type:null,children:null,elem:null,depth:0,setCaretIconRight(){this.elem.querySelector(".wicon").classList.replace("w-caret-down","w-caret-right")},setCaretIconDown(){this.elem.querySelector(".wicon").classList.replace("w-caret-right","w-caret-down")},hideChildren(){null!==this.children&&this.children.forEach((e=>{e.elem.classList.add("wjv-json-hide"),e.expanded&&e.hideChildren()}))},showChildren(){null!==this.children&&this.children.forEach((e=>{e.elem.classList.remove("wjv-json-hide"),e.expanded&&e.showChildren()}))},toggle:function(){this.expanded?(this.expanded=!1,this.hideChildren(),this.setCaretIconRight()):(this.expanded=!0,this.showChildren(),this.setCaretIconDown())}}}function a(e){let t=typeof e;return Array.isArray(e)?t="array":null===e&&(t="null"),t}function l(e,t){for(let r in e){let c=s();c.parent=t,c.key=r,c.type=a(e[r]),c.depth=t.depth+1,c.expanded=n,"object"==typeof e[r]?(c.children=[],t.children.push(c),l(e[r],c),c.elem=i(c)):(c.value=e[r],c.elem=o(c),t.children.push(c))}}function c(e,t){t(e),null!==e.children&&e.children.forEach((e=>{c(e,t)}))}!function(e,t,r){r&&(n=!0===r.expanded),t.innerHTML="",t.classList.add("CompCssDJsonViewTree");let o=function(e){let t=s();return t.type=a(e),t.children=[],t.expanded=n,l(e,t),t.elem=i(t),t}(e);!function(e,t){c(e,(e=>{e.expanded||e.hideChildren(),t.appendChild(e.elem)}))}(o,t)}(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})})}(ET);var LT=qi(ET.exports);const RT={components:{WThreejsVue:TT},data:function(){return{opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})}}};var PT=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[n("WThreejsVue",{attrs:{opt:e.opt}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};PT._withStripped=!0;const kT=ps({render:PT,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("size")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppBasicSize.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppBasicSize.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-6286a792_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppBasicSize.vue"},media:void 0})}),RT,undefined,false,undefined,!1,ms,void 0,void 0);const IT={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],backgroundColor:"#263238"},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setBackgroundColor:function(e){this.opt.backgroundColor=e}}};var OT=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setBackgroundColor("#222")}}},[e._v("set to #222")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setBackgroundColor("#263238")}}},[e._v("set to #263238")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};OT._withStripped=!0;const BT=ps({render:OT,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("backgroundColor")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppBasicBackgroundColor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppBasicBackgroundColor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-2904e300_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppBasicBackgroundColor.vue"},media:void 0})}),IT,undefined,false,undefined,!1,ms,void 0,void 0);const DT={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useAutoRotate:!0},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setUseAutoRotate:function(e){this.opt.useAutoRotate=e}}};var UT=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseAutoRotate(!0)}}},[e._v("set to true")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseAutoRotate(!1)}}},[e._v("set to false")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};UT._withStripped=!0;const FT=ps({render:UT,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("useAutoRotate")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppBasicUseAutoRotate.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppBasicUseAutoRotate.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-7bebce9b_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppBasicUseAutoRotate.vue"},media:void 0})}),DT,undefined,false,undefined,!1,ms,void 0,void 0);const NT={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useAutoRotate:!0,autoRotateDeg:-5},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setAutoRotateDeg:function(e){this.opt.autoRotateDeg=e}}};var zT=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setAutoRotateDeg(20)}}},[e._v("set to 20")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setAutoRotateDeg(-5)}}},[e._v("set to -5")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};zT._withStripped=!0;const HT=ps({render:zT,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("autoRotateDeg")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppBasicAutoRotateDeg.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppBasicAutoRotateDeg.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-0240566c_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppBasicAutoRotateDeg.vue"},media:void 0})}),NT,undefined,false,undefined,!1,ms,void 0,void 0);function WT(e,t){var n=[];return et(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function VT(t,n){return(e(t)?Kt:WT)(t,Wn(n))}function jT(e,t){return!!(null==e?0:e.length)&&Hs(e,t,0)>-1}function GT(e,t,n){for(var r=-1,i=null==e?0:e.length;++r=XT){var c=t?null:$T(e);if(c)return Ot(c);s=!1,i=Et,l=new Mt}else l=t?[]:a;e:for(;++r0&&void 0!==arguments[0]?arguments[0]:"*";if("*"===t)return t;if(!Gn(t)&&!ds(t))return"*";"common"===t&&(t=["docums","compress","image","data"]);let n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(""!==e&&"name"!==e&&"group"!==e&&"acp"!==e&&"exec"!==e)return[];let t=[{name:"htm",group:"docums",acp:"text/html",exec:"browser"},{name:"html",group:"docums",acp:"text/html",exec:"browser"},{name:"pdf",group:"docums",acp:"application/pdf",exec:"acrobat"},{name:"rtf",group:"docums",acp:"application/rtf",exec:"word"},{name:"doc",group:"docums",acp:"application/msword",exec:"word"},{name:"docx",group:"docums",acp:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",exec:"word"},{name:"ppt",group:"docums",acp:"application/vnd.ms-powerpoint",exec:"powerpoint"},{name:"pptx",group:"docums",acp:"application/vnd.openxmlformats-officedocument.presentationml.presentation",exec:"powerpoint"},{name:"xls",group:"docums",acp:"application/vnd.ms-excel",exec:"excel"},{name:"xlsx",group:"docums",acp:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",exec:"excel"},{name:"odt",group:"docums",acp:"application/vnd.oasis.opendocument.text",exec:"word"},{name:"odp",group:"docums",acp:"application/vnd.oasis.opendocument.presentation",exec:"powerpoint"},{name:"application/vnd.oasis.opendocument.spreadsheet",group:"docums",acp:"application/vnd.oasis.opendocument.spreadsheet",exec:"excel"},{name:"zip",group:"compress",acp:"application/zip",exec:"7z"},{name:"rar",group:"compress",acp:"application/x-rar-compressed",exec:"7z"},{name:"7z",group:"compress",acp:"application/x-7z-compressed",exec:"7z"},{name:"bzip",group:"compress",acp:"application/x-bzip",exec:"7z"},{name:"bzip2",group:"compress",acp:"application/x-bzip2",exec:"7z"},{name:"pic",group:"image",acp:"image/*",exec:"imageviwer"},{name:"xml",group:"data",acp:"text/xml",exec:"textviwer"},{name:"json",group:"data",acp:"application/json",exec:"textviwer"},{name:"geojson",group:"data",acp:"application/geo+json",exec:"textviwer"},{name:"txt",group:"data",acp:"text/plain",exec:"textviwer"},{name:"csv",group:"data",acp:"text/csv",exec:"excel"},{name:"dat",group:"data",acp:"application/octet-stream",exec:"binaryviwer"}];if(""===e)return t;let n={};return nt(t,(function(t){let r=t[e];Xs(n,r)||(n[r]=[]),n[r].push(t)})),n}();function r(e){return YT(jn(e,"acp"))}Gn(t)&&(t=[t]);let i="";if(ds(t)){let o=jn(t,(function(e){return function(e){return r(VT(n,{group:e}))}(e)})),s=function(){var t=arguments.length;if(!t)return[];for(var n=Array(t-1),r=arguments[0],i=t;i--;)n[i-1]=arguments[i];return Zt(e(r)?Pr(r):[r],na(n,1))}(o,jn(t,(function(e){return r(VT(n,{name:e}))})));s=VT(s,qT),i=yl(s,",")}return i}function JT(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"*",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=me(t,"multiple");os(n)||(n=!1);let r=me(t,"entireHierarchy");os(r)||(r=!1),r&&!n&&(n=!0);let i=me(t,"sizelimit");zi(i)||(i=1e3),i=Hi(i);let o=Gs(),s="drf"+io(),a="GrpDomReadFile";es(`[name=${a}]`);let l=ZT(e),c=`
`;!function(e,t){if(!Qo(e))return"invalid eleParent";if(Gn(t))e.insertAdjacentHTML("beforeend",t);else{if(!Qo(t))return"invalid itemChild";e.appendChild(t)}}(document.querySelector("body"),c);let u=(d="#"+s,document.querySelector(d));var d;let h=!1;function p(e){h=!0;let t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;t=Hi(t),t<=0&&(t=1e3);let n={},r=[];return nt(me(e,"files",[]),(function(e,i){e.size/1024/1024>t&&(n[i]=`檔案大小超過上限${t}mb`),r.push(e)})),{files:r,errs:n}}(this,i);o.resolve(t),u.removeEventListener("change",p),r||window.removeEventListener("focus",f),es(`[name=${a}]`)}function f(e){setTimeout((()=>{h||p()}),300)}return u.addEventListener("change",p,!0),r||window.addEventListener("focus",f),function(e,t){let n=new MouseEvent(t,{view:window,bubbles:!0,cancelable:!0});e.dispatchEvent(n)}(u,"click"),o}"undefined"!=typeof window&&void 0!==window.document&&function(){try{return new MouseEvent("MouseEventPolyfillTest"),!1}catch(e){}let e=function(e,t){t=t||{bubbles:!1,cancelable:!1};let n=document.createEvent("MouseEvent");return n.initMouseEvent(e,t.bubbles,t.cancelable,window,0,t.screenX||0,t.screenY||0,t.clientX||0,t.clientY||0,t.ctrlKey||!1,t.altKey||!1,t.shiftKey||!1,t.metaKey||!1,t.button||0,t.relatedTarget||null),n};e.prototype=Event.prototype,window.MouseEvent=e}();const KT={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},cleanAll:function(){let e=this;try{e.$refs.thr.getInst().cleanMeshs()}catch(e){}},upload:function(){let e=this;(async function(){let t=await JT("*",{multiple:!0}),n=[];for(let e=0;e{console.log(e)}))}}};var QT=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:e.cleanAll}},[e._v("clean all")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:e.upload}},[e._v("upload stl")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};QT._withStripped=!0;const eE=ps({render:QT,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("uploadStl")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppBasicBackgroundColor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppBasicBackgroundColor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-48991e4d_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppBasicUploadStl.vue"},media:void 0})}),KT,undefined,false,undefined,!1,ms,void 0,void 0);const tE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],cameraType:"orthographic"},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setCameraType:function(e){this.opt.cameraType=e}}};var nE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraType("perspective")}}},[e._v("set to perspective")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraType("orthographic")}}},[e._v("set to orthographic")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};nE._withStripped=!0;const rE=ps({render:nE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("cameraType")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmCameraType.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmCameraType.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-59b10501_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmCameraType.vue"},media:void 0})}),tE,undefined,false,undefined,!1,ms,void 0,void 0);const iE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],cameraFov:50},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setCameraFov:function(e){this.opt.cameraFov=e}}};var oE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraFov(35)}}},[e._v("set to 35")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraFov(50)}}},[e._v("set to 50")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};oE._withStripped=!0;const sE=ps({render:oE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("cameraFov")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmCameraFov.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmCameraFov.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-6394409c_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmCameraFov.vue"},media:void 0})}),iE,undefined,false,undefined,!1,ms,void 0,void 0);const aE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],cameraNear:1.7},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setCameraNear:function(e){this.opt.cameraNear=e}}};var lE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraNear(.1)}}},[e._v("set to 0.1")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraNear(1.7)}}},[e._v("set to 1.7")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};lE._withStripped=!0;const cE=ps({render:lE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("cameraNear")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmCameraNear.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmCameraNear.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-73d65582_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmCameraNear.vue"},media:void 0})}),aE,undefined,false,undefined,!1,ms,void 0,void 0);const uE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],cameraFar:3},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setCameraFar:function(e){this.opt.cameraFar=e}}};var dE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraFar(1e3)}}},[e._v("set to 1000")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraFar(3)}}},[e._v("set to 3")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};dE._withStripped=!0;const hE=ps({render:dE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("cameraFar")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmCameraFar.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmCameraFar.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-0309da3b_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmCameraFar.vue"},media:void 0})}),uE,undefined,false,undefined,!1,ms,void 0,void 0);const pE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],cameraType:"orthographic",cameraOrthographicRatio:1},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setCameraOrthographicRatio:function(e){this.opt.cameraOrthographicRatio=e}}};var fE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraOrthographicRatio(.5)}}},[e._v("set to 0.5")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraOrthographicRatio(1)}}},[e._v("set to 1")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};fE._withStripped=!0;const mE=ps({render:fE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("cameraOrthographicRatio")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmCameraOrthographicRatio.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmCameraOrthographicRatio.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-0a55492e_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmCameraOrthographicRatio.vue"},media:void 0})}),pE,undefined,false,undefined,!1,ms,void 0,void 0);const gE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setCameraAzimuthAngle:function(e){let t=this;try{t.$refs.thr.getInst().setCameraAzimuthAngle(e)}catch(e){}}}};var vE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraAzimuthAngle(130)}}},[e._v("set to 130")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraAzimuthAngle(200)}}},[e._v("set to 200")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};vE._withStripped=!0;const yE=ps({render:vE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setCameraAzimuthAngle")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmSetCameraAzimuthAngle.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmSetCameraAzimuthAngle.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-ef42f3be_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmSetCameraAzimuthAngle.vue"},media:void 0})}),gE,undefined,false,undefined,!1,ms,void 0,void 0);const _E={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setCameraPolarAngle:function(e){let t=this;try{t.$refs.thr.getInst().setCameraPolarAngle(e)}catch(e){}}}};var xE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraPolarAngle(50)}}},[e._v("set to 50")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraPolarAngle(75)}}},[e._v("set to 75")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};xE._withStripped=!0;const bE=ps({render:xE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setCameraPolarAngle")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmSetCameraPolarAngle.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmSetCameraPolarAngle.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-ea04b2da_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmSetCameraPolarAngle.vue"},media:void 0})}),_E,undefined,false,undefined,!1,ms,void 0,void 0);const SE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setCameraViewAngle:function(e,t){let n=this;try{n.$refs.thr.getInst().setCameraViewAngle(e,t)}catch(e){}}}};var wE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraViewAngle(0,0)}}},[e._v("set (0,0) for x-y plane")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraViewAngle(0,90)}}},[e._v("set (0,90) for x-z plane")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setCameraViewAngle(90,90)}}},[e._v("set (90,90) for y-z plane")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};wE._withStripped=!0;const CE=ps({render:wE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setCameraViewAngle")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmSetCameraViewAngle.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmSetCameraViewAngle.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-b19bad6c_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmSetCameraViewAngle.vue"},media:void 0})}),SE,undefined,false,undefined,!1,ms,void 0,void 0);const AE={components:{WThreejsVue:TT},data:function(){return{az:null,polar:null,loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},beforeDestroy:function(){},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},changeViewAngle:function(e){console.log("changeViewAngle",e);let t=null,n=null;try{t=e.azimuthAngle.toFixed(2),n=e.polarAngle.toFixed(2)}catch(e){}this.az=t,this.polar=n}}};var ME=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("div",{staticStyle:{padding:"2px 5px","font-size":"0.75rem",color:"#000",background:"#eee"}},[n("span",[e._v(e._s(e.az))]),e._v(", "),n("span",[e._v(e._s(e.polar))])])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1},"change-view-angle":e.changeViewAngle}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};ME._withStripped=!0;const TE=ps({render:ME,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("getCameraViewAngle")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppCmGetCameraViewAngle.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppCmGetCameraViewAngle.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-4a7068fa_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppCmGetCameraViewAngle.vue"},media:void 0})}),AE,undefined,false,undefined,!1,ms,void 0,void 0);const EE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useHelperAxes:!1},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setUseHelperAxes:function(e){this.opt.useHelperAxes=e}}};var LE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseHelperAxes(!0)}}},[e._v("show")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseHelperAxes(!1)}}},[e._v("hide")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};LE._withStripped=!0;const RE=ps({render:LE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("useHelperAxes")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppHpUseHelperAxes.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppHpUseHelperAxes.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-db25ebc6_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppHpUseHelperAxes.vue"},media:void 0})}),EE,undefined,false,undefined,!1,ms,void 0,void 0);const PE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],helperAxesLengthRatio:1.6},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setHelperAxesLengthRatio:function(e){this.opt.helperAxesLengthRatio=e}}};var kE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setHelperAxesLengthRatio(1)}}},[e._v("set to 1")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setHelperAxesLengthRatio(1.6)}}},[e._v("set to 1.6")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};kE._withStripped=!0;const IE=ps({render:kE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("helperAxesLengthRatio")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppHpHelperAxesLengthRatio.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppHpHelperAxesLengthRatio.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-ea565fba_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppHpHelperAxesLengthRatio.vue"},media:void 0})}),PE,undefined,false,undefined,!1,ms,void 0,void 0);const OE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useHelperGrid:!1},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setUseHelperGrid:function(e){this.opt.useHelperGrid=e}}};var BE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseHelperGrid(!0)}}},[e._v("show")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseHelperGrid(!1)}}},[e._v("hide")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};BE._withStripped=!0;const DE=ps({render:BE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("useHelperGrid")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppHpUseHelperGrid.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppHpUseHelperGrid.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-7141fed8_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppHpUseHelperGrid.vue"},media:void 0})}),OE,undefined,false,undefined,!1,ms,void 0,void 0);const UE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],helperGridLengthRatio:10},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setHelperGridLengthRatio:function(e){this.opt.helperGridLengthRatio=e}}};var FE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setHelperGridLengthRatio(5)}}},[e._v("set to 5")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setHelperGridLengthRatio(10)}}},[e._v("set to 10")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};FE._withStripped=!0;const NE=ps({render:FE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("helperGridLengthRatio")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppHpHelperGridLengthRatio.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppHpHelperGridLengthRatio.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-9a52150c_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppHpHelperGridLengthRatio.vue"},media:void 0})}),UE,undefined,false,undefined,!1,ms,void 0,void 0);const zE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],helperGridDensity:100},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setHelperGridDensity:function(e){this.opt.helperGridDensity=e}}};var HE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setHelperGridDensity(50)}}},[e._v("set to 50")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setHelperGridDensity(100)}}},[e._v("set to 100")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};HE._withStripped=!0;const WE=ps({render:HE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("helperGridDensity")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppHpHelperGridDensity.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppHpHelperGridDensity.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-9aa6618a_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppHpHelperGridDensity.vue"},media:void 0})}),zE,undefined,false,undefined,!1,ms,void 0,void 0);const VE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],helperGridPositionRatioZ:-.3},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setHelperGridPositionRatioZ:function(e){this.opt.helperGridPositionRatioZ=e}}};var jE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setHelperGridPositionRatioZ(-1)}}},[e._v("set to -1")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setHelperGridPositionRatioZ(-.3)}}},[e._v("set to -0.3")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};jE._withStripped=!0;const GE=ps({render:jE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("helperGridPositionRatioZ")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppHpHelperGridPositionRatioZ.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppHpHelperGridPositionRatioZ.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-9d11b224_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppHpHelperGridPositionRatioZ.vue"},media:void 0})}),VE,undefined,false,undefined,!1,ms,void 0,void 0);const $E={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightPoint:!1,useLightDirection:!1,useLightAmbient:!0},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setUseLightAmbient:function(e){this.opt.useLightAmbient=e}}};var XE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseLightAmbient(!0)}}},[e._v("show")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseLightAmbient(!1)}}},[e._v("hide")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};XE._withStripped=!0;const YE=ps({render:XE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("useLightAmbient")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtUseLightAmbient.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtUseLightAmbient.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-3e55f2d0_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtUseLightAmbient.vue"},media:void 0})}),$E,undefined,false,undefined,!1,ms,void 0,void 0);const qE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],lightAmbientColor:"#fff"},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightAmbientColor:function(e){this.opt.lightAmbientColor=e}}};var ZE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightAmbientColor("#999")}}},[e._v("set to #999")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightAmbientColor("#fff")}}},[e._v("set to #fff")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};ZE._withStripped=!0;const JE=ps({render:ZE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightAmbientColor")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightAmbientColor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightAmbientColor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-dfc3b260_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightAmbientColor.vue"},media:void 0})}),qE,undefined,false,undefined,!1,ms,void 0,void 0);const KE={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightDirection:!1,useLightAmbient:!1,useLightPoint:!0},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setUseLightPoint:function(e){this.opt.useLightPoint=e}}};var QE=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseLightPoint(!0)}}},[e._v("show")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseLightPoint(!1)}}},[e._v("hide")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};QE._withStripped=!0;const eL=ps({render:QE,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("useLightPoint")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtUseLightPoint.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtUseLightPoint.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-64cbc26e_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtUseLightPoint.vue"},media:void 0})}),KE,undefined,false,undefined,!1,ms,void 0,void 0);const tL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightDirection:!1,useLightAmbient:!1,useLightPoint:!0,lightPointPoss:[[3,3,3]]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightPointPoss:function(e){this.opt.lightPointPoss=e}}};var nL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointPoss([[5,5,5],[-5,5,5],[5,-5,5]])}}},[e._v("set to [[5,5,5],[-5,5,5],[5,-5,5]]")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointPoss([[3,3,3]])}}},[e._v("set to [[3,3,3]]")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};nL._withStripped=!0;const rL=ps({render:nL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightPointPoss")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightPointPoss.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightPointPoss.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-d0e77666_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightPointPoss.vue"},media:void 0})}),tL,undefined,false,undefined,!1,ms,void 0,void 0);const iL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightDirection:!1,useLightAmbient:!1,useLightPoint:!0,lightPointColor:"#fcc"},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightPointColor:function(e){this.opt.lightPointColor=e}}};var oL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointColor("#fcc")}}},[e._v("set to #fcc")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointColor("#fff")}}},[e._v("set to #fff")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};oL._withStripped=!0;const sL=ps({render:oL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightPointColor")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightPointColor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightPointColor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-7a14396a_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightPointColor.vue"},media:void 0})}),iL,undefined,false,undefined,!1,ms,void 0,void 0);const aL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightDirection:!1,useLightAmbient:!1,useLightPoint:!0,lightPointIntensity:50},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightPointIntensity:function(e){this.opt.lightPointIntensity=e}}};var lL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointIntensity(100)}}},[e._v("set to 100")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointIntensity(50)}}},[e._v("set to 50")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};lL._withStripped=!0;const cL=ps({render:lL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightPointIntensity")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightPointIntensity.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightPointIntensity.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-568199a6_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightPointIntensity.vue"},media:void 0})}),aL,undefined,false,undefined,!1,ms,void 0,void 0);const uL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightDirection:!1,useLightAmbient:!1,useLightPoint:!0,lightPointDistance:12},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightPointDistance:function(e){this.opt.lightPointDistance=e}}};var dL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointDistance(0)}}},[e._v("set to 0(no limit)")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointDistance(12)}}},[e._v("set to 12")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};dL._withStripped=!0;const hL=ps({render:dL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightPointDistance")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightPointDistance.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightPointDistance.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-3db38230_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightPointDistance.vue"},media:void 0})}),uL,undefined,false,undefined,!1,ms,void 0,void 0);const pL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightDirection:!1,useLightAmbient:!1,useLightPoint:!0,lightPointDecay:1.7},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightPointDecay:function(e){this.opt.lightPointDecay=e}}};var fL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointDecay(2)}}},[e._v("set to 2")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightPointDecay(1.7)}}},[e._v("set to 1.7")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};fL._withStripped=!0;const mL=ps({render:fL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightPointDecay")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightPointDecay.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightPointDecay.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-638f743e_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightPointDecay.vue"},media:void 0})}),pL,undefined,false,undefined,!1,ms,void 0,void 0);const gL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightAmbient:!1,useLightPoint:!1,useLightDirection:!0},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setUseLightDirection:function(e){this.opt.useLightDirection=e}}};var vL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseLightDirection(!0)}}},[e._v("show")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setUseLightDirection(!1)}}},[e._v("hide")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};vL._withStripped=!0;const yL=ps({render:vL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("useLightDirection")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtUseLightDirection.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtUseLightDirection.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-ca5d5704_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtUseLightDirection.vue"},media:void 0})}),gL,undefined,false,undefined,!1,ms,void 0,void 0);const _L={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightAmbient:!1,useLightPoint:!1,lightDirectionColor:"#fff"},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightDirectionColor:function(e){this.opt.lightDirectionColor=e}}};var xL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightDirectionColor("#999")}}},[e._v("set to #999")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightDirectionColor("#fff")}}},[e._v("set to #fff")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};xL._withStripped=!0;const bL=ps({render:xL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightDirectionColor")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightDirectionColor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightDirectionColor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-1179c9fb_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightDirectionColor.vue"},media:void 0})}),_L,undefined,false,undefined,!1,ms,void 0,void 0);const SL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightAmbient:!1,useLightPoint:!1,lightDirectionIntensity:2},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightDirectionIntensity:function(e){this.opt.lightDirectionIntensity=e}}};var wL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightDirectionIntensity(3)}}},[e._v("set to 3")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightDirectionIntensity(2)}}},[e._v("set to 2")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};wL._withStripped=!0;const CL=ps({render:wL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightDirectionIntensity")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightDirectionIntensity.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightDirectionIntensity.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-ea8780d4_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightDirectionIntensity.vue"},media:void 0})}),SL,undefined,false,undefined,!1,ms,void 0,void 0);const AL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],useLightAmbient:!1,useLightPoint:!1,lightDirectionPos:[12,5,6]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLightDirectionPos:function(e){this.opt.lightDirectionPos=e}}};var ML=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightDirectionPos([10,10,10])}}},[e._v("set to [10,10,10]")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLightDirectionPos([12,5,6])}}},[e._v("set to [12,5,6]")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};ML._withStripped=!0;const TL=ps({render:ML,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("lightDirectionPos")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLtLightDirectionPos.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLtLightDirectionPos.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-77c94a42_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLtLightDirectionPos.vue"},media:void 0})}),AL,undefined,false,undefined,!1,ms,void 0,void 0);const EL={components:{WThreejsVue:TT},data:function(){return{c:"",loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},getMeshsInfor:function(){let e=this;try{let t=e.$refs.thr.getInst().getMeshsInfor(),n=JSON.stringify(t,null,2);console.log("getMeshsInfor",t,n),e.c=n}catch(e){}}}};var LL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("div",{staticStyle:{"text-align":"right"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.getMeshsInfor()}}},[e._v("getMeshsInfor")])]),e._v(" "),e.c?n("div",{staticStyle:{margin:"0px 0px 0px 1px",padding:"5px","font-size":"0.75rem",color:"#000",background:"#eee"}},[n("pre",{staticStyle:{padding:"0px",margin:"0px"}},[e._v(e._s(e.c))])]):e._e()]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};LL._withStripped=!0;const RL=ps({render:LL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("getMeshsInfor")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMhGetMeshsInfor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMhGetMeshsInfor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-0b19a1ee_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMhGetMeshsInfor.vue"},media:void 0})}),EL,undefined,false,undefined,!1,ms,void 0,void 0);const PL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMeshVisible:function(e,t){let n=this;try{n.$refs.thr.getInst().setMeshVisible(e,t)}catch(e){}}}};var kL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshVisible(0,!0)}}},[e._v("show mesh[0]")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshVisible(0,!1)}}},[e._v("hide mesh[0]")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshVisible(1,!0)}}},[e._v("show mesh[1]")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshVisible(1,!1)}}},[e._v("hide mesh[1]")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};kL._withStripped=!0;const IL=ps({render:kL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setMeshVisible")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMhSetMeshVisible.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMhSetMeshVisible.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-7a96d034_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMhSetMeshVisible.vue"},media:void 0})}),PL,undefined,false,undefined,!1,ms,void 0,void 0);const OL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMeshColor:function(e,t){let n=this;try{n.$refs.thr.getInst().setMeshColor(e,t)}catch(e){}}}};var BL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshColor(0,"#f26")}}},[e._v("set mesh[0] color to '#f26'")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshColor(0,"#62f")}}},[e._v("set mesh[0] color to '#62f'")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};BL._withStripped=!0;const DL=ps({render:BL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setMeshColor")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMhSetMeshColor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMhSetMeshColor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-130729ec_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMhSetMeshColor.vue"},media:void 0})}),OL,undefined,false,undefined,!1,ms,void 0,void 0);const UL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMeshLabelVisible:function(e,t){let n=this;try{n.$refs.thr.getInst().setMeshLabelVisible(e,t)}catch(e){}}}};var FL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelVisible(0,!0)}}},[e._v("show label of mesh[0]")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelVisible(0,!1)}}},[e._v("hide label of mesh[0]")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelVisible(1,!0)}}},[e._v("show label of mesh[1]")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelVisible(1,!1)}}},[e._v("hide label of mesh[1]")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};FL._withStripped=!0;const NL=ps({render:FL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setMeshLabelVisible")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMhSetMeshLabelVisible.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMhSetMeshLabelVisible.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-7d54d9e0_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMhSetMeshLabelVisible.vue"},media:void 0})}),UL,undefined,false,undefined,!1,ms,void 0,void 0);const zL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMeshLabelText:function(e,t){let n=this;try{n.$refs.thr.getInst().setMeshLabelText(e,t)}catch(e){}}}};var HL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelText(0,"Wheel Hub")}}},[e._v("set mesh[0] color to 'Wheel Hub'")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelText(0,"ABC")}}},[e._v("set mesh[0] color to 'ABC'")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};HL._withStripped=!0;const WL=ps({render:HL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setMeshLabelText")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMhSetMeshLabelText.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMhSetMeshLabelText.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-649d84ec_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMhSetMeshLabelText.vue"},media:void 0})}),zL,undefined,false,undefined,!1,ms,void 0,void 0);const VL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMeshLabelTextColor:function(e,t){let n=this;try{n.$refs.thr.getInst().setMeshLabelTextColor(e,t)}catch(e){}}}};var jL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelTextColor(0,"#fff")}}},[e._v("set mesh[0] color to '#fff'")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelTextColor(0,"#2ff")}}},[e._v("set mesh[0] color to '#2ff'")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};jL._withStripped=!0;const GL=ps({render:jL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setMeshLabelTextColor")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMhSetMeshLabelTextColor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMhSetMeshLabelTextColor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-22ef66cc_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMhSetMeshLabelTextColor.vue"},media:void 0})}),VL,undefined,false,undefined,!1,ms,void 0,void 0);const $L={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMeshLabelTextFontSize:function(e,t){let n=this;try{n.$refs.thr.getInst().setMeshLabelTextFontSize(e,t)}catch(e){}}}};var XL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelTextFontSize(0,"0.8rem")}}},[e._v("set mesh[0] color to '0.8rem'")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelTextFontSize(0,"1.0rem")}}},[e._v("set mesh[0] color to '1.0rem'")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};XL._withStripped=!0;const YL=ps({render:XL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setMeshLabelTextFontSize")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMhSetMeshLabelTextFontSize.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMhSetMeshLabelTextFontSize.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-6f398258_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMhSetMeshLabelTextFontSize.vue"},media:void 0})}),$L,undefined,false,undefined,!1,ms,void 0,void 0);const qL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}]},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMeshLabelTextFontFamily:function(e,t){let n=this;try{n.$refs.thr.getInst().setMeshLabelTextFontFamily(e,t)}catch(e){}}}};var ZL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelTextFontFamily(0,"Microsoft JhengHei")}}},[e._v("set mesh[0] color to 'Microsoft JhengHei'")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMeshLabelTextFontFamily(0,"Arial")}}},[e._v("set mesh[0] color to 'Arial'")])]),e._v(" "),n("WThreejsVue",{ref:"thr",attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};ZL._withStripped=!0;const JL=ps({render:ZL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("setMeshLabelTextFontFamily")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMhSetMeshLabelTextFontFamily.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMhSetMeshLabelTextFontFamily.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-1e108018_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMhSetMeshLabelTextFontFamily.vue"},media:void 0})}),qL,undefined,false,undefined,!1,ms,void 0,void 0);const KL={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],legnedBackgroundColor:"rgba(10,10,10,0.5)"},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLegnedBackgroundColor:function(e){this.opt.legnedBackgroundColor=e}}};var QL=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){e.setLegnedBackgroundColor("rgba(0,0,0,0.5)")}}},[e._v("set to rgba(0,0,0,0.5)")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){e.setLegnedBackgroundColor("rgba(10,30,30,0.5)")}}},[e._v("set to rgba(10,30,30,0.5)")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};QL._withStripped=!0;const eR=ps({render:QL,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("legnedBackgroundColor")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLgLegnedBackgroundColor.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLgLegnedBackgroundColor.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-24165336_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLgLegnedBackgroundColor.vue"},media:void 0})}),KL,undefined,false,undefined,!1,ms,void 0,void 0);const tR={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],legnedHeight:100},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLegnedHeight:function(e){this.opt.legnedHeight=e}}};var nR=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLegnedHeight(100)}}},[e._v("set to 100")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLegnedHeight(50)}}},[e._v("set to 50")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};nR._withStripped=!0;const rR=ps({render:nR,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("legnedHeight")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLgLegnedHeight.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLgLegnedHeight.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-5dc4cf34_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLgLegnedHeight.vue"},media:void 0})}),tR,undefined,false,undefined,!1,ms,void 0,void 0);const iR={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],legnedHeightMax:100},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setLegnedHeightMax:function(e){this.opt.legnedHeightMax=e}}};var oR=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLegnedHeightMax(100)}}},[e._v("set to 100")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setLegnedHeightMax(50)}}},[e._v("set to 50")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};oR._withStripped=!0;const sR=ps({render:oR,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("legnedHeightMax")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppLgLegnedHeightMax.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppLgLegnedHeightMax.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-549e0ff4_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppLgLegnedHeightMax.vue"},media:void 0})}),iR,undefined,false,undefined,!1,ms,void 0,void 0);const aR={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],menuSettingIcon:"fas fa-cog",menuAutoRotateIcon:"fas fa-history",menuAxesIcon:"fas fa-crosshairs",menuGridIcon:"fas fa-border-all",menuPerspectiveIcon:"fas fa-monument",menuLegendIcon:"fas fa-list"},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMenuIconsMode1:function(){let e=this;e.opt.menuSettingIcon="mdi-cog-outline",e.opt.menuAutoRotateIcon="mdi-axis-z-rotate-counterclockwise",e.opt.menuAxesIcon="mdi-axis",e.opt.menuGridIcon="mdi-grid",e.opt.menuPerspectiveIcon="mdi-projector-screen-outline",e.opt.menuLegendIcon="mdi-list-box-outline"},setMenuIconsMode2:function(){let e=this;e.opt.menuSettingIcon="fas fa-cog",e.opt.menuAutoRotateIcon="fas fa-history",e.opt.menuAxesIcon="fas fa-crosshairs",e.opt.menuGridIcon="fas fa-border-all",e.opt.menuPerspectiveIcon="fas fa-monument",e.opt.menuLegendIcon="fas fa-list"},setMenuIcons:function(e){let t=this;2===e?t.setMenuIconsMode2():t.setMenuIconsMode1()}}};var lR=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMenuIcons(1)}}},[e._v("set to set(1)")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMenuIcons(2)}}},[e._v("set to set(2)")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};lR._withStripped=!0;const cR=ps({render:lR,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("menuIcons")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMuMenuIcons.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMuMenuIcons.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-53034507_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMuMenuIcons.vue"},media:void 0})}),aR,undefined,false,undefined,!1,ms,void 0,void 0);const uR={components:{WThreejsVue:TT},data:function(){return{loading:!0,opt:{width:800,height:600,items:[{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_wheel-hub.stl",name:"Wheel Hub",color:"rgba(214, 92, 92, 0.9)"},{url:"https://cdn.jsdelivr.net/npm/w-demores@1.0.25/res/model/stl/3d_ushape-connector.stl",name:"Ushape Connector",color:"rgba(214, 214, 92, 0.9)"}],menuSettingTooltip:"設定",menuAutoRotateTooltip:"自動旋轉",menuAxesTooltip:"座標軸",menuGridTooltip:"網格",menuPerspectiveTooltip:"透視投影",menuLegendTooltip:"圖例"},action:[]}},mounted:function(){this.showOptJson()},watch:{opt:{handler:function(){this.showOptJson()},deep:!0}},methods:{showOptJson:function(){LT(this.opt,document.querySelector("#optjson"),{expanded:!0})},setMenuTooltipsMode1:function(){let e=this;e.opt.menuSettingTooltip="Settings",e.opt.menuAutoRotateTooltip="Auto rotate",e.opt.menuAxesTooltip="Axes",e.opt.menuGridTooltip="Grid",e.opt.menuPerspectiveTooltip="Perspective",e.opt.menuLegendTooltip="Legend"},setMenuTooltipsMode2:function(){let e=this;e.opt.menuSettingTooltip="設定",e.opt.menuAutoRotateTooltip="自動旋轉",e.opt.menuAxesTooltip="座標軸",e.opt.menuGridTooltip="網格",e.opt.menuPerspectiveTooltip="透視投影",e.opt.menuLegendTooltip="圖例"},setMenuTooltips:function(e){let t=this;2===e?t.setMenuTooltipsMode2():t.setMenuTooltipsMode1()}}};var dR=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._m(0),e._v(" "),n("div",{staticClass:"bkp"},[n("div",{staticStyle:{display:"flex","padding-bottom":"40px","overflow-x":"auto"}},[n("div",{staticStyle:{position:"relative"}},[e.loading?e._e():n("div",{staticStyle:{position:"absolute",right:"2px",top:"1px","z-index":"1"}},[n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMenuTooltips(1)}}},[e._v("tooltip for English")]),e._v(" "),n("button",{staticStyle:{margin:"0px 3px 3px 0px"},on:{click:function(t){return e.setMenuTooltips(2)}}},[e._v("tooltip for 中文")])]),e._v(" "),n("WThreejsVue",{attrs:{opt:e.opt},on:{init:function(t){e.loading=!1}}})],1),e._v(" "),n("div",{staticStyle:{"padding-left":"20px"}},[n("div",{style:"border:1px solid #ddd; width:600px; min-width:600px; height:"+e.opt.height+"px; overflow-y:auto;"},[e._m(1)])])])])])};dR._withStripped=!0;var hR={components:{WListHorizontal:Ts,AppBasicSize:kT,AppBasicBackgroundColor:BT,AppBasicUseAutoRotate:FT,AppBasicAutoRotateDeg:HT,AppBasicUploadStl:eE,AppCmCameraType:rE,AppCmCameraFov:sE,AppCmCameraNear:cE,AppCmCameraFar:hE,AppCmCameraOrthographicRatio:mE,AppCmSetCameraAzimuthAngle:yE,AppCmSetCameraPolarAngle:bE,AppCmSetCameraViewAngle:CE,AppCmGetCameraViewAngle:TE,AppHpUseHelperAxes:RE,AppHpHelperAxesLengthRatio:IE,AppHpUseHelperGrid:DE,AppHpHelperGridLengthRatio:NE,AppHpHelperGridDensity:WE,AppHpHelperGridPositionRatioZ:GE,AppLtUseLightAmbient:YE,AppLtLightAmbientColor:JE,AppLtUseLightPoint:eL,AppLtLightPointPoss:rL,AppLtLightPointColor:sL,AppLtLightPointIntensity:cL,AppLtLightPointDistance:hL,AppLtLightPointDecay:mL,AppLtUseLightDirection:yL,AppLtLightDirectionColor:bL,AppLtLightDirectionIntensity:CL,AppLtLightDirectionPos:TL,AppMhGetMeshsInfor:RL,AppMhSetMeshVisible:IL,AppMhSetMeshColor:DL,AppMhSetMeshLabelVisible:NL,AppMhSetMeshLabelText:WL,AppMhSetMeshLabelTextColor:GL,AppMhSetMeshLabelTextFontSize:YL,AppMhSetMeshLabelTextFontFamily:JL,AppLgLegnedBackgroundColor:eR,AppLgLegnedHeight:rR,AppLgLegnedHeightMax:sR,AppMuMenuIcons:cR,AppMuMenuTooltips:ps({render:dR,staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"bkh"},[n("div",{staticStyle:{"font-size":"1.5rem"}},[e._v("menuTooltips")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//yuda-lyu.github.io/w-threejs-vue/examples/ex-AppMuMenuTooltips.html",target:"_blank"}},[e._v("example")]),e._v(" "),n("a",{staticClass:"item-link",attrs:{href:"//github.com/yuda-lyu/w-threejs-vue/blob/master/docs/examples/ex-AppMuMenuTooltips.html",target:"_blank"}},[e._v("code")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{"padding-left":"5px"}},[t("div",{staticStyle:{"font-size":"10pt"},attrs:{id:"optjson"}})])}]},(function(e){e&&e("data-v-6231aeda_0",{source:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",map:{version:3,sources:[],names:[],mappings:"",file:"AppMuMenuTooltips.vue"},media:void 0})}),uR,undefined,false,undefined,!1,ms,void 0,void 0)},data:function(){return{cmpsL1:[{name:"basic",cmps:[{name:"size"},{name:"backgroundColor"},{name:"useAutoRotate"},{name:"autoRotateDeg"},{name:"uploadStl"}]},{name:"camera",cmps:[{name:"cameraType"},{name:"cameraFov"},{name:"cameraNear"},{name:"cameraFar"},{name:"cameraOrthographicRatio"},{name:"setCameraAzimuthAngle"},{name:"setCameraPolarAngle"},{name:"setCameraViewAngle"},{name:"getCameraViewAngle"}]},{name:"helperAxes",cmps:[{name:"useHelperAxes"},{name:"helperAxesLengthRatio"}]},{name:"helperGrid",cmps:[{name:"useHelperGrid"},{name:"helperGridLengthRatio"},{name:"helperGridDensity"},{name:"helperGridPositionRatioZ"}]},{name:"lightAmbient",cmps:[{name:"useLightAmbient"},{name:"lightAmbientColor"}]},{name:"lightPoint",cmps:[{name:"useLightPoint"},{name:"lightPointPoss"},{name:"lightPointColor"},{name:"lightPointIntensity"},{name:"lightPointDistance"},{name:"lightPointDecay"}]},{name:"lightDirection",cmps:[{name:"useLightDirection"},{name:"lightDirectionColor"},{name:"lightDirectionIntensity"},{name:"lightDirectionPos"}]},{name:"mesh",cmps:[{name:"getMeshsInfor"},{name:"setMeshVisible"},{name:"setMeshColor"},{name:"setMeshLabelVisible"},{name:"setMeshLabelText"},{name:"setMeshLabelTextColor"},{name:"setMeshLabelTextFontSize"},{name:"setMeshLabelTextFontFamily"}]},{name:"menu",cmps:[{name:"menuIcons"},{name:"menuTooltips"}]},{name:"legend",cmps:[{name:"legnedBackgroundColor"},{name:"legnedHeight"},{name:"legnedHeightMax"}]}],indP1:null,cmpP1:null,cmpsL2:null,indP2:null,cmpP2:null,cmpsL3:null,indP3:null,cmpP3:null,cmpsL4:null,cmpPick:""}},mounted:function(){let e=this;e.indP1=0,e.indP2=0,e.indP3=0;let t=function(e){if(!$n(e))return{};if(!$n(e=me(e=Ct(e,"?"),"[1]")))return{};let t=Ct(e,"&");return t=jn(t,(function(e){return Ct(e,"=")})),t=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t{e.cmpP1=me(e.cmpsL1,e.indP1,{}),e.cmpsL2=me(e.cmpP1,"cmps",[]);let n=me(e.cmpP1,"name","");n&&(t=n)}),50),setTimeout((()=>{let n=me(e.cmpP1,"cmps",[]);e.cmpP2=me(n,e.indP2,{}),e.cmpsL3=me(e.cmpP2,"cmps",[]);let r=me(e.cmpP2,"name","");r&&(t=r)}),100),setTimeout((()=>{let n=me(e.cmpP2,"cmps",[]);e.cmpP3=me(n,e.indP3,{}),e.cmpsL4=me(e.cmpP3,"cmps",[]);let r=me(e.cmpP3,"name","");r&&(t=r),e.cmpPick=t}),150)},getInd:function(e,t){let n=-1;return nt(t,((t,r)=>{if(e.name===t.name)return n=r,!1})),n},viewPick:function(e){let t=this,n=e,r="",i=[],o=e=>{nt(e,((e,t)=>{i.push(t);let s=me(e,"name",""),a=me(e,"cmps",[]);i.join("."),s===n&&(r=JSON.parse(JSON.stringify(i))),a.length>0&&o(a),i.pop()}))};o(t.cmpsL1),t.indP1=me(r,0,0),t.indP2=me(r,1,0),t.indP3=me(r,2,0)}}};const pR=hR;var fR=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{changeMenus:e.changeMenus}},[e.isNarrow?e._e():[n("a",{staticClass:"github-corner",staticStyle:{position:"fixed",top:"0",right:"0",border:"0","z-index":"10000"},attrs:{href:"https://github.com/yuda-lyu/w-plot-vue","aria-label":"View source on GitHub",target:"_blank",rel:"noreferrer noopener"}},[n("svg",{staticStyle:{fill:"rgba(0,0,0,0.25)",color:"#fff",position:"absolute",top:"0",border:"0",right:"0"},attrs:{width:"80",height:"80",viewBox:"0 0 250 250","aria-hidden":"true"}},[n("path",{attrs:{d:"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"}}),n("path",{staticClass:"octo-arm",staticStyle:{"transform-origin":"130px 106px"},attrs:{d:"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2",fill:"currentColor"}}),n("path",{staticClass:"octo-body",attrs:{d:"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z",fill:"currentColor"}})])])],e._v(" "),n("div",{staticStyle:{background:"#f5f5f5"}},[e.cmpsL1&&e.cmpsL1.length>0?n("div",{staticStyle:{width:"calc( 100vw - 20px )","overflow-x":"auto"}},[n("WListHorizontal",{attrs:{items:e.cmpsL1,itemActive:e.cmpP1,itemBackgroundColor:"transparent",itemBackgroundColorHover:"#eee",itemBackgroundColorActive:"#eee",keyText:"name",paddingStyle:{v:12,h:20}},on:{"update:itemActive":[function(t){e.cmpP1=t},function(t){e.indP3=0,e.indP2=0,e.indP1=e.getInd(t,e.cmpsL1)}],"update:item-active":function(t){e.cmpP1=t}},scopedSlots:e._u([{key:"item",fn:function(t){return[n("div",{},[e._v("\n "+e._s(t.item.name)+"\n ")])]}}],null,!1,474938045)}),e._v(" "),n("div",{staticStyle:{height:"1px",background:"#ddd"}})],1):e._e(),e._v(" "),e.cmpsL2&&e.cmpsL2.length>0?n("div",{staticStyle:{width:"calc( 100vw - 20px )","overflow-x":"auto"}},[n("div",{staticStyle:{height:"3px",background:"#fff"}}),e._v(" "),n("WListHorizontal",{attrs:{items:e.cmpsL2,itemActive:e.cmpP2,itemBackgroundColor:"transparent",itemBackgroundColorHover:"#eee",itemBackgroundColorActive:"#eee",keyText:"name",paddingStyle:{v:12,h:20}},on:{"update:itemActive":[function(t){e.cmpP2=t},function(t){e.indP3=0,e.indP2=e.getInd(t,e.cmpsL2)}],"update:item-active":function(t){e.cmpP2=t}},scopedSlots:e._u([{key:"item",fn:function(t){return[n("div",{},[e._v("\n "+e._s(t.item.name)+"\n ")])]}}],null,!1,474938045)}),e._v(" "),n("div",{staticStyle:{height:"1px",background:"#ddd"}})],1):e._e(),e._v(" "),e.cmpsL3&&e.cmpsL3.length>0?n("div",{staticStyle:{width:"calc( 100vw - 20px )","overflow-x":"auto"}},[n("div",{staticStyle:{height:"3px",background:"#fff"}}),e._v(" "),n("WListHorizontal",{attrs:{items:e.cmpsL3,itemActive:e.cmpP3,itemBackgroundColor:"transparent",itemBackgroundColorHover:"#eee",itemBackgroundColorActive:"#eee",keyText:"name",paddingStyle:{v:12,h:20}},on:{"update:itemActive":[function(t){e.cmpP3=t},function(t){e.indP3=e.getInd(t,e.cmpsL3)}],"update:item-active":function(t){e.cmpP3=t}},scopedSlots:e._u([{key:"item",fn:function(t){return[n("div",{},[e._v("\n "+e._s(t.item.name)+"\n ")])]}}],null,!1,474938045)}),e._v(" "),n("div",{staticStyle:{height:"1px",background:"#ddd"}})],1):e._e()]),e._v(" "),n("div",{staticClass:"bkh",attrs:{_style:"padding:20px;"}},["size"===e.cmpPick?n("AppBasicSize"):e._e(),e._v(" "),"backgroundColor"===e.cmpPick?n("AppBasicBackgroundColor"):e._e(),e._v(" "),"useAutoRotate"===e.cmpPick?n("AppBasicUseAutoRotate"):e._e(),e._v(" "),"autoRotateDeg"===e.cmpPick?n("AppBasicAutoRotateDeg"):e._e(),e._v(" "),"uploadStl"===e.cmpPick?n("AppBasicUploadStl"):e._e(),e._v(" "),"cameraType"===e.cmpPick?n("AppCmCameraType"):e._e(),e._v(" "),"cameraFov"===e.cmpPick?n("AppCmCameraFov"):e._e(),e._v(" "),"cameraNear"===e.cmpPick?n("AppCmCameraNear"):e._e(),e._v(" "),"cameraFar"===e.cmpPick?n("AppCmCameraFar"):e._e(),e._v(" "),"cameraOrthographicRatio"===e.cmpPick?n("AppCmCameraOrthographicRatio"):e._e(),e._v(" "),"setCameraAzimuthAngle"===e.cmpPick?n("AppCmSetCameraAzimuthAngle"):e._e(),e._v(" "),"setCameraPolarAngle"===e.cmpPick?n("AppCmSetCameraPolarAngle"):e._e(),e._v(" "),"setCameraViewAngle"===e.cmpPick?n("AppCmSetCameraViewAngle"):e._e(),e._v(" "),"getCameraViewAngle"===e.cmpPick?n("AppCmGetCameraViewAngle"):e._e(),e._v(" "),"useHelperAxes"===e.cmpPick?n("AppHpUseHelperAxes"):e._e(),e._v(" "),"helperAxesLengthRatio"===e.cmpPick?n("AppHpHelperAxesLengthRatio"):e._e(),e._v(" "),"useHelperGrid"===e.cmpPick?n("AppHpUseHelperGrid"):e._e(),e._v(" "),"helperGridLengthRatio"===e.cmpPick?n("AppHpHelperGridLengthRatio"):e._e(),e._v(" "),"helperGridDensity"===e.cmpPick?n("AppHpHelperGridDensity"):e._e(),e._v(" "),"helperGridPositionRatioZ"===e.cmpPick?n("AppHpHelperGridPositionRatioZ"):e._e(),e._v(" "),"useLightAmbient"===e.cmpPick?n("AppLtUseLightAmbient"):e._e(),e._v(" "),"lightAmbientColor"===e.cmpPick?n("AppLtLightAmbientColor"):e._e(),e._v(" "),"useLightPoint"===e.cmpPick?n("AppLtUseLightPoint"):e._e(),e._v(" "),"lightPointPoss"===e.cmpPick?n("AppLtLightPointPoss"):e._e(),e._v(" "),"lightPointColor"===e.cmpPick?n("AppLtLightPointColor"):e._e(),e._v(" "),"lightPointIntensity"===e.cmpPick?n("AppLtLightPointIntensity"):e._e(),e._v(" "),"lightPointDistance"===e.cmpPick?n("AppLtLightPointDistance"):e._e(),e._v(" "),"lightPointDecay"===e.cmpPick?n("AppLtLightPointDecay"):e._e(),e._v(" "),"useLightDirection"===e.cmpPick?n("AppLtUseLightDirection"):e._e(),e._v(" "),"lightDirectionColor"===e.cmpPick?n("AppLtLightDirectionColor"):e._e(),e._v(" "),"lightDirectionIntensity"===e.cmpPick?n("AppLtLightDirectionIntensity"):e._e(),e._v(" "),"lightDirectionPos"===e.cmpPick?n("AppLtLightDirectionPos"):e._e(),e._v(" "),"getMeshsInfor"===e.cmpPick?n("AppMhGetMeshsInfor"):e._e(),e._v(" "),"setMeshVisible"===e.cmpPick?n("AppMhSetMeshVisible"):e._e(),e._v(" "),"setMeshColor"===e.cmpPick?n("AppMhSetMeshColor"):e._e(),e._v(" "),"setMeshLabelVisible"===e.cmpPick?n("AppMhSetMeshLabelVisible"):e._e(),e._v(" "),"setMeshLabelText"===e.cmpPick?n("AppMhSetMeshLabelText"):e._e(),e._v(" "),"setMeshLabelTextColor"===e.cmpPick?n("AppMhSetMeshLabelTextColor"):e._e(),e._v(" "),"setMeshLabelTextFontSize"===e.cmpPick?n("AppMhSetMeshLabelTextFontSize"):e._e(),e._v(" "),"setMeshLabelTextFontFamily"===e.cmpPick?n("AppMhSetMeshLabelTextFontFamily"):e._e(),e._v(" "),"legnedBackgroundColor"===e.cmpPick?n("AppLgLegnedBackgroundColor"):e._e(),e._v(" "),"legnedHeight"===e.cmpPick?n("AppLgLegnedHeight"):e._e(),e._v(" "),"legnedHeightMax"===e.cmpPick?n("AppLgLegnedHeightMax"):e._e(),e._v(" "),"menuIcons"===e.cmpPick?n("AppMuMenuIcons"):e._e(),e._v(" "),"menuTooltips"===e.cmpPick?n("AppMuMenuTooltips"):e._e()],1)],2)};fR._withStripped=!0;return ps({render:fR,staticRenderFns:[]},(function(e){e&&e("data-v-4ab70c06_0",{source:"\n.item-link {\r\n display: inline-block;\r\n margin: 10px 10px 0px 0px;\r\n padding: 5px 10px;\r\n font-size: 0.8rem;\r\n color: #fff;\r\n background-color: #443a65;\r\n cursor: pointer;\r\n text-decoration: none;\n}\n.bkh {\r\n padding:20px; /* 寬 */\n}\n@media screen and (max-width:800px){ /* 中 */\n.bkh {\r\n padding:10px;\n}\n}\n@media screen and (max-width:400px){ /* 窄 */\n.bkh {\r\n padding:5px;\n}\n}\n.bkp {\r\n padding:0px 20px; /* 寬 */\n}\n@media screen and (max-width:800px){ /* 中 */\n.bkp {\r\n padding:0px 10px;\n}\n}\n@media screen and (max-width:400px){ /* 窄 */\n.bkp {\r\n padding:0px 5px;\n}\n}\r\n",map:{version:3,sources:["D:\\- 006 - 開源\\開源-JS-105-3-w-threejs-vue\\w-threejs-vue\\src\\App.vue"],names:[],mappings:";AAsiBA;IACA,qBAAA;IACA,yBAAA;IACA,iBAAA;IACA,iBAAA;IACA,WAAA;IACA,yBAAA;IACA,eAAA;IACA,qBAAA;AACA;AACA;IACA,YAAA,EAAA,MAAA;AACA;AACA,qCAAA,MAAA;AACA;QACA,YAAA;AACA;AACA;AACA,qCAAA,MAAA;AACA;QACA,WAAA;AACA;AACA;AACA;IACA,gBAAA,EAAA,MAAA;AACA;AACA,qCAAA,MAAA;AACA;QACA,gBAAA;AACA;AACA;AACA,qCAAA,MAAA;AACA;QACA,eAAA;AACA;AACA",file:"App.vue",sourcesContent:["\r\n\r\n + @@ -70,8 +70,19 @@