|
@@ -753,7 +753,6 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
if ( scope.enabled === false ) return;
|
|
|
|
|
|
// Prevent the browser from scrolling.
|
|
|
-
|
|
|
event.preventDefault();
|
|
|
|
|
|
// Manually set the focus since calling preventDefault above
|
|
@@ -761,119 +760,90 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
|
|
|
scope.domElement.focus ? scope.domElement.focus() : window.focus();
|
|
|
|
|
|
+ var mouseAction;
|
|
|
+
|
|
|
switch ( event.button ) {
|
|
|
|
|
|
case 0:
|
|
|
|
|
|
- switch ( scope.mouseButtons.LEFT ) {
|
|
|
-
|
|
|
- case THREE.MOUSE.ROTATE:
|
|
|
-
|
|
|
- if ( event.ctrlKey || event.metaKey || event.shiftKey ) {
|
|
|
+ mouseAction = scope.mouseButtons.LEFT;
|
|
|
+ break;
|
|
|
|
|
|
- if ( scope.enablePan === false ) return;
|
|
|
+ case 1:
|
|
|
|
|
|
- handleMouseDownPan( event );
|
|
|
+ mouseAction = scope.mouseButtons.MIDDLE;
|
|
|
+ break;
|
|
|
|
|
|
- state = STATE.PAN;
|
|
|
+ case 2:
|
|
|
|
|
|
- } else {
|
|
|
+ mouseAction = scope.mouseButtons.RIGHT;
|
|
|
+ break;
|
|
|
|
|
|
- if ( scope.enableRotate === false ) return;
|
|
|
+ default:
|
|
|
|
|
|
- handleMouseDownRotate( event );
|
|
|
+ mouseAction = - 1;
|
|
|
|
|
|
- state = STATE.ROTATE;
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
+ switch ( mouseAction ) {
|
|
|
|
|
|
- break;
|
|
|
+ case THREE.MOUSE.DOLLY:
|
|
|
|
|
|
- case THREE.MOUSE.PAN:
|
|
|
+ if ( scope.enableZoom === false ) return;
|
|
|
|
|
|
- if ( event.ctrlKey || event.metaKey || event.shiftKey ) {
|
|
|
+ handleMouseDownDolly( event );
|
|
|
|
|
|
- if ( scope.enableRotate === false ) return;
|
|
|
+ state = STATE.DOLLY;
|
|
|
|
|
|
- handleMouseDownRotate( event );
|
|
|
+ break;
|
|
|
|
|
|
- state = STATE.ROTATE;
|
|
|
+ case THREE.MOUSE.ROTATE:
|
|
|
|
|
|
- } else {
|
|
|
+ if ( event.ctrlKey || event.metaKey || event.shiftKey ) {
|
|
|
|
|
|
- if ( scope.enablePan === false ) return;
|
|
|
+ if ( scope.enablePan === false ) return;
|
|
|
|
|
|
- handleMouseDownPan( event );
|
|
|
+ handleMouseDownPan( event );
|
|
|
|
|
|
- state = STATE.PAN;
|
|
|
+ state = STATE.PAN;
|
|
|
|
|
|
- }
|
|
|
+ } else {
|
|
|
|
|
|
- break;
|
|
|
+ if ( scope.enableRotate === false ) return;
|
|
|
|
|
|
- default:
|
|
|
+ handleMouseDownRotate( event );
|
|
|
|
|
|
- state = STATE.NONE;
|
|
|
+ state = STATE.ROTATE;
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
+ case THREE.MOUSE.PAN:
|
|
|
|
|
|
- case 1:
|
|
|
-
|
|
|
- switch ( scope.mouseButtons.MIDDLE ) {
|
|
|
-
|
|
|
- case THREE.MOUSE.DOLLY:
|
|
|
+ if ( event.ctrlKey || event.metaKey || event.shiftKey ) {
|
|
|
|
|
|
- if ( scope.enableZoom === false ) return;
|
|
|
+ if ( scope.enableRotate === false ) return;
|
|
|
|
|
|
- handleMouseDownDolly( event );
|
|
|
+ handleMouseDownRotate( event );
|
|
|
|
|
|
- state = STATE.DOLLY;
|
|
|
+ state = STATE.ROTATE;
|
|
|
|
|
|
- break;
|
|
|
+ } else {
|
|
|
|
|
|
+ if ( scope.enablePan === false ) return;
|
|
|
|
|
|
- default:
|
|
|
+ handleMouseDownPan( event );
|
|
|
|
|
|
- state = STATE.NONE;
|
|
|
+ state = STATE.PAN;
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
- case 2:
|
|
|
-
|
|
|
- switch ( scope.mouseButtons.RIGHT ) {
|
|
|
-
|
|
|
- case THREE.MOUSE.ROTATE:
|
|
|
-
|
|
|
- if ( scope.enableRotate === false ) return;
|
|
|
-
|
|
|
- handleMouseDownRotate( event );
|
|
|
-
|
|
|
- state = STATE.ROTATE;
|
|
|
-
|
|
|
- break;
|
|
|
-
|
|
|
- case THREE.MOUSE.PAN:
|
|
|
-
|
|
|
- if ( scope.enablePan === false ) return;
|
|
|
-
|
|
|
- handleMouseDownPan( event );
|
|
|
-
|
|
|
- state = STATE.PAN;
|
|
|
-
|
|
|
- break;
|
|
|
-
|
|
|
- default:
|
|
|
-
|
|
|
- state = STATE.NONE;
|
|
|
-
|
|
|
- }
|
|
|
+ default:
|
|
|
|
|
|
- break;
|
|
|
+ state = STATE.NONE;
|
|
|
|
|
|
}
|
|
|
|