{"version":3,"sources":["jsdelivr-header.js","/npm/orbit-controls-es6@2.0.0/build/orbit-controls-es6.umd.js"],"names":[],"mappings":"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","file":"/npm/orbit-controls-es6@2.0.0/build/orbit-controls-es6.umd.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/orbit-controls-es6@2.0.0/build/orbit-controls-es6.umd.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('three')) :\n  typeof define === 'function' && define.amd ? define(['three'], factory) :\n  (global.orbitControls = factory(global.three));\n}(this, (function (three) { 'use strict';\n\n  function _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError(\"Cannot call a class as a function\");\n    }\n  }\n\n  function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  function _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n    return Constructor;\n  }\n\n  function _inherits(subClass, superClass) {\n    if (typeof superClass !== \"function\" && superClass !== null) {\n      throw new TypeError(\"Super expression must either be null or a function\");\n    }\n\n    subClass.prototype = Object.create(superClass && superClass.prototype, {\n      constructor: {\n        value: subClass,\n        writable: true,\n        configurable: true\n      }\n    });\n    if (superClass) _setPrototypeOf(subClass, superClass);\n  }\n\n  function _getPrototypeOf(o) {\n    _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n      return o.__proto__ || Object.getPrototypeOf(o);\n    };\n    return _getPrototypeOf(o);\n  }\n\n  function _setPrototypeOf(o, p) {\n    _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n      o.__proto__ = p;\n      return o;\n    };\n\n    return _setPrototypeOf(o, p);\n  }\n\n  function _assertThisInitialized(self) {\n    if (self === void 0) {\n      throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n    }\n\n    return self;\n  }\n\n  function _possibleConstructorReturn(self, call) {\n    if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n      return call;\n    }\n\n    return _assertThisInitialized(self);\n  }\n\n  /**\n   * @author qiao / https://github.com/qiao\n   * @author mrdoob / http://mrdoob.com\n   * @author alteredq / http://alteredqualia.com/\n   * @author WestLangley / http://github.com/WestLangley\n   * @author erich666 / http://erichaines.com\n   */\n\n  var OrbitControls =\n  /*#__PURE__*/\n  function (_EventDispatcher) {\n    _inherits(OrbitControls, _EventDispatcher);\n\n    function OrbitControls(object, domElement) {\n      var _this;\n\n      _classCallCheck(this, OrbitControls);\n\n      _this = _possibleConstructorReturn(this, _getPrototypeOf(OrbitControls).call(this));\n      _this.object = object;\n      _this.domElement = domElement !== undefined ? domElement : document; // Set to false to disable this control\n\n      _this.enabled = true; // \"target\" sets the location of focus, where the object orbits around\n\n      _this.target = new three.Vector3(); // How far you can dolly in and out ( PerspectiveCamera only )\n\n      _this.minDistance = 0;\n      _this.maxDistance = Infinity; // How far you can zoom in and out ( OrthographicCamera only )\n\n      _this.minZoom = 0;\n      _this.maxZoom = Infinity; // How far you can orbit vertically, upper and lower limits.\n      // Range is 0 to Math.PI radians.\n\n      _this.minPolarAngle = 0; // radians\n\n      _this.maxPolarAngle = Math.PI; // radians\n      // How far you can orbit horizontally, upper and lower limits.\n      // If set, must be a sub-interval of the interval [ - Math.PI, Math.PI ].\n\n      _this.minAzimuthAngle = -Infinity; // radians\n\n      _this.maxAzimuthAngle = Infinity; // radians\n      // Set to true to enable damping (inertia)\n      // If damping is enabled, you must call controls.update() in your animation loop\n\n      _this.enableDamping = false;\n      _this.dampingFactor = 0.25; // This option actually enables dollying in and out; left as \"zoom\" for backwards compatibility.\n      // Set to false to disable zooming\n\n      _this.enableZoom = true;\n      _this.zoomSpeed = 1.0; // Set to false to disable rotating\n\n      _this.enableRotate = true;\n      _this.rotateSpeed = 1.0; // Set to false to disable panning\n\n      _this.enablePan = true;\n      _this.keyPanSpeed = 7.0; // pixels moved per arrow key push\n      // Set to true to automatically rotate around the target\n      // If auto-rotate is enabled, you must call controls.update() in your animation loop\n\n      _this.autoRotate = false;\n      _this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60\n      // Set to false to disable use of the keys\n\n      _this.enableKeys = true; // The four arrow keys\n\n      _this.keys = {\n        LEFT: 37,\n        UP: 38,\n        RIGHT: 39,\n        BOTTOM: 40\n      }; // Mouse buttons\n\n      _this.mouseButtons = {\n        ORBIT: three.MOUSE.LEFT,\n        ZOOM: three.MOUSE.MIDDLE,\n        PAN: three.MOUSE.RIGHT\n      }; // for reset\n\n      _this.target0 = _this.target.clone();\n      _this.position0 = _this.object.position.clone();\n      _this.zoom0 = _this.object.zoom; //\n      // public methods\n      //\n\n      _this.getPolarAngle = function () {\n        return spherical.phi;\n      };\n\n      _this.getAzimuthalAngle = function () {\n        return spherical.theta;\n      };\n\n      _this.reset = function () {\n        scope.target.copy(scope.target0);\n        scope.object.position.copy(scope.position0);\n        scope.object.zoom = scope.zoom0;\n        scope.object.updateProjectionMatrix();\n        scope.dispatchEvent(changeEvent);\n        scope.update();\n        state = STATE.NONE;\n      }; // this method is exposed, but perhaps it would be better if we can make it private...\n\n\n      _this.update = function () {\n        var offset = new three.Vector3(); // so camera.up is the orbit axis\n\n        var quat = new three.Quaternion().setFromUnitVectors(object.up, new three.Vector3(0, 1, 0));\n        var quatInverse = quat.clone().inverse();\n        var lastPosition = new three.Vector3();\n        var lastQuaternion = new three.Quaternion();\n        return function update() {\n          var position = scope.object.position;\n          offset.copy(position).sub(scope.target); // rotate offset to \"y-axis-is-up\" space\n\n          offset.applyQuaternion(quat); // angle from z-axis around y-axis\n\n          spherical.setFromVector3(offset);\n\n          if (scope.autoRotate && state === STATE.NONE) {\n            rotateLeft(getAutoRotationAngle());\n          }\n\n          spherical.theta += sphericalDelta.theta;\n          spherical.phi += sphericalDelta.phi; // restrict theta to be between desired limits\n\n          spherical.theta = Math.max(scope.minAzimuthAngle, Math.min(scope.maxAzimuthAngle, spherical.theta)); // restrict phi to be between desired limits\n\n          spherical.phi = Math.max(scope.minPolarAngle, Math.min(scope.maxPolarAngle, spherical.phi));\n          spherical.makeSafe();\n          spherical.radius *= scale; // restrict radius to be between desired limits\n\n          spherical.radius = Math.max(scope.minDistance, Math.min(scope.maxDistance, spherical.radius)); // move target to panned location\n\n          scope.target.add(panOffset);\n          offset.setFromSpherical(spherical); // rotate offset back to \"camera-up-vector-is-up\" space\n\n          offset.applyQuaternion(quatInverse);\n          position.copy(scope.target).add(offset);\n          scope.object.lookAt(scope.target);\n\n          if (scope.enableDamping === true) {\n            sphericalDelta.theta *= 1 - scope.dampingFactor;\n            sphericalDelta.phi *= 1 - scope.dampingFactor;\n          } else {\n            sphericalDelta.set(0, 0, 0);\n          }\n\n          scale = 1;\n          panOffset.set(0, 0, 0); // update condition is:\n          // min(camera displacement, camera rotation in radians)^2 > EPS\n          // using small-angle approximation cos(x/2) = 1 - x^2 / 8\n\n          if (zoomChanged || lastPosition.distanceToSquared(scope.object.position) > EPS || 8 * (1 - lastQuaternion.dot(scope.object.quaternion)) > EPS) {\n            scope.dispatchEvent(changeEvent);\n            lastPosition.copy(scope.object.position);\n            lastQuaternion.copy(scope.object.quaternion);\n            zoomChanged = false;\n            return true;\n          }\n\n          return false;\n        };\n      }();\n\n      _this.dispose = function () {\n        scope.domElement.removeEventListener('contextmenu', onContextMenu, false);\n        scope.domElement.removeEventListener('mousedown', onMouseDown, false);\n        scope.domElement.removeEventListener('wheel', onMouseWheel, false);\n        scope.domElement.removeEventListener('touchstart', onTouchStart, false);\n        scope.domElement.removeEventListener('touchend', onTouchEnd, false);\n        scope.domElement.removeEventListener('touchmove', onTouchMove, false);\n        document.removeEventListener('mousemove', onMouseMove, false);\n        document.removeEventListener('mouseup', onMouseUp, false);\n        window.removeEventListener('keydown', onKeyDown, false); // scope.dispatchEvent( { type: 'dispose' } ); // should this be added here?\n      }; //\n      // internals\n      //\n\n\n      var scope = _assertThisInitialized(_assertThisInitialized(_this));\n\n      var changeEvent = {\n        type: 'change'\n      };\n      var startEvent = {\n        type: 'start'\n      };\n      var endEvent = {\n        type: 'end'\n      };\n      var STATE = {\n        NONE: -1,\n        ROTATE: 0,\n        DOLLY: 1,\n        PAN: 2,\n        TOUCH_ROTATE: 3,\n        TOUCH_DOLLY: 4,\n        TOUCH_PAN: 5\n      };\n      var state = STATE.NONE;\n      var EPS = 0.000001; // current position in spherical coordinates\n\n      var spherical = new three.Spherical();\n      var sphericalDelta = new three.Spherical();\n      var scale = 1;\n      var panOffset = new three.Vector3();\n      var zoomChanged = false;\n      var rotateStart = new three.Vector2();\n      var rotateEnd = new three.Vector2();\n      var rotateDelta = new three.Vector2();\n      var panStart = new three.Vector2();\n      var panEnd = new three.Vector2();\n      var panDelta = new three.Vector2();\n      var dollyStart = new three.Vector2();\n      var dollyEnd = new three.Vector2();\n      var dollyDelta = new three.Vector2();\n\n      function getAutoRotationAngle() {\n        return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed;\n      }\n\n      function getZoomScale() {\n        return Math.pow(0.95, scope.zoomSpeed);\n      }\n\n      function rotateLeft(angle) {\n        sphericalDelta.theta -= angle;\n      }\n\n      function rotateUp(angle) {\n        sphericalDelta.phi -= angle;\n      }\n\n      var panLeft = function () {\n        var v = new three.Vector3();\n        return function panLeft(distance, objectMatrix) {\n          v.setFromMatrixColumn(objectMatrix, 0); // get X column of objectMatrix\n\n          v.multiplyScalar(-distance);\n          panOffset.add(v);\n        };\n      }();\n\n      var panUp = function () {\n        var v = new three.Vector3();\n        return function panUp(distance, objectMatrix) {\n          v.setFromMatrixColumn(objectMatrix, 1); // get Y column of objectMatrix\n\n          v.multiplyScalar(distance);\n          panOffset.add(v);\n        };\n      }(); // deltaX and deltaY are in pixels; right and down are positive\n\n\n      var pan = function () {\n        var offset = new three.Vector3();\n        return function pan(deltaX, deltaY) {\n          var element = scope.domElement === document ? scope.domElement.body : scope.domElement;\n\n          if (Object.getPrototypeOf(scope.object).isPerspectiveCamera) {\n            // perspective\n            var position = scope.object.position;\n            offset.copy(position).sub(scope.target);\n            var targetDistance = offset.length(); // half of the fov is center to top of screen\n\n            targetDistance *= Math.tan(scope.object.fov / 2 * Math.PI / 180.0); // we actually don't use screenWidth, since perspective camera is fixed to screen height\n\n            panLeft(2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix);\n            panUp(2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix);\n          } else if (Object.getPrototypeOf(scope.object).isOrthographicCamera) {\n            // orthographic\n            panLeft(deltaX * (scope.object.right - scope.object.left) / scope.object.zoom / element.clientWidth, scope.object.matrix);\n            panUp(deltaY * (scope.object.top - scope.object.bottom) / scope.object.zoom / element.clientHeight, scope.object.matrix);\n          } else {\n            // camera neither orthographic nor perspective\n            console.warn('WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.');\n            scope.enablePan = false;\n          }\n        };\n      }();\n\n      function dollyIn(dollyScale) {\n        if (Object.getPrototypeOf(scope.object).isPerspectiveCamera) {\n          scale /= dollyScale;\n        } else if (Object.getPrototypeOf(scope.object).isOrthographicCamera) {\n          scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom * dollyScale));\n          scope.object.updateProjectionMatrix();\n          zoomChanged = true;\n        } else {\n          console.warn('WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.');\n          scope.enableZoom = false;\n        }\n      }\n\n      function dollyOut(dollyScale) {\n        if (Object.getPrototypeOf(scope.object).isPerspectiveCamera) {\n          scale *= dollyScale;\n        } else if (Object.getPrototypeOf(scope.object).isOrthographicCamera) {\n          scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom / dollyScale));\n          scope.object.updateProjectionMatrix();\n          zoomChanged = true;\n        } else {\n          console.warn('WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.');\n          scope.enableZoom = false;\n        }\n      } //\n      // event callbacks - update the object state\n      //\n\n\n      function handleMouseDownRotate(event) {\n        // console.log( 'handleMouseDownRotate' );\n        rotateStart.set(event.clientX, event.clientY);\n      }\n\n      function handleMouseDownDolly(event) {\n        // console.log( 'handleMouseDownDolly' );\n        dollyStart.set(event.clientX, event.clientY);\n      }\n\n      function handleMouseDownPan(event) {\n        // console.log( 'handleMouseDownPan' );\n        panStart.set(event.clientX, event.clientY);\n      }\n\n      function handleMouseMoveRotate(event) {\n        // console.log( 'handleMouseMoveRotate' );\n        rotateEnd.set(event.clientX, event.clientY);\n        rotateDelta.subVectors(rotateEnd, rotateStart);\n        var element = scope.domElement === document ? scope.domElement.body : scope.domElement; // rotating across whole screen goes 360 degrees around\n\n        rotateLeft(2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed); // rotating up and down along whole screen attempts to go 360, but limited to 180\n\n        rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed);\n        rotateStart.copy(rotateEnd);\n        scope.update();\n      }\n\n      function handleMouseMoveDolly(event) {\n        // console.log( 'handleMouseMoveDolly' );\n        dollyEnd.set(event.clientX, event.clientY);\n        dollyDelta.subVectors(dollyEnd, dollyStart);\n\n        if (dollyDelta.y > 0) {\n          dollyIn(getZoomScale());\n        } else if (dollyDelta.y < 0) {\n          dollyOut(getZoomScale());\n        }\n\n        dollyStart.copy(dollyEnd);\n        scope.update();\n      }\n\n      function handleMouseMovePan(event) {\n        // console.log( 'handleMouseMovePan' );\n        panEnd.set(event.clientX, event.clientY);\n        panDelta.subVectors(panEnd, panStart);\n        pan(panDelta.x, panDelta.y);\n        panStart.copy(panEnd);\n        scope.update();\n      }\n\n      function handleMouseWheel(event) {\n        // console.log( 'handleMouseWheel' );\n        if (event.deltaY < 0) {\n          dollyOut(getZoomScale());\n        } else if (event.deltaY > 0) {\n          dollyIn(getZoomScale());\n        }\n\n        scope.update();\n      }\n\n      function handleKeyDown(event) {\n        // console.log( 'handleKeyDown' );\n        switch (event.keyCode) {\n          case scope.keys.UP:\n            pan(0, scope.keyPanSpeed);\n            scope.update();\n            break;\n\n          case scope.keys.BOTTOM:\n            pan(0, -scope.keyPanSpeed);\n            scope.update();\n            break;\n\n          case scope.keys.LEFT:\n            pan(scope.keyPanSpeed, 0);\n            scope.update();\n            break;\n\n          case scope.keys.RIGHT:\n            pan(-scope.keyPanSpeed, 0);\n            scope.update();\n            break;\n        }\n      }\n\n      function handleTouchStartRotate(event) {\n        // console.log( 'handleTouchStartRotate' );\n        rotateStart.set(event.touches[0].pageX, event.touches[0].pageY);\n      }\n\n      function handleTouchStartDolly(event) {\n        // console.log( 'handleTouchStartDolly' );\n        var dx = event.touches[0].pageX - event.touches[1].pageX;\n        var dy = event.touches[0].pageY - event.touches[1].pageY;\n        var distance = Math.sqrt(dx * dx + dy * dy);\n        dollyStart.set(0, distance);\n      }\n\n      function handleTouchStartPan(event) {\n        // console.log( 'handleTouchStartPan' );\n        panStart.set(event.touches[0].pageX, event.touches[0].pageY);\n      }\n\n      function handleTouchMoveRotate(event) {\n        // console.log( 'handleTouchMoveRotate' );\n        rotateEnd.set(event.touches[0].pageX, event.touches[0].pageY);\n        rotateDelta.subVectors(rotateEnd, rotateStart);\n        var element = scope.domElement === document ? scope.domElement.body : scope.domElement; // rotating across whole screen goes 360 degrees around\n\n        rotateLeft(2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed); // rotating up and down along whole screen attempts to go 360, but limited to 180\n\n        rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed);\n        rotateStart.copy(rotateEnd);\n        scope.update();\n      }\n\n      function handleTouchMoveDolly(event) {\n        // console.log( 'handleTouchMoveDolly' );\n        var dx = event.touches[0].pageX - event.touches[1].pageX;\n        var dy = event.touches[0].pageY - event.touches[1].pageY;\n        var distance = Math.sqrt(dx * dx + dy * dy);\n        dollyEnd.set(0, distance);\n        dollyDelta.subVectors(dollyEnd, dollyStart);\n\n        if (dollyDelta.y > 0) {\n          dollyOut(getZoomScale());\n        } else if (dollyDelta.y < 0) {\n          dollyIn(getZoomScale());\n        }\n\n        dollyStart.copy(dollyEnd);\n        scope.update();\n      }\n\n      function handleTouchMovePan(event) {\n        // console.log( 'handleTouchMovePan' );\n        panEnd.set(event.touches[0].pageX, event.touches[0].pageY);\n        panDelta.subVectors(panEnd, panStart);\n        pan(panDelta.x, panDelta.y);\n        panStart.copy(panEnd);\n        scope.update();\n      } //\n      // event handlers - FSM: listen for events and reset state\n      //\n\n\n      function onMouseDown(event) {\n        if (scope.enabled === false) return;\n        event.preventDefault();\n\n        if (event.button === scope.mouseButtons.ORBIT) {\n          if (scope.enableRotate === false) return;\n          handleMouseDownRotate(event);\n          state = STATE.ROTATE;\n        } else if (event.button === scope.mouseButtons.ZOOM) {\n          if (scope.enableZoom === false) return;\n          handleMouseDownDolly(event);\n          state = STATE.DOLLY;\n        } else if (event.button === scope.mouseButtons.PAN) {\n          if (scope.enablePan === false) return;\n          handleMouseDownPan(event);\n          state = STATE.PAN;\n        }\n\n        if (state !== STATE.NONE) {\n          document.addEventListener('mousemove', onMouseMove, false);\n          document.addEventListener('mouseup', onMouseUp, false);\n          scope.dispatchEvent(startEvent);\n        }\n      }\n\n      function onMouseMove(event) {\n        if (scope.enabled === false) return;\n        event.preventDefault();\n\n        if (state === STATE.ROTATE) {\n          if (scope.enableRotate === false) return;\n          handleMouseMoveRotate(event);\n        } else if (state === STATE.DOLLY) {\n          if (scope.enableZoom === false) return;\n          handleMouseMoveDolly(event);\n        } else if (state === STATE.PAN) {\n          if (scope.enablePan === false) return;\n          handleMouseMovePan(event);\n        }\n      }\n\n      function onMouseUp(event) {\n        if (scope.enabled === false) return;\n        document.removeEventListener('mousemove', onMouseMove, false);\n        document.removeEventListener('mouseup', onMouseUp, false);\n        scope.dispatchEvent(endEvent);\n        state = STATE.NONE;\n      }\n\n      function onMouseWheel(event) {\n        if (scope.enabled === false || scope.enableZoom === false || state !== STATE.NONE && state !== STATE.ROTATE) return;\n        event.preventDefault();\n        event.stopPropagation();\n        handleMouseWheel(event);\n        scope.dispatchEvent(startEvent); // not sure why these are here...\n\n        scope.dispatchEvent(endEvent);\n      }\n\n      function onKeyDown(event) {\n        if (scope.enabled === false || scope.enableKeys === false || scope.enablePan === false) return;\n        handleKeyDown(event);\n      }\n\n      function onTouchStart(event) {\n        if (scope.enabled === false) return;\n\n        switch (event.touches.length) {\n          case 1:\n            // one-fingered touch: rotate\n            if (scope.enableRotate === false) return;\n            handleTouchStartRotate(event);\n            state = STATE.TOUCH_ROTATE;\n            break;\n\n          case 2:\n            // two-fingered touch: dolly\n            if (scope.enableZoom === false) return;\n            handleTouchStartDolly(event);\n            state = STATE.TOUCH_DOLLY;\n            break;\n\n          case 3:\n            // three-fingered touch: pan\n            if (scope.enablePan === false) return;\n            handleTouchStartPan(event);\n            state = STATE.TOUCH_PAN;\n            break;\n\n          default:\n            state = STATE.NONE;\n        }\n\n        if (state !== STATE.NONE) {\n          scope.dispatchEvent(startEvent);\n        }\n      }\n\n      function onTouchMove(event) {\n        if (scope.enabled === false) return;\n        event.preventDefault();\n        event.stopPropagation();\n\n        switch (event.touches.length) {\n          case 1:\n            // one-fingered touch: rotate\n            if (scope.enableRotate === false) return;\n            if (state !== STATE.TOUCH_ROTATE) return; // is this needed?...\n\n            handleTouchMoveRotate(event);\n            break;\n\n          case 2:\n            // two-fingered touch: dolly\n            if (scope.enableZoom === false) return;\n            if (state !== STATE.TOUCH_DOLLY) return; // is this needed?...\n\n            handleTouchMoveDolly(event);\n            break;\n\n          case 3:\n            // three-fingered touch: pan\n            if (scope.enablePan === false) return;\n            if (state !== STATE.TOUCH_PAN) return; // is this needed?...\n\n            handleTouchMovePan(event);\n            break;\n\n          default:\n            state = STATE.NONE;\n        }\n      }\n\n      function onTouchEnd(event) {\n        if (scope.enabled === false) return;\n        scope.dispatchEvent(endEvent);\n        state = STATE.NONE;\n      }\n\n      function onContextMenu(event) {\n        event.preventDefault();\n      } //\n\n\n      scope.domElement.addEventListener('contextmenu', onContextMenu, false);\n      scope.domElement.addEventListener('mousedown', onMouseDown, false);\n      scope.domElement.addEventListener('wheel', onMouseWheel, false);\n      scope.domElement.addEventListener('touchstart', onTouchStart, false);\n      scope.domElement.addEventListener('touchend', onTouchEnd, false);\n      scope.domElement.addEventListener('touchmove', onTouchMove, false);\n      window.addEventListener('keydown', onKeyDown, false); // force an update at start\n\n      _this.update();\n\n      return _this;\n    }\n\n    _createClass(OrbitControls, [{\n      key: \"center\",\n      get: function get() {\n        console.warn('OrbitControls: .center has been renamed to .target');\n        return this.target;\n      } // backward compatibility\n\n    }, {\n      key: \"noZoom\",\n      get: function get() {\n        console.warn('OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.');\n        return !this.enableZoom;\n      },\n      set: function set(value) {\n        console.warn('OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.');\n        this.enableZoom = !value;\n      }\n    }, {\n      key: \"noRotate\",\n      get: function get() {\n        console.warn('OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.');\n        return !this.enableRotate;\n      },\n      set: function set(value) {\n        console.warn('OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.');\n        this.enableRotate = !value;\n      }\n    }, {\n      key: \"noPan\",\n      get: function get() {\n        console.warn('OrbitControls: .noPan has been deprecated. Use .enablePan instead.');\n        return !this.enablePan;\n      },\n      set: function set(value) {\n        console.warn('OrbitControls: .noPan has been deprecated. Use .enablePan instead.');\n        this.enablePan = !value;\n      }\n    }, {\n      key: \"noKeys\",\n      get: function get() {\n        console.warn('OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.');\n        return !this.enableKeys;\n      },\n      set: function set(value) {\n        console.warn('OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.');\n        this.enableKeys = !value;\n      }\n    }, {\n      key: \"staticMoving\",\n      get: function get() {\n        console.warn('OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.');\n        return !this.enableDamping;\n      },\n      set: function set(value) {\n        console.warn('OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.');\n        this.enableDamping = !value;\n      }\n    }, {\n      key: \"dynamicDampingFactor\",\n      get: function get() {\n        console.warn('OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.');\n        return this.dampingFactor;\n      },\n      set: function set(value) {\n        console.warn('OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.');\n        this.dampingFactor = value;\n      }\n    }]);\n\n    return OrbitControls;\n  }(three.EventDispatcher);\n\n  return OrbitControls;\n\n})));\n"]}