|
@@ -69,6 +69,9 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
this.minAzimuthAngle = - Infinity; // radians
|
|
|
this.maxAzimuthAngle = Infinity; // radians
|
|
|
|
|
|
+ // Angle values
|
|
|
+ this.angle = {};
|
|
|
+
|
|
|
// Set to true to disable use of the keys
|
|
|
this.noKeys = false;
|
|
|
|
|
@@ -160,7 +163,7 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
// get X column of matrix
|
|
|
panOffset.set( te[ 0 ], te[ 1 ], te[ 2 ] );
|
|
|
panOffset.multiplyScalar( - distance );
|
|
|
-
|
|
|
+
|
|
|
pan.add( panOffset );
|
|
|
|
|
|
};
|
|
@@ -173,11 +176,11 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
// get Y column of matrix
|
|
|
panOffset.set( te[ 4 ], te[ 5 ], te[ 6 ] );
|
|
|
panOffset.multiplyScalar( distance );
|
|
|
-
|
|
|
+
|
|
|
pan.add( panOffset );
|
|
|
|
|
|
};
|
|
|
-
|
|
|
+
|
|
|
// pass in x,y of change desired in pixel space,
|
|
|
// right and down are positive
|
|
|
this.pan = function ( deltaX, deltaY ) {
|
|
@@ -276,7 +279,7 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
|
|
|
// restrict radius to be between desired limits
|
|
|
radius = Math.max( this.minDistance, Math.min( this.maxDistance, radius ) );
|
|
|
-
|
|
|
+
|
|
|
// move target to panned location
|
|
|
this.target.add( pan );
|
|
|
|
|
@@ -296,6 +299,9 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
scale = 1;
|
|
|
pan.set( 0, 0, 0 );
|
|
|
|
|
|
+ this.angle.polar = phi;
|
|
|
+ this.angle.azimuth = theta;
|
|
|
+
|
|
|
// update condition is:
|
|
|
// min(camera displacement, camera rotation in radians)^2 > EPS
|
|
|
// using small-angle approximation cos(x/2) = 1 - x^2 / 8
|
|
@@ -418,7 +424,7 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
|
|
|
panEnd.set( event.clientX, event.clientY );
|
|
|
panDelta.subVectors( panEnd, panStart );
|
|
|
-
|
|
|
+
|
|
|
scope.pan( panDelta.x, panDelta.y );
|
|
|
|
|
|
panStart.copy( panEnd );
|
|
@@ -478,7 +484,7 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
function onKeyDown( event ) {
|
|
|
|
|
|
if ( scope.enabled === false || scope.noKeys === true || scope.noPan === true ) return;
|
|
|
-
|
|
|
+
|
|
|
switch ( event.keyCode ) {
|
|
|
|
|
|
case scope.keys.UP:
|
|
@@ -614,7 +620,7 @@ THREE.OrbitControls = function ( object, domElement ) {
|
|
|
|
|
|
panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
|
|
|
panDelta.subVectors( panEnd, panStart );
|
|
|
-
|
|
|
+
|
|
|
scope.pan( panDelta.x, panDelta.y );
|
|
|
|
|
|
panStart.copy( panEnd );
|