Browse Source

OrbitControls: clean up

Guilherme Avila 6 years ago
parent
commit
dd8cde9ff6
2 changed files with 38 additions and 94 deletions
  1. 19 47
      examples/js/controls/OrbitControls.js
  2. 19 47
      examples/jsm/controls/OrbitControls.js

+ 19 - 47
examples/js/controls/OrbitControls.js

@@ -1079,73 +1079,45 @@ THREE.OrbitControls = function ( object, domElement ) {
 		event.preventDefault();
 		event.stopPropagation();
 
-		switch ( event.touches.length ) {
-
-			case 1:
-
-				switch ( scope.touches.ONE ) {
-
-					case TOUCH.ROTATE:
-
-						if ( scope.enableRotate === false ) return;
-						if ( state !== STATE.TOUCH_ROTATE ) return;
-
-						handleTouchMoveRotate( event );
-
-						scope.update();
-
-						break;
-
-					case TOUCH.PAN:
-
-						if ( scope.enablePan === false ) return;
-						if ( state !== STATE.TOUCH_PAN ) return;
-
-						handleTouchMovePan( event );
-
-						scope.update();
+		switch ( state ) {
 
-						break;
+			case STATE.TOUCH_ROTATE:
 
-					default:
+				if ( scope.enableRotate === false ) return;
 
-						state = STATE.NONE;
+				handleTouchMoveRotate( event );
 
-				}
+				scope.update();
 
 				break;
 
-			case 2:
-
-				switch ( scope.touches.TWO ) {
+			case STATE.TOUCH_PAN:
 
-					case TOUCH.DOLLY_PAN:
+				if ( scope.enablePan === false ) return;
 
-						if ( scope.enableZoom === false && scope.enablePan === false ) return;
-						if ( state !== STATE.TOUCH_DOLLY_PAN ) return;
+				handleTouchMovePan( event );
 
-						handleTouchMoveDollyPan( event );
+				scope.update();
 
-						scope.update();
+				break;
 
-						break;
+			case STATE.TOUCH_DOLLY_PAN:
 
-					case TOUCH.DOLLY_ROTATE:
+				if ( scope.enableZoom === false && scope.enablePan === false ) return;
 
-						if ( scope.enableZoom === false && scope.enableRotate === false ) return;
-						if ( state !== STATE.TOUCH_DOLLY_ROTATE ) return;
+				handleTouchMoveDollyPan( event );
 
-						handleTouchMoveDollyRotate( event );
+				scope.update();
 
-						scope.update();
+				break;
 
-						break;
+			case STATE.TOUCH_DOLLY_ROTATE:
 
-					default:
+				if ( scope.enableZoom === false && scope.enableRotate === false ) return;
 
-						state = STATE.NONE;
+				handleTouchMoveDollyRotate( event );
 
-				}
+				scope.update();
 
 				break;
 

+ 19 - 47
examples/jsm/controls/OrbitControls.js

@@ -1089,73 +1089,45 @@ var OrbitControls = function ( object, domElement ) {
 		event.preventDefault();
 		event.stopPropagation();
 
-		switch ( event.touches.length ) {
-
-			case 1:
-
-				switch ( scope.touches.ONE ) {
-
-					case TOUCH.ROTATE:
-
-						if ( scope.enableRotate === false ) return;
-						if ( state !== STATE.TOUCH_ROTATE ) return;
-
-						handleTouchMoveRotate( event );
-
-						scope.update();
-
-						break;
-
-					case TOUCH.PAN:
-
-						if ( scope.enablePan === false ) return;
-						if ( state !== STATE.TOUCH_PAN ) return;
-
-						handleTouchMovePan( event );
-
-						scope.update();
+		switch ( state ) {
 
-						break;
+			case STATE.TOUCH_ROTATE:
 
-					default:
+				if ( scope.enableRotate === false ) return;
 
-						state = STATE.NONE;
+				handleTouchMoveRotate( event );
 
-				}
+				scope.update();
 
 				break;
 
-			case 2:
-
-				switch ( scope.touches.TWO ) {
+			case STATE.TOUCH_PAN:
 
-					case TOUCH.DOLLY_PAN:
+				if ( scope.enablePan === false ) return;
 
-						if ( scope.enableZoom === false && scope.enablePan === false ) return;
-						if ( state !== STATE.TOUCH_DOLLY_PAN ) return;
+				handleTouchMovePan( event );
 
-						handleTouchMoveDollyPan( event );
+				scope.update();
 
-						scope.update();
+				break;
 
-						break;
+			case STATE.TOUCH_DOLLY_PAN:
 
-					case TOUCH.DOLLY_ROTATE:
+				if ( scope.enableZoom === false && scope.enablePan === false ) return;
 
-						if ( scope.enableZoom === false && scope.enableRotate === false ) return;
-						if ( state !== STATE.TOUCH_DOLLY_ROTATE ) return;
+				handleTouchMoveDollyPan( event );
 
-						handleTouchMoveDollyRotate( event );
+				scope.update();
 
-						scope.update();
+				break;
 
-						break;
+			case STATE.TOUCH_DOLLY_ROTATE:
 
-					default:
+				if ( scope.enableZoom === false && scope.enableRotate === false ) return;
 
-						state = STATE.NONE;
+				handleTouchMoveDollyRotate( event );
 
-				}
+				scope.update();
 
 				break;