|
@@ -411,6 +411,7 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ scope.update();
|
|
|
}
|
|
|
|
|
|
function onKeyDown( event ) {
|
|
@@ -500,6 +501,8 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
|
|
|
var element = scope.domElement === document ? scope.domElement.body : scope.domElement;
|
|
|
|
|
|
+ var needUpdate = false;
|
|
|
+
|
|
|
switch ( event.touches.length ) {
|
|
|
|
|
|
case 1: // one-fingered touch: rotate
|
|
@@ -515,6 +518,8 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
scope.rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed );
|
|
|
|
|
|
rotateStart.copy( rotateEnd );
|
|
|
+
|
|
|
+ needUpdate = true;
|
|
|
break;
|
|
|
|
|
|
case 2: // two-fingered touch: dolly
|
|
@@ -539,6 +544,8 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
}
|
|
|
|
|
|
dollyStart.copy( dollyEnd );
|
|
|
+
|
|
|
+ needUpdate = true;
|
|
|
break;
|
|
|
|
|
|
case 3: // three-fingered touch: pan
|
|
@@ -551,6 +558,8 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
scope.pan( panDelta );
|
|
|
|
|
|
panStart.copy( panEnd );
|
|
|
+
|
|
|
+ needUpdate = true;
|
|
|
break;
|
|
|
|
|
|
default:
|
|
@@ -558,6 +567,12 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ if ( needUpdate ) {
|
|
|
+
|
|
|
+ scope.update();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
function touchend( /* event */ ) {
|