|
@@ -3267,7 +3267,10 @@ Object.assign( Matrix4.prototype, {
|
|
|
var te = this.elements;
|
|
|
var me = m.elements;
|
|
|
|
|
|
- for ( var i = 0; i < 16; i ++ ) te[ i ] = me[ i ];
|
|
|
+ te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; te[ 3 ] = me[ 3 ];
|
|
|
+ te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ];
|
|
|
+ te[ 8 ] = me[ 8 ]; te[ 9 ] = me[ 9 ]; te[ 10 ] = me[ 10 ]; te[ 11 ] = me[ 11 ];
|
|
|
+ te[ 12 ] = me[ 12 ]; te[ 13 ] = me[ 13 ]; te[ 14 ] = me[ 14 ]; te[ 15 ] = me[ 15 ];
|
|
|
|
|
|
return this;
|
|
|
|
|
@@ -3956,18 +3959,14 @@ Object.assign( Matrix4.prototype, {
|
|
|
|
|
|
// if determine is negative, we need to invert one scale
|
|
|
var det = this.determinant();
|
|
|
- if ( det < 0 ) {
|
|
|
-
|
|
|
- sx = - sx;
|
|
|
-
|
|
|
- }
|
|
|
+ if ( det < 0 ) sx = - sx;
|
|
|
|
|
|
position.x = te[ 12 ];
|
|
|
position.y = te[ 13 ];
|
|
|
position.z = te[ 14 ];
|
|
|
|
|
|
// scale the rotation part
|
|
|
- for ( var i = 0; i < 16; i ++ ) matrix.elements[ i ] = this.elements[ i ]; // at this point matrix is incomplete so we can't use .copy()
|
|
|
+ matrix.copy( this );
|
|
|
|
|
|
var invSX = 1 / sx;
|
|
|
var invSY = 1 / sy;
|
|
@@ -4062,7 +4061,7 @@ Object.assign( Matrix4.prototype, {
|
|
|
|
|
|
if ( offset === undefined ) offset = 0;
|
|
|
|
|
|
- for( var i = 0; i < 16; i ++ ) {
|
|
|
+ for ( var i = 0; i < 16; i ++ ) {
|
|
|
|
|
|
this.elements[ i ] = array[ i + offset ];
|
|
|
|
|
@@ -4089,8 +4088,8 @@ Object.assign( Matrix4.prototype, {
|
|
|
array[ offset + 6 ] = te[ 6 ];
|
|
|
array[ offset + 7 ] = te[ 7 ];
|
|
|
|
|
|
- array[ offset + 8 ] = te[ 8 ];
|
|
|
- array[ offset + 9 ] = te[ 9 ];
|
|
|
+ array[ offset + 8 ] = te[ 8 ];
|
|
|
+ array[ offset + 9 ] = te[ 9 ];
|
|
|
array[ offset + 10 ] = te[ 10 ];
|
|
|
array[ offset + 11 ] = te[ 11 ];
|
|
|
|
|
@@ -8234,7 +8233,9 @@ Object.assign( Matrix3.prototype, {
|
|
|
var te = this.elements;
|
|
|
var me = m.elements;
|
|
|
|
|
|
- for ( var i = 0; i < 9; i ++ ) te[ i ] = me[ i ];
|
|
|
+ te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ];
|
|
|
+ te[ 3 ] = me[ 3 ]; te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ];
|
|
|
+ te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; te[ 8 ] = me[ 8 ];
|
|
|
|
|
|
return this;
|
|
|
|