orbitcontrols.min.js 12 KB

12345678
  1. /**
  2. * Minified by jsDelivr using Terser v5.9.0.
  3. * Original file: /npm/three@0.125.1/examples/js/controls/OrbitControls.js
  4. *
  5. * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
  6. */
  7. THREE.OrbitControls=function(e,t){var n,o,a,i,c,r;void 0===t&&console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'),t===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=e,this.domElement=t,this.enabled=!0,this.target=new THREE.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={LEFT:THREE.MOUSE.ROTATE,MIDDLE:THREE.MOUSE.DOLLY,RIGHT:THREE.MOUSE.PAN},this.touches={ONE:THREE.TOUCH.ROTATE,TWO:THREE.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return d.phi},this.getAzimuthalAngle=function(){return d.theta},this.listenToKeyEvents=function(e){e.addEventListener("keydown",q),this._domElementKeyEvents=e},this.saveState=function(){s.target0.copy(s.target),s.position0.copy(s.object.position),s.zoom0=s.object.zoom},this.reset=function(){s.target.copy(s.target0),s.object.position.copy(s.position0),s.object.zoom=s.zoom0,s.object.updateProjectionMatrix(),s.dispatchEvent(u),s.update(),h=m.NONE},this.update=(n=new THREE.Vector3,o=(new THREE.Quaternion).setFromUnitVectors(e.up,new THREE.Vector3(0,1,0)),a=o.clone().invert(),i=new THREE.Vector3,c=new THREE.Quaternion,r=2*Math.PI,function(){var e=s.object.position;n.copy(e).sub(s.target),n.applyQuaternion(o),d.setFromVector3(n),s.autoRotate&&h===m.NONE&&M(2*Math.PI/60/60*s.autoRotateSpeed),s.enableDamping?(d.theta+=b.theta*s.dampingFactor,d.phi+=b.phi*s.dampingFactor):(d.theta+=b.theta,d.phi+=b.phi);var t=s.minAzimuthAngle,l=s.maxAzimuthAngle;return isFinite(t)&&isFinite(l)&&(t<-Math.PI?t+=r:t>Math.PI&&(t-=r),l<-Math.PI?l+=r:l>Math.PI&&(l-=r),d.theta=t<=l?Math.max(t,Math.min(l,d.theta)):d.theta>(t+l)/2?Math.max(t,d.theta):Math.min(l,d.theta)),d.phi=Math.max(s.minPolarAngle,Math.min(s.maxPolarAngle,d.phi)),d.makeSafe(),d.radius*=T,d.radius=Math.max(s.minDistance,Math.min(s.maxDistance,d.radius)),!0===s.enableDamping?s.target.addScaledVector(O,s.dampingFactor):s.target.add(O),n.setFromSpherical(d),n.applyQuaternion(a),e.copy(s.target).add(n),s.object.lookAt(s.target),!0===s.enableDamping?(b.theta*=1-s.dampingFactor,b.phi*=1-s.dampingFactor,O.multiplyScalar(1-s.dampingFactor)):(b.set(0,0,0),O.set(0,0,0)),T=1,!!(f||i.distanceToSquared(s.object.position)>p||8*(1-c.dot(s.object.quaternion))>p)&&(s.dispatchEvent(u),i.copy(s.object.position),c.copy(s.object.quaternion),f=!1,!0)}),this.dispose=function(){s.domElement.removeEventListener("contextmenu",ee),s.domElement.removeEventListener("pointerdown",K),s.domElement.removeEventListener("wheel",W),s.domElement.removeEventListener("touchstart",Q),s.domElement.removeEventListener("touchend",$),s.domElement.removeEventListener("touchmove",J),s.domElement.ownerDocument.removeEventListener("pointermove",B),s.domElement.ownerDocument.removeEventListener("pointerup",G),null!==s._domElementKeyEvents&&s._domElementKeyEvents.removeEventListener("keydown",q)};var s=this,u={type:"change"},l={type:"start"},E={type:"end"},m={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},h=m.NONE,p=1e-6,d=new THREE.Spherical,b=new THREE.Spherical,T=1,O=new THREE.Vector3,f=!1,g=new THREE.Vector2,R=new THREE.Vector2,v=new THREE.Vector2,H=new THREE.Vector2,y=new THREE.Vector2,P=new THREE.Vector2,L=new THREE.Vector2,w=new THREE.Vector2,A=new THREE.Vector2;function N(){return Math.pow(.95,s.zoomSpeed)}function M(e){b.theta-=e}function j(e){b.phi-=e}var C,D=(C=new THREE.Vector3,function(e,t){C.setFromMatrixColumn(t,0),C.multiplyScalar(-e),O.add(C)}),S=function(){var e=new THREE.Vector3;return function(t,n){!0===s.screenSpacePanning?e.setFromMatrixColumn(n,1):(e.setFromMatrixColumn(n,0),e.crossVectors(s.object.up,e)),e.multiplyScalar(t),O.add(e)}}(),k=function(){var e=new THREE.Vector3;return function(t,n){var o=s.domElement;if(s.object.isPerspectiveCamera){var a=s.object.position;e.copy(a).sub(s.target);var i=e.length();i*=Math.tan(s.object.fov/2*Math.PI/180),D(2*t*i/o.clientHeight,s.object.matrix),S(2*n*i/o.clientHeight,s.object.matrix)}else s.object.isOrthographicCamera?(D(t*(s.object.right-s.object.left)/s.object.zoom/o.clientWidth,s.object.matrix),S(n*(s.object.top-s.object.bottom)/s.object.zoom/o.clientHeight,s.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),s.enablePan=!1)}}();function Y(e){s.object.isPerspectiveCamera?T/=e:s.object.isOrthographicCamera?(s.object.zoom=Math.max(s.minZoom,Math.min(s.maxZoom,s.object.zoom*e)),s.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),s.enableZoom=!1)}function x(e){s.object.isPerspectiveCamera?T*=e:s.object.isOrthographicCamera?(s.object.zoom=Math.max(s.minZoom,Math.min(s.maxZoom,s.object.zoom/e)),s.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),s.enableZoom=!1)}function U(e){g.set(e.clientX,e.clientY)}function V(e){H.set(e.clientX,e.clientY)}function _(e){if(1==e.touches.length)g.set(e.touches[0].pageX,e.touches[0].pageY);else{var t=.5*(e.touches[0].pageX+e.touches[1].pageX),n=.5*(e.touches[0].pageY+e.touches[1].pageY);g.set(t,n)}}function z(e){if(1==e.touches.length)H.set(e.touches[0].pageX,e.touches[0].pageY);else{var t=.5*(e.touches[0].pageX+e.touches[1].pageX),n=.5*(e.touches[0].pageY+e.touches[1].pageY);H.set(t,n)}}function I(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,o=Math.sqrt(t*t+n*n);L.set(0,o)}function X(e){if(1==e.touches.length)R.set(e.touches[0].pageX,e.touches[0].pageY);else{var t=.5*(e.touches[0].pageX+e.touches[1].pageX),n=.5*(e.touches[0].pageY+e.touches[1].pageY);R.set(t,n)}v.subVectors(R,g).multiplyScalar(s.rotateSpeed);var o=s.domElement;M(2*Math.PI*v.x/o.clientHeight),j(2*Math.PI*v.y/o.clientHeight),g.copy(R)}function F(e){if(1==e.touches.length)y.set(e.touches[0].pageX,e.touches[0].pageY);else{var t=.5*(e.touches[0].pageX+e.touches[1].pageX),n=.5*(e.touches[0].pageY+e.touches[1].pageY);y.set(t,n)}P.subVectors(y,H).multiplyScalar(s.panSpeed),k(P.x,P.y),H.copy(y)}function Z(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,o=Math.sqrt(t*t+n*n);w.set(0,o),A.set(0,Math.pow(w.y/L.y,s.zoomSpeed)),Y(A.y),L.copy(w)}function K(e){if(!1!==s.enabled)switch(e.pointerType){case"mouse":case"pen":!function(e){var t;switch(e.preventDefault(),s.domElement.focus?s.domElement.focus():window.focus(),e.button){case 0:t=s.mouseButtons.LEFT;break;case 1:t=s.mouseButtons.MIDDLE;break;case 2:t=s.mouseButtons.RIGHT;break;default:t=-1}switch(t){case THREE.MOUSE.DOLLY:if(!1===s.enableZoom)return;!function(e){L.set(e.clientX,e.clientY)}(e),h=m.DOLLY;break;case THREE.MOUSE.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===s.enablePan)return;V(e),h=m.PAN}else{if(!1===s.enableRotate)return;U(e),h=m.ROTATE}break;case THREE.MOUSE.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===s.enableRotate)return;U(e),h=m.ROTATE}else{if(!1===s.enablePan)return;V(e),h=m.PAN}break;default:h=m.NONE}h!==m.NONE&&(s.domElement.ownerDocument.addEventListener("pointermove",B),s.domElement.ownerDocument.addEventListener("pointerup",G),s.dispatchEvent(l))}(e)}}function B(e){if(!1!==s.enabled)switch(e.pointerType){case"mouse":case"pen":!function(e){if(!1===s.enabled)return;switch(e.preventDefault(),h){case m.ROTATE:if(!1===s.enableRotate)return;!function(e){R.set(e.clientX,e.clientY),v.subVectors(R,g).multiplyScalar(s.rotateSpeed);var t=s.domElement;M(2*Math.PI*v.x/t.clientHeight),j(2*Math.PI*v.y/t.clientHeight),g.copy(R),s.update()}(e);break;case m.DOLLY:if(!1===s.enableZoom)return;!function(e){w.set(e.clientX,e.clientY),A.subVectors(w,L),A.y>0?Y(N()):A.y<0&&x(N()),L.copy(w),s.update()}(e);break;case m.PAN:if(!1===s.enablePan)return;!function(e){y.set(e.clientX,e.clientY),P.subVectors(y,H).multiplyScalar(s.panSpeed),k(P.x,P.y),H.copy(y),s.update()}(e)}}(e)}}function G(e){switch(e.pointerType){case"mouse":case"pen":!function(e){if(s.domElement.ownerDocument.removeEventListener("pointermove",B),s.domElement.ownerDocument.removeEventListener("pointerup",G),!1===s.enabled)return;s.dispatchEvent(E),h=m.NONE}()}}function W(e){!1===s.enabled||!1===s.enableZoom||h!==m.NONE&&h!==m.ROTATE||(e.preventDefault(),e.stopPropagation(),s.dispatchEvent(l),function(e){e.deltaY<0?x(N()):e.deltaY>0&&Y(N()),s.update()}(e),s.dispatchEvent(E))}function q(e){!1!==s.enabled&&!1!==s.enablePan&&function(e){var t=!1;switch(e.keyCode){case s.keys.UP:k(0,s.keyPanSpeed),t=!0;break;case s.keys.BOTTOM:k(0,-s.keyPanSpeed),t=!0;break;case s.keys.LEFT:k(s.keyPanSpeed,0),t=!0;break;case s.keys.RIGHT:k(-s.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),s.update())}(e)}function Q(e){if(!1!==s.enabled){switch(e.preventDefault(),e.touches.length){case 1:switch(s.touches.ONE){case THREE.TOUCH.ROTATE:if(!1===s.enableRotate)return;_(e),h=m.TOUCH_ROTATE;break;case THREE.TOUCH.PAN:if(!1===s.enablePan)return;z(e),h=m.TOUCH_PAN;break;default:h=m.NONE}break;case 2:switch(s.touches.TWO){case THREE.TOUCH.DOLLY_PAN:if(!1===s.enableZoom&&!1===s.enablePan)return;!function(e){s.enableZoom&&I(e),s.enablePan&&z(e)}(e),h=m.TOUCH_DOLLY_PAN;break;case THREE.TOUCH.DOLLY_ROTATE:if(!1===s.enableZoom&&!1===s.enableRotate)return;!function(e){s.enableZoom&&I(e),s.enableRotate&&_(e)}(e),h=m.TOUCH_DOLLY_ROTATE;break;default:h=m.NONE}break;default:h=m.NONE}h!==m.NONE&&s.dispatchEvent(l)}}function J(e){if(!1!==s.enabled)switch(e.preventDefault(),e.stopPropagation(),h){case m.TOUCH_ROTATE:if(!1===s.enableRotate)return;X(e),s.update();break;case m.TOUCH_PAN:if(!1===s.enablePan)return;F(e),s.update();break;case m.TOUCH_DOLLY_PAN:if(!1===s.enableZoom&&!1===s.enablePan)return;!function(e){s.enableZoom&&Z(e),s.enablePan&&F(e)}(e),s.update();break;case m.TOUCH_DOLLY_ROTATE:if(!1===s.enableZoom&&!1===s.enableRotate)return;!function(e){s.enableZoom&&Z(e),s.enableRotate&&X(e)}(e),s.update();break;default:h=m.NONE}}function $(e){!1!==s.enabled&&(s.dispatchEvent(E),h=m.NONE)}function ee(e){!1!==s.enabled&&e.preventDefault()}s.domElement.addEventListener("contextmenu",ee),s.domElement.addEventListener("pointerdown",K),s.domElement.addEventListener("wheel",W),s.domElement.addEventListener("touchstart",Q),s.domElement.addEventListener("touchend",$),s.domElement.addEventListener("touchmove",J),this.update()},THREE.OrbitControls.prototype=Object.create(THREE.EventDispatcher.prototype),THREE.OrbitControls.prototype.constructor=THREE.OrbitControls,THREE.MapControls=function(e,t){THREE.OrbitControls.call(this,e,t),this.screenSpacePanning=!1,this.mouseButtons.LEFT=THREE.MOUSE.PAN,this.mouseButtons.RIGHT=THREE.MOUSE.ROTATE,this.touches.ONE=THREE.TOUCH.PAN,this.touches.TWO=THREE.TOUCH.DOLLY_ROTATE},THREE.MapControls.prototype=Object.create(THREE.EventDispatcher.prototype),THREE.MapControls.prototype.constructor=THREE.MapControls;
  8. //# sourceMappingURL=/sm/b338d83b7570e0ba9420268eb3a272ff9df57bb5e76743b3708e0cbeaf0e5520.map