|
@@ -9,6 +9,8 @@ import { _Math } from './Math.js';
|
|
|
* @author bhouston / http://clara.io
|
|
|
*/
|
|
|
|
|
|
+var _matrix, _quaternion;
|
|
|
+
|
|
|
function Euler( x, y, z, order ) {
|
|
|
|
|
|
this._x = x || 0;
|
|
@@ -253,19 +255,15 @@ Object.assign( Euler.prototype, {
|
|
|
|
|
|
},
|
|
|
|
|
|
- setFromQuaternion: function () {
|
|
|
-
|
|
|
- var matrix = new Matrix4();
|
|
|
+ setFromQuaternion: function ( q, order, update ) {
|
|
|
|
|
|
- return function setFromQuaternion( q, order, update ) {
|
|
|
+ if ( _matrix === undefined ) _matrix = new Matrix4();
|
|
|
|
|
|
- matrix.makeRotationFromQuaternion( q );
|
|
|
+ _matrix.makeRotationFromQuaternion( q );
|
|
|
|
|
|
- return this.setFromRotationMatrix( matrix, order, update );
|
|
|
+ return this.setFromRotationMatrix( _matrix, order, update );
|
|
|
|
|
|
- };
|
|
|
-
|
|
|
- }(),
|
|
|
+ },
|
|
|
|
|
|
setFromVector3: function ( v, order ) {
|
|
|
|
|
@@ -273,21 +271,17 @@ Object.assign( Euler.prototype, {
|
|
|
|
|
|
},
|
|
|
|
|
|
- reorder: function () {
|
|
|
+ reorder: function ( newOrder ) {
|
|
|
|
|
|
// WARNING: this discards revolution information -bhouston
|
|
|
|
|
|
- var q = new Quaternion();
|
|
|
+ if ( _quaternion === undefined ) _quaternion = new Quaternion();
|
|
|
|
|
|
- return function reorder( newOrder ) {
|
|
|
+ _quaternion.setFromEuler( this );
|
|
|
|
|
|
- q.setFromEuler( this );
|
|
|
+ return this.setFromQuaternion( _quaternion, newOrder );
|
|
|
|
|
|
- return this.setFromQuaternion( q, newOrder );
|
|
|
-
|
|
|
- };
|
|
|
-
|
|
|
- }(),
|
|
|
+ },
|
|
|
|
|
|
equals: function ( euler ) {
|
|
|
|