diff --git a/GLTFLoader.js b/GLTFLoader.js index 1c92f11..0189341 100644 --- a/GLTFLoader.js +++ b/GLTFLoader.js @@ -67,7 +67,7 @@ import { Vector3, VectorKeyframeTrack, sRGBEncoding -} from "./three.js"; +} from "./three.module.js"; var GLTFLoader = ( function () { diff --git a/OrbitControls.js b/OrbitControls.js index 2292e73..82a9a85 100644 --- a/OrbitControls.js +++ b/OrbitControls.js @@ -14,10 +14,10 @@ // Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish // Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move -THREE.OrbitControls = function (object, domElement) { +THREE.OrbitControls = function ( object, domElement ) { - if (domElement === undefined) console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'); - if (domElement === document) console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'); + if ( domElement === undefined ) console.warn( 'THREE.OrbitControls: The second parameter "domElement" is now mandatory.' ); + if ( domElement === document ) console.error( 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.' ); this.object = object; this.domElement = domElement; @@ -106,20 +106,20 @@ THREE.OrbitControls = function (object, domElement) { this.saveState = function () { - scope.target0.copy(scope.target); - scope.position0.copy(scope.object.position); + scope.target0.copy( scope.target ); + scope.position0.copy( scope.object.position ); scope.zoom0 = scope.object.zoom; }; this.reset = function () { - scope.target.copy(scope.target0); - scope.object.position.copy(scope.position0); + scope.target.copy( scope.target0 ); + scope.object.position.copy( scope.position0 ); scope.object.zoom = scope.zoom0; scope.object.updateProjectionMatrix(); - scope.dispatchEvent(changeEvent); + scope.dispatchEvent( changeEvent ); scope.update(); @@ -133,7 +133,7 @@ THREE.OrbitControls = function (object, domElement) { var offset = new THREE.Vector3(); // so camera.up is the orbit axis - var quat = new THREE.Quaternion().setFromUnitVectors(object.up, new THREE.Vector3(0, 1, 0)); + var quat = new THREE.Quaternion().setFromUnitVectors( object.up, new THREE.Vector3( 0, 1, 0 ) ); var quatInverse = quat.clone().inverse(); var lastPosition = new THREE.Vector3(); @@ -143,21 +143,21 @@ THREE.OrbitControls = function (object, domElement) { var position = scope.object.position; - offset.copy(position).sub(scope.target); + offset.copy( position ).sub( scope.target ); // rotate offset to "y-axis-is-up" space - offset.applyQuaternion(quat); + offset.applyQuaternion( quat ); // angle from z-axis around y-axis - spherical.setFromVector3(offset); + spherical.setFromVector3( offset ); - if (scope.autoRotate && state === STATE.NONE) { + if ( scope.autoRotate && state === STATE.NONE ) { - rotateLeft(getAutoRotationAngle()); + rotateLeft( getAutoRotationAngle() ); } - if (scope.enableDamping) { + if ( scope.enableDamping ) { spherical.theta += sphericalDelta.theta * scope.dampingFactor; spherical.phi += sphericalDelta.phi * scope.dampingFactor; @@ -170,10 +170,10 @@ THREE.OrbitControls = function (object, domElement) { } // restrict theta to be between desired limits - spherical.theta = Math.max(scope.minAzimuthAngle, Math.min(scope.maxAzimuthAngle, spherical.theta)); + spherical.theta = Math.max( scope.minAzimuthAngle, Math.min( scope.maxAzimuthAngle, spherical.theta ) ); // restrict phi to be between desired limits - spherical.phi = Math.max(scope.minPolarAngle, Math.min(scope.maxPolarAngle, spherical.phi)); + spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) ); spherical.makeSafe(); @@ -181,41 +181,41 @@ THREE.OrbitControls = function (object, domElement) { spherical.radius *= scale; // restrict radius to be between desired limits - spherical.radius = Math.max(scope.minDistance, Math.min(scope.maxDistance, spherical.radius)); + spherical.radius = Math.max( scope.minDistance, Math.min( scope.maxDistance, spherical.radius ) ); // move target to panned location - if (scope.enableDamping === true) { + if ( scope.enableDamping === true ) { - scope.target.addScaledVector(panOffset, scope.dampingFactor); + scope.target.addScaledVector( panOffset, scope.dampingFactor ); } else { - scope.target.add(panOffset); + scope.target.add( panOffset ); } - offset.setFromSpherical(spherical); + offset.setFromSpherical( spherical ); // rotate offset back to "camera-up-vector-is-up" space - offset.applyQuaternion(quatInverse); + offset.applyQuaternion( quatInverse ); - position.copy(scope.target).add(offset); + position.copy( scope.target ).add( offset ); - scope.object.lookAt(scope.target); + scope.object.lookAt( scope.target ); - if (scope.enableDamping === true) { + if ( scope.enableDamping === true ) { - sphericalDelta.theta *= (1 - scope.dampingFactor); - sphericalDelta.phi *= (1 - scope.dampingFactor); + sphericalDelta.theta *= ( 1 - scope.dampingFactor ); + sphericalDelta.phi *= ( 1 - scope.dampingFactor ); - panOffset.multiplyScalar(1 - scope.dampingFactor); + panOffset.multiplyScalar( 1 - scope.dampingFactor ); } else { - sphericalDelta.set(0, 0, 0); + sphericalDelta.set( 0, 0, 0 ); - panOffset.set(0, 0, 0); + panOffset.set( 0, 0, 0 ); } @@ -225,14 +225,14 @@ THREE.OrbitControls = function (object, domElement) { // min(camera displacement, camera rotation in radians)^2 > EPS // using small-angle approximation cos(x/2) = 1 - x^2 / 8 - if (zoomChanged || - lastPosition.distanceToSquared(scope.object.position) > EPS || - 8 * (1 - lastQuaternion.dot(scope.object.quaternion)) > EPS) { + if ( zoomChanged || + lastPosition.distanceToSquared( scope.object.position ) > EPS || + 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS ) { - scope.dispatchEvent(changeEvent); + scope.dispatchEvent( changeEvent ); - lastPosition.copy(scope.object.position); - lastQuaternion.copy(scope.object.quaternion); + lastPosition.copy( scope.object.position ); + lastQuaternion.copy( scope.object.quaternion ); zoomChanged = false; return true; @@ -247,18 +247,18 @@ THREE.OrbitControls = function (object, domElement) { this.dispose = function () { - scope.domElement.removeEventListener('contextmenu', onContextMenu, false); - scope.domElement.removeEventListener('mousedown', onMouseDown, false); - scope.domElement.removeEventListener('wheel', onMouseWheel, false); + scope.domElement.removeEventListener( 'contextmenu', onContextMenu, false ); + scope.domElement.removeEventListener( 'mousedown', onMouseDown, false ); + scope.domElement.removeEventListener( 'wheel', onMouseWheel, false ); - scope.domElement.removeEventListener('touchstart', onTouchStart, false); - scope.domElement.removeEventListener('touchend', onTouchEnd, false); - scope.domElement.removeEventListener('touchmove', onTouchMove, false); + scope.domElement.removeEventListener( 'touchstart', onTouchStart, false ); + scope.domElement.removeEventListener( 'touchend', onTouchEnd, false ); + scope.domElement.removeEventListener( 'touchmove', onTouchMove, false ); - document.removeEventListener('mousemove', onMouseMove, false); - document.removeEventListener('mouseup', onMouseUp, false); + document.removeEventListener( 'mousemove', onMouseMove, false ); + document.removeEventListener( 'mouseup', onMouseUp, false ); - scope.domElement.removeEventListener('keydown', onKeyDown, false); + scope.domElement.removeEventListener( 'keydown', onKeyDown, false ); //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here? @@ -317,17 +317,17 @@ THREE.OrbitControls = function (object, domElement) { function getZoomScale() { - return Math.pow(0.95, scope.zoomSpeed); + return Math.pow( 0.95, scope.zoomSpeed ); } - function rotateLeft(angle) { + function rotateLeft( angle ) { sphericalDelta.theta -= angle; } - function rotateUp(angle) { + function rotateUp( angle ) { sphericalDelta.phi -= angle; @@ -337,12 +337,12 @@ THREE.OrbitControls = function (object, domElement) { var v = new THREE.Vector3(); - return function panLeft(distance, objectMatrix) { + return function panLeft( distance, objectMatrix ) { - v.setFromMatrixColumn(objectMatrix, 0); // get X column of objectMatrix - v.multiplyScalar(- distance); + v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix + v.multiplyScalar( - distance ); - panOffset.add(v); + panOffset.add( v ); }; @@ -352,22 +352,22 @@ THREE.OrbitControls = function (object, domElement) { var v = new THREE.Vector3(); - return function panUp(distance, objectMatrix) { + return function panUp( distance, objectMatrix ) { - if (scope.screenSpacePanning === true) { + if ( scope.screenSpacePanning === true ) { - v.setFromMatrixColumn(objectMatrix, 1); + v.setFromMatrixColumn( objectMatrix, 1 ); } else { - v.setFromMatrixColumn(objectMatrix, 0); - v.crossVectors(scope.object.up, v); + v.setFromMatrixColumn( objectMatrix, 0 ); + v.crossVectors( scope.object.up, v ); } - v.multiplyScalar(distance); + v.multiplyScalar( distance ); - panOffset.add(v); + panOffset.add( v ); }; @@ -378,34 +378,34 @@ THREE.OrbitControls = function (object, domElement) { var offset = new THREE.Vector3(); - return function pan(deltaX, deltaY) { + return function pan( deltaX, deltaY ) { var element = scope.domElement; - if (scope.object.isPerspectiveCamera) { + if ( scope.object.isPerspectiveCamera ) { // perspective var position = scope.object.position; - offset.copy(position).sub(scope.target); + offset.copy( position ).sub( scope.target ); var targetDistance = offset.length(); // half of the fov is center to top of screen - targetDistance *= Math.tan((scope.object.fov / 2) * Math.PI / 180.0); + targetDistance *= Math.tan( ( scope.object.fov / 2 ) * Math.PI / 180.0 ); // we use only clientHeight here so aspect ratio does not distort speed - panLeft(2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix); - panUp(2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix); + panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix ); + panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix ); - } else if (scope.object.isOrthographicCamera) { + } else if ( scope.object.isOrthographicCamera ) { // orthographic - panLeft(deltaX * (scope.object.right - scope.object.left) / scope.object.zoom / element.clientWidth, scope.object.matrix); - panUp(deltaY * (scope.object.top - scope.object.bottom) / scope.object.zoom / element.clientHeight, scope.object.matrix); + panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix ); + panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix ); } else { // camera neither orthographic nor perspective - console.warn('WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.'); + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); scope.enablePan = false; } @@ -414,42 +414,42 @@ THREE.OrbitControls = function (object, domElement) { }(); - function dollyIn(dollyScale) { + function dollyIn( dollyScale ) { - if (scope.object.isPerspectiveCamera) { + if ( scope.object.isPerspectiveCamera ) { scale /= dollyScale; - } else if (scope.object.isOrthographicCamera) { + } else if ( scope.object.isOrthographicCamera ) { - scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom * dollyScale)); + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom * dollyScale ) ); scope.object.updateProjectionMatrix(); zoomChanged = true; } else { - console.warn('WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.'); + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); scope.enableZoom = false; } } - function dollyOut(dollyScale) { + function dollyOut( dollyScale ) { - if (scope.object.isPerspectiveCamera) { + if ( scope.object.isPerspectiveCamera ) { scale *= dollyScale; - } else if (scope.object.isOrthographicCamera) { + } else if ( scope.object.isOrthographicCamera ) { - scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom / dollyScale)); + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / dollyScale ) ); scope.object.updateProjectionMatrix(); zoomChanged = true; } else { - console.warn('WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.'); + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); scope.enableZoom = false; } @@ -460,93 +460,93 @@ THREE.OrbitControls = function (object, domElement) { // event callbacks - update the object state // - function handleMouseDownRotate(event) { + function handleMouseDownRotate( event ) { - rotateStart.set(event.clientX, event.clientY); + rotateStart.set( event.clientX, event.clientY ); } - function handleMouseDownDolly(event) { + function handleMouseDownDolly( event ) { - dollyStart.set(event.clientX, event.clientY); + dollyStart.set( event.clientX, event.clientY ); } - function handleMouseDownPan(event) { + function handleMouseDownPan( event ) { - panStart.set(event.clientX, event.clientY); + panStart.set( event.clientX, event.clientY ); } - function handleMouseMoveRotate(event) { + function handleMouseMoveRotate( event ) { - rotateEnd.set(event.clientX, event.clientY); + rotateEnd.set( event.clientX, event.clientY ); - rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed); + rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); var element = scope.domElement; - rotateLeft(2 * Math.PI * rotateDelta.x / element.clientHeight); // yes, height + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height - rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight); + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); - rotateStart.copy(rotateEnd); + rotateStart.copy( rotateEnd ); scope.update(); } - function handleMouseMoveDolly(event) { + function handleMouseMoveDolly( event ) { - dollyEnd.set(event.clientX, event.clientY); + dollyEnd.set( event.clientX, event.clientY ); - dollyDelta.subVectors(dollyEnd, dollyStart); + dollyDelta.subVectors( dollyEnd, dollyStart ); - if (dollyDelta.y > 0) { + if ( dollyDelta.y > 0 ) { - dollyIn(getZoomScale()); + dollyIn( getZoomScale() ); - } else if (dollyDelta.y < 0) { + } else if ( dollyDelta.y < 0 ) { - dollyOut(getZoomScale()); + dollyOut( getZoomScale() ); } - dollyStart.copy(dollyEnd); + dollyStart.copy( dollyEnd ); scope.update(); } - function handleMouseMovePan(event) { + function handleMouseMovePan( event ) { - panEnd.set(event.clientX, event.clientY); + panEnd.set( event.clientX, event.clientY ); - panDelta.subVectors(panEnd, panStart).multiplyScalar(scope.panSpeed); + panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); - pan(panDelta.x, panDelta.y); + pan( panDelta.x, panDelta.y ); - panStart.copy(panEnd); + panStart.copy( panEnd ); scope.update(); } - function handleMouseUp( /*event*/) { + function handleMouseUp( /*event*/ ) { // no-op } - function handleMouseWheel(event) { + function handleMouseWheel( event ) { - if (event.deltaY < 0) { + if ( event.deltaY < 0 ) { - dollyOut(getZoomScale()); + dollyOut( getZoomScale() ); - } else if (event.deltaY > 0) { + } else if ( event.deltaY > 0 ) { - dollyIn(getZoomScale()); + dollyIn( getZoomScale() ); } @@ -554,35 +554,35 @@ THREE.OrbitControls = function (object, domElement) { } - function handleKeyDown(event) { + function handleKeyDown( event ) { var needsUpdate = false; - switch (event.keyCode) { + switch ( event.keyCode ) { case scope.keys.UP: - pan(0, scope.keyPanSpeed); + pan( 0, scope.keyPanSpeed ); needsUpdate = true; break; case scope.keys.BOTTOM: - pan(0, - scope.keyPanSpeed); + pan( 0, - scope.keyPanSpeed ); needsUpdate = true; break; case scope.keys.LEFT: - pan(scope.keyPanSpeed, 0); + pan( scope.keyPanSpeed, 0 ); needsUpdate = true; break; case scope.keys.RIGHT: - pan(- scope.keyPanSpeed, 0); + pan( - scope.keyPanSpeed, 0 ); needsUpdate = true; break; } - if (needsUpdate) { + if ( needsUpdate ) { // prevent the browser from scrolling on cursor keys event.preventDefault(); @@ -594,151 +594,151 @@ THREE.OrbitControls = function (object, domElement) { } - function handleTouchStartRotate(event) { + function handleTouchStartRotate( event ) { - if (event.touches.length == 1) { + if ( event.touches.length == 1 ) { - rotateStart.set(event.touches[0].pageX, event.touches[0].pageY); + rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); } else { - var x = 0.5 * (event.touches[0].pageX + event.touches[1].pageX); - var y = 0.5 * (event.touches[0].pageY + event.touches[1].pageY); + var x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ); + var y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ); - rotateStart.set(x, y); + rotateStart.set( x, y ); } } - function handleTouchStartPan(event) { + function handleTouchStartPan( event ) { - if (event.touches.length == 1) { + if ( event.touches.length == 1 ) { - panStart.set(event.touches[0].pageX, event.touches[0].pageY); + panStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); } else { - var x = 0.5 * (event.touches[0].pageX + event.touches[1].pageX); - var y = 0.5 * (event.touches[0].pageY + event.touches[1].pageY); + var x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ); + var y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ); - panStart.set(x, y); + panStart.set( x, y ); } } - function handleTouchStartDolly(event) { + function handleTouchStartDolly( event ) { - var dx = event.touches[0].pageX - event.touches[1].pageX; - var dy = event.touches[0].pageY - event.touches[1].pageY; + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; - var distance = Math.sqrt(dx * dx + dy * dy); + var distance = Math.sqrt( dx * dx + dy * dy ); - dollyStart.set(0, distance); + dollyStart.set( 0, distance ); } - function handleTouchStartDollyPan(event) { + function handleTouchStartDollyPan( event ) { - if (scope.enableZoom) handleTouchStartDolly(event); + if ( scope.enableZoom ) handleTouchStartDolly( event ); - if (scope.enablePan) handleTouchStartPan(event); + if ( scope.enablePan ) handleTouchStartPan( event ); } - function handleTouchStartDollyRotate(event) { + function handleTouchStartDollyRotate( event ) { - if (scope.enableZoom) handleTouchStartDolly(event); + if ( scope.enableZoom ) handleTouchStartDolly( event ); - if (scope.enableRotate) handleTouchStartRotate(event); + if ( scope.enableRotate ) handleTouchStartRotate( event ); } - function handleTouchMoveRotate(event) { + function handleTouchMoveRotate( event ) { - if (event.touches.length == 1) { + if ( event.touches.length == 1 ) { - rotateEnd.set(event.touches[0].pageX, event.touches[0].pageY); + rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); } else { - var x = 0.5 * (event.touches[0].pageX + event.touches[1].pageX); - var y = 0.5 * (event.touches[0].pageY + event.touches[1].pageY); + var x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ); + var y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ); - rotateEnd.set(x, y); + rotateEnd.set( x, y ); } - rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed); + rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); var element = scope.domElement; - rotateLeft(2 * Math.PI * rotateDelta.x / element.clientHeight); // yes, height + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height - rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight); + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); - rotateStart.copy(rotateEnd); + rotateStart.copy( rotateEnd ); } - function handleTouchMovePan(event) { + function handleTouchMovePan( event ) { - if (event.touches.length == 1) { + if ( event.touches.length == 1 ) { - panEnd.set(event.touches[0].pageX, event.touches[0].pageY); + panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); } else { - var x = 0.5 * (event.touches[0].pageX + event.touches[1].pageX); - var y = 0.5 * (event.touches[0].pageY + event.touches[1].pageY); + var x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ); + var y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ); - panEnd.set(x, y); + panEnd.set( x, y ); } - panDelta.subVectors(panEnd, panStart).multiplyScalar(scope.panSpeed); + panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); - pan(panDelta.x, panDelta.y); + pan( panDelta.x, panDelta.y ); - panStart.copy(panEnd); + panStart.copy( panEnd ); } - function handleTouchMoveDolly(event) { + function handleTouchMoveDolly( event ) { - var dx = event.touches[0].pageX - event.touches[1].pageX; - var dy = event.touches[0].pageY - event.touches[1].pageY; + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; - var distance = Math.sqrt(dx * dx + dy * dy); + var distance = Math.sqrt( dx * dx + dy * dy ); - dollyEnd.set(0, distance); + dollyEnd.set( 0, distance ); - dollyDelta.set(0, Math.pow(dollyEnd.y / dollyStart.y, scope.zoomSpeed)); + dollyDelta.set( 0, Math.pow( dollyEnd.y / dollyStart.y, scope.zoomSpeed ) ); - dollyIn(dollyDelta.y); + dollyIn( dollyDelta.y ); - dollyStart.copy(dollyEnd); + dollyStart.copy( dollyEnd ); } - function handleTouchMoveDollyPan(event) { + function handleTouchMoveDollyPan( event ) { - if (scope.enableZoom) handleTouchMoveDolly(event); + if ( scope.enableZoom ) handleTouchMoveDolly( event ); - if (scope.enablePan) handleTouchMovePan(event); + if ( scope.enablePan ) handleTouchMovePan( event ); } - function handleTouchMoveDollyRotate(event) { + function handleTouchMoveDollyRotate( event ) { - if (scope.enableZoom) handleTouchMoveDolly(event); + if ( scope.enableZoom ) handleTouchMoveDolly( event ); - if (scope.enableRotate) handleTouchMoveRotate(event); + if ( scope.enableRotate ) handleTouchMoveRotate( event ); } - function handleTouchEnd( /*event*/) { + function handleTouchEnd( /*event*/ ) { // no-op @@ -748,9 +748,9 @@ THREE.OrbitControls = function (object, domElement) { // event handlers - FSM: listen for events and reset state // - function onMouseDown(event) { + function onMouseDown( event ) { - if (scope.enabled === false) return; + if ( scope.enabled === false ) return; // Prevent the browser from scrolling. @@ -761,27 +761,27 @@ THREE.OrbitControls = function (object, domElement) { scope.domElement.focus ? scope.domElement.focus() : window.focus(); - switch (event.button) { + switch ( event.button ) { case 0: - switch (scope.mouseButtons.LEFT) { + switch ( scope.mouseButtons.LEFT ) { case THREE.MOUSE.ROTATE: - if (event.ctrlKey || event.metaKey || event.shiftKey) { + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { - if (scope.enablePan === false) return; + if ( scope.enablePan === false ) return; - handleMouseDownPan(event); + handleMouseDownPan( event ); state = STATE.PAN; } else { - if (scope.enableRotate === false) return; + if ( scope.enableRotate === false ) return; - handleMouseDownRotate(event); + handleMouseDownRotate( event ); state = STATE.ROTATE; @@ -791,19 +791,19 @@ THREE.OrbitControls = function (object, domElement) { case THREE.MOUSE.PAN: - if (event.ctrlKey || event.metaKey || event.shiftKey) { + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { - if (scope.enableRotate === false) return; + if ( scope.enableRotate === false ) return; - handleMouseDownRotate(event); + handleMouseDownRotate( event ); state = STATE.ROTATE; } else { - if (scope.enablePan === false) return; + if ( scope.enablePan === false ) return; - handleMouseDownPan(event); + handleMouseDownPan( event ); state = STATE.PAN; @@ -822,13 +822,13 @@ THREE.OrbitControls = function (object, domElement) { case 1: - switch (scope.mouseButtons.MIDDLE) { + switch ( scope.mouseButtons.MIDDLE ) { case THREE.MOUSE.DOLLY: - if (scope.enableZoom === false) return; + if ( scope.enableZoom === false ) return; - handleMouseDownDolly(event); + handleMouseDownDolly( event ); state = STATE.DOLLY; @@ -845,13 +845,13 @@ THREE.OrbitControls = function (object, domElement) { case 2: - switch (scope.mouseButtons.RIGHT) { + switch ( scope.mouseButtons.RIGHT ) { case THREE.MOUSE.ROTATE: - if (scope.enableRotate === false) return; + if ( scope.enableRotate === false ) return; - handleMouseDownRotate(event); + handleMouseDownRotate( event ); state = STATE.ROTATE; @@ -859,9 +859,9 @@ THREE.OrbitControls = function (object, domElement) { case THREE.MOUSE.PAN: - if (scope.enablePan === false) return; + if ( scope.enablePan === false ) return; - handleMouseDownPan(event); + handleMouseDownPan( event ); state = STATE.PAN; @@ -877,46 +877,46 @@ THREE.OrbitControls = function (object, domElement) { } - if (state !== STATE.NONE) { + if ( state !== STATE.NONE ) { - document.addEventListener('mousemove', onMouseMove, false); - document.addEventListener('mouseup', onMouseUp, false); + document.addEventListener( 'mousemove', onMouseMove, false ); + document.addEventListener( 'mouseup', onMouseUp, false ); - scope.dispatchEvent(startEvent); + scope.dispatchEvent( startEvent ); } } - function onMouseMove(event) { + function onMouseMove( event ) { - if (scope.enabled === false) return; + if ( scope.enabled === false ) return; event.preventDefault(); - switch (state) { + switch ( state ) { case STATE.ROTATE: - if (scope.enableRotate === false) return; + if ( scope.enableRotate === false ) return; - handleMouseMoveRotate(event); + handleMouseMoveRotate( event ); break; case STATE.DOLLY: - if (scope.enableZoom === false) return; + if ( scope.enableZoom === false ) return; - handleMouseMoveDolly(event); + handleMouseMoveDolly( event ); break; case STATE.PAN: - if (scope.enablePan === false) return; + if ( scope.enablePan === false ) return; - handleMouseMovePan(event); + handleMouseMovePan( event ); break; @@ -924,61 +924,61 @@ THREE.OrbitControls = function (object, domElement) { } - function onMouseUp(event) { + function onMouseUp( event ) { - if (scope.enabled === false) return; + if ( scope.enabled === false ) return; - handleMouseUp(event); + handleMouseUp( event ); - document.removeEventListener('mousemove', onMouseMove, false); - document.removeEventListener('mouseup', onMouseUp, false); + document.removeEventListener( 'mousemove', onMouseMove, false ); + document.removeEventListener( 'mouseup', onMouseUp, false ); - scope.dispatchEvent(endEvent); + scope.dispatchEvent( endEvent ); state = STATE.NONE; } - function onMouseWheel(event) { + function onMouseWheel( event ) { - if (scope.enabled === false || scope.enableZoom === false || (state !== STATE.NONE && state !== STATE.ROTATE)) return; + if ( scope.enabled === false || scope.enableZoom === false || ( state !== STATE.NONE && state !== STATE.ROTATE ) ) return; event.preventDefault(); event.stopPropagation(); - scope.dispatchEvent(startEvent); + scope.dispatchEvent( startEvent ); - handleMouseWheel(event); + handleMouseWheel( event ); - scope.dispatchEvent(endEvent); + scope.dispatchEvent( endEvent ); } - function onKeyDown(event) { + function onKeyDown( event ) { - if (scope.enabled === false || scope.enableKeys === false || scope.enablePan === false) return; + if ( scope.enabled === false || scope.enableKeys === false || scope.enablePan === false ) return; - handleKeyDown(event); + handleKeyDown( event ); } - function onTouchStart(event) { + function onTouchStart( event ) { - if (scope.enabled === false) return; + if ( scope.enabled === false ) return; event.preventDefault(); - switch (event.touches.length) { + switch ( event.touches.length ) { case 1: - switch (scope.touches.ONE) { + switch ( scope.touches.ONE ) { case THREE.TOUCH.ROTATE: - if (scope.enableRotate === false) return; + if ( scope.enableRotate === false ) return; - handleTouchStartRotate(event); + handleTouchStartRotate( event ); state = STATE.TOUCH_ROTATE; @@ -986,9 +986,9 @@ THREE.OrbitControls = function (object, domElement) { case THREE.TOUCH.PAN: - if (scope.enablePan === false) return; + if ( scope.enablePan === false ) return; - handleTouchStartPan(event); + handleTouchStartPan( event ); state = STATE.TOUCH_PAN; @@ -1004,13 +1004,13 @@ THREE.OrbitControls = function (object, domElement) { case 2: - switch (scope.touches.TWO) { + switch ( scope.touches.TWO ) { case THREE.TOUCH.DOLLY_PAN: - if (scope.enableZoom === false && scope.enablePan === false) return; + if ( scope.enableZoom === false && scope.enablePan === false ) return; - handleTouchStartDollyPan(event); + handleTouchStartDollyPan( event ); state = STATE.TOUCH_DOLLY_PAN; @@ -1018,9 +1018,9 @@ THREE.OrbitControls = function (object, domElement) { case THREE.TOUCH.DOLLY_ROTATE: - if (scope.enableZoom === false && scope.enableRotate === false) return; + if ( scope.enableZoom === false && scope.enableRotate === false ) return; - handleTouchStartDollyRotate(event); + handleTouchStartDollyRotate( event ); state = STATE.TOUCH_DOLLY_ROTATE; @@ -1040,28 +1040,28 @@ THREE.OrbitControls = function (object, domElement) { } - if (state !== STATE.NONE) { + if ( state !== STATE.NONE ) { - scope.dispatchEvent(startEvent); + scope.dispatchEvent( startEvent ); } } - function onTouchMove(event) { + function onTouchMove( event ) { - if (scope.enabled === false) return; + if ( scope.enabled === false ) return; event.preventDefault(); event.stopPropagation(); - switch (state) { + switch ( state ) { case STATE.TOUCH_ROTATE: - if (scope.enableRotate === false) return; + if ( scope.enableRotate === false ) return; - handleTouchMoveRotate(event); + handleTouchMoveRotate( event ); scope.update(); @@ -1069,9 +1069,9 @@ THREE.OrbitControls = function (object, domElement) { case STATE.TOUCH_PAN: - if (scope.enablePan === false) return; + if ( scope.enablePan === false ) return; - handleTouchMovePan(event); + handleTouchMovePan( event ); scope.update(); @@ -1079,9 +1079,9 @@ THREE.OrbitControls = function (object, domElement) { case STATE.TOUCH_DOLLY_PAN: - if (scope.enableZoom === false && scope.enablePan === false) return; + if ( scope.enableZoom === false && scope.enablePan === false ) return; - handleTouchMoveDollyPan(event); + handleTouchMoveDollyPan( event ); scope.update(); @@ -1089,9 +1089,9 @@ THREE.OrbitControls = function (object, domElement) { case STATE.TOUCH_DOLLY_ROTATE: - if (scope.enableZoom === false && scope.enableRotate === false) return; + if ( scope.enableZoom === false && scope.enableRotate === false ) return; - handleTouchMoveDollyRotate(event); + handleTouchMoveDollyRotate( event ); scope.update(); @@ -1105,21 +1105,21 @@ THREE.OrbitControls = function (object, domElement) { } - function onTouchEnd(event) { + function onTouchEnd( event ) { - if (scope.enabled === false) return; + if ( scope.enabled === false ) return; - handleTouchEnd(event); + handleTouchEnd( event ); - scope.dispatchEvent(endEvent); + scope.dispatchEvent( endEvent ); state = STATE.NONE; } - function onContextMenu(event) { + function onContextMenu( event ) { - if (scope.enabled === false) return; + if ( scope.enabled === false ) return; event.preventDefault(); @@ -1127,20 +1127,20 @@ THREE.OrbitControls = function (object, domElement) { // - scope.domElement.addEventListener('contextmenu', onContextMenu, false); + scope.domElement.addEventListener( 'contextmenu', onContextMenu, false ); - scope.domElement.addEventListener('mousedown', onMouseDown, false); - scope.domElement.addEventListener('wheel', onMouseWheel, false); + scope.domElement.addEventListener( 'mousedown', onMouseDown, false ); + scope.domElement.addEventListener( 'wheel', onMouseWheel, false ); - scope.domElement.addEventListener('touchstart', onTouchStart, false); - scope.domElement.addEventListener('touchend', onTouchEnd, false); - scope.domElement.addEventListener('touchmove', onTouchMove, false); + scope.domElement.addEventListener( 'touchstart', onTouchStart, false ); + scope.domElement.addEventListener( 'touchend', onTouchEnd, false ); + scope.domElement.addEventListener( 'touchmove', onTouchMove, false ); - scope.domElement.addEventListener('keydown', onKeyDown, false); + scope.domElement.addEventListener( 'keydown', onKeyDown, false ); // make sure element can receive keys. - if (scope.domElement.tabIndex === - 1) { + if ( scope.domElement.tabIndex === - 1 ) { scope.domElement.tabIndex = 0; @@ -1152,7 +1152,7 @@ THREE.OrbitControls = function (object, domElement) { }; -THREE.OrbitControls.prototype = Object.create(THREE.EventDispatcher.prototype); +THREE.OrbitControls.prototype = Object.create( THREE.EventDispatcher.prototype ); THREE.OrbitControls.prototype.constructor = THREE.OrbitControls; @@ -1164,9 +1164,9 @@ THREE.OrbitControls.prototype.constructor = THREE.OrbitControls; // Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish // Pan - left mouse, or arrow keys / touch: one-finger move -THREE.MapControls = function (object, domElement) { +THREE.MapControls = function ( object, domElement ) { - THREE.OrbitControls.call(this, object, domElement); + THREE.OrbitControls.call( this, object, domElement ); this.mouseButtons.LEFT = THREE.MOUSE.PAN; this.mouseButtons.RIGHT = THREE.MOUSE.ROTATE; @@ -1176,5 +1176,5 @@ THREE.MapControls = function (object, domElement) { }; -THREE.MapControls.prototype = Object.create(THREE.EventDispatcher.prototype); +THREE.MapControls.prototype = Object.create( THREE.EventDispatcher.prototype ); THREE.MapControls.prototype.constructor = THREE.MapControls; diff --git a/index.html b/index.html index 2c3ade9..ad2caf0 100644 --- a/index.html +++ b/index.html @@ -307,7 +307,6 @@ -