Browse Source

Color/Euler: 'toArray' expected behavior fix

Wandalen 10 years ago
parent
commit
a53d5d2025
2 changed files with 20 additions and 4 deletions
  1. 8 2
      src/math/Color.js
  2. 12 2
      src/math/Euler.js

+ 8 - 2
src/math/Color.js

@@ -372,10 +372,16 @@ THREE.Color.prototype = {
 
 
 	},
 	},
 
 
-	toArray: function () {
+	toArray: function( array, offset ) {
 
 
-		return [ this.r, this.g, this.b ];
+		if ( array === undefined ) array = [];
+		if ( offset === undefined ) offset = 0;
 
 
+		array[ offset + 0 ] = this.r;
+		array[ offset + 1 ] = this.g;
+		array[ offset + 2 ] = this.b;
+
+		return array;
 	},
 	},
 
 
 	clone: function () {
 	clone: function () {

+ 12 - 2
src/math/Euler.js

@@ -280,10 +280,20 @@ THREE.Euler.prototype = {
 
 
 	},
 	},
 
 
-	toArray: function () {
+	toArray: function( array, offset, withoutOrder ) {
 
 
-		return [ this._x, this._y, this._z, this._order ];
+		if ( array === undefined ) array = [];
+		if ( offset === undefined ) offset = 0;
 
 
+		array[ offset + 0 ] = this._x;
+		array[ offset + 1 ] = this._y;
+		array[ offset + 2 ] = this._z;
+
+		if( !withoutOrder ) {
+			array[ offset + 3 ] = this._order;
+		}
+
+		return array;
 	},
 	},
 
 
 	toVector3: function ( optionalResult ) {
 	toVector3: function ( optionalResult ) {