Browse Source

Editor.Viewport: Simplified getIntersects().

Mr.doob 11 years ago
parent
commit
0ea690472f
1 changed files with 8 additions and 7 deletions
  1. 8 7
      editor/js/Viewport.js

+ 8 - 7
editor/js/Viewport.js

@@ -66,12 +66,9 @@ var Viewport = function ( editor ) {
 
 
 	// events
 	// events
 
 
-	var getIntersects = function ( event, object ) {
+	var getIntersects = function ( x, y, object ) {
 
 
-		var rect = container.dom.getBoundingClientRect();
-		x = ( event.clientX - rect.left ) / rect.width;
-		y = ( event.clientY - rect.top ) / rect.height;
-		var vector = new THREE.Vector3( ( x ) * 2 - 1, - ( y ) * 2 + 1, 0.5 );
+		var vector = new THREE.Vector3( ( x * 2 ) - 1, - ( y * 2 ) + 1, 0.5 );
 
 
 		projector.unprojectVector( vector, camera );
 		projector.unprojectVector( vector, camera );
 
 
@@ -112,7 +109,7 @@ var Viewport = function ( editor ) {
 
 
 		if ( onMouseDownPosition.distanceTo( onMouseUpPosition ) == 0 ) {
 		if ( onMouseDownPosition.distanceTo( onMouseUpPosition ) == 0 ) {
 
 
-			var intersects = getIntersects( event, objects );
+			var intersects = getIntersects( x, y, objects );
 
 
 			if ( intersects.length > 0 ) {
 			if ( intersects.length > 0 ) {
 
 
@@ -146,7 +143,11 @@ var Viewport = function ( editor ) {
 
 
 	var onDoubleClick = function ( event ) {
 	var onDoubleClick = function ( event ) {
 
 
-		var intersects = getIntersects( event, objects );
+		var rect = container.dom.getBoundingClientRect();
+		x = (event.clientX - rect.left) / rect.width;
+		y = (event.clientY - rect.top) / rect.height;
+
+		var intersects = getIntersects( x, y, objects );
 
 
 		if ( intersects.length > 0 ) {
 		if ( intersects.length > 0 ) {