Browse Source

Improve Geometry closure performance

Tristan VALCKE 8 years ago
parent
commit
083e99f20e
1 changed files with 6 additions and 18 deletions
  1. 6 18
      src/core/Geometry.js

+ 6 - 18
src/core/Geometry.js

@@ -112,12 +112,10 @@ Object.assign( Geometry.prototype, EventDispatcher.prototype, {
 
 
 		// rotate geometry around world x-axis
 		// rotate geometry around world x-axis
 
 
-		var m1;
+		var m1 = new Matrix4();
 
 
 		return function rotateX( angle ) {
 		return function rotateX( angle ) {
 
 
-			if ( m1 === undefined ) m1 = new Matrix4();
-
 			m1.makeRotationX( angle );
 			m1.makeRotationX( angle );
 
 
 			this.applyMatrix( m1 );
 			this.applyMatrix( m1 );
@@ -132,12 +130,10 @@ Object.assign( Geometry.prototype, EventDispatcher.prototype, {
 
 
 		// rotate geometry around world y-axis
 		// rotate geometry around world y-axis
 
 
-		var m1;
+		var m1 = new Matrix4();
 
 
 		return function rotateY( angle ) {
 		return function rotateY( angle ) {
 
 
-			if ( m1 === undefined ) m1 = new Matrix4();
-
 			m1.makeRotationY( angle );
 			m1.makeRotationY( angle );
 
 
 			this.applyMatrix( m1 );
 			this.applyMatrix( m1 );
@@ -152,12 +148,10 @@ Object.assign( Geometry.prototype, EventDispatcher.prototype, {
 
 
 		// rotate geometry around world z-axis
 		// rotate geometry around world z-axis
 
 
-		var m1;
+		var m1 = new Matrix4();
 
 
 		return function rotateZ( angle ) {
 		return function rotateZ( angle ) {
 
 
-			if ( m1 === undefined ) m1 = new Matrix4();
-
 			m1.makeRotationZ( angle );
 			m1.makeRotationZ( angle );
 
 
 			this.applyMatrix( m1 );
 			this.applyMatrix( m1 );
@@ -172,12 +166,10 @@ Object.assign( Geometry.prototype, EventDispatcher.prototype, {
 
 
 		// translate geometry
 		// translate geometry
 
 
-		var m1;
+		var m1 = new Matrix4();
 
 
 		return function translate( x, y, z ) {
 		return function translate( x, y, z ) {
 
 
-			if ( m1 === undefined ) m1 = new Matrix4();
-
 			m1.makeTranslation( x, y, z );
 			m1.makeTranslation( x, y, z );
 
 
 			this.applyMatrix( m1 );
 			this.applyMatrix( m1 );
@@ -192,12 +184,10 @@ Object.assign( Geometry.prototype, EventDispatcher.prototype, {
 
 
 		// scale geometry
 		// scale geometry
 
 
-		var m1;
+		var m1 = new Matrix4();
 
 
 		return function scale( x, y, z ) {
 		return function scale( x, y, z ) {
 
 
-			if ( m1 === undefined ) m1 = new Matrix4();
-
 			m1.makeScale( x, y, z );
 			m1.makeScale( x, y, z );
 
 
 			this.applyMatrix( m1 );
 			this.applyMatrix( m1 );
@@ -210,12 +200,10 @@ Object.assign( Geometry.prototype, EventDispatcher.prototype, {
 
 
 	lookAt: function () {
 	lookAt: function () {
 
 
-		var obj;
+		var obj = new Object3D();
 
 
 		return function lookAt( vector ) {
 		return function lookAt( vector ) {
 
 
-			if ( obj === undefined ) obj = new Object3D();
-
 			obj.lookAt( vector );
 			obj.lookAt( vector );
 
 
 			obj.updateMatrix();
 			obj.updateMatrix();