@math.gl/core 3.5.3 → 3.6.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/classes/base/math-array.d.ts +36 -0
- package/dist/classes/base/math-array.d.ts.map +1 -0
- package/dist/classes/base/math-array.js +214 -0
- package/dist/classes/base/matrix.d.ts +12 -0
- package/dist/classes/base/matrix.d.ts.map +1 -0
- package/dist/classes/base/matrix.js +69 -0
- package/dist/classes/base/vector.d.ts +32 -0
- package/dist/classes/base/vector.d.ts.map +1 -0
- package/dist/classes/base/vector.js +133 -0
- package/dist/classes/euler.d.ts +73 -0
- package/dist/classes/euler.d.ts.map +1 -0
- package/dist/classes/euler.js +505 -0
- package/dist/classes/matrix3.d.ts +43 -0
- package/dist/classes/matrix3.d.ts.map +1 -0
- package/dist/classes/matrix3.js +192 -0
- package/dist/classes/matrix4.d.ts +102 -0
- package/dist/classes/matrix4.d.ts.map +1 -0
- package/dist/classes/matrix4.js +457 -0
- package/dist/classes/pose.d.ts +37 -0
- package/dist/classes/pose.d.ts.map +1 -0
- package/dist/classes/pose.js +126 -0
- package/dist/classes/quaternion.d.ts +42 -0
- package/dist/classes/quaternion.d.ts.map +1 -0
- package/dist/classes/quaternion.js +266 -0
- package/dist/classes/spherical-coordinates.d.ts +40 -0
- package/dist/classes/spherical-coordinates.d.ts.map +1 -0
- package/dist/classes/spherical-coordinates.js +142 -0
- package/dist/classes/vector2.d.ts +19 -0
- package/dist/classes/vector2.d.ts.map +1 -0
- package/dist/classes/vector2.js +105 -0
- package/dist/classes/vector3.d.ts +41 -0
- package/dist/classes/vector3.d.ts.map +1 -0
- package/dist/classes/vector3.js +147 -0
- package/dist/classes/vector4.d.ts +23 -0
- package/dist/classes/vector4.d.ts.map +1 -0
- package/dist/classes/vector4.js +126 -0
- package/dist/es5/classes/base/math-array.d.js +46 -0
- package/dist/es5/classes/base/math-array.d.js.map +1 -0
- package/dist/es5/classes/base/math-array.js +178 -251
- package/dist/es5/classes/base/math-array.js.map +1 -1
- package/dist/es5/classes/base/matrix.d.js +15 -0
- package/dist/es5/classes/base/matrix.d.js.map +1 -0
- package/dist/es5/classes/base/matrix.js +54 -88
- package/dist/es5/classes/base/matrix.js.map +1 -1
- package/dist/es5/classes/base/vector.d.js +24 -0
- package/dist/es5/classes/base/vector.d.js.map +1 -0
- package/dist/es5/classes/base/vector.js +121 -179
- package/dist/es5/classes/base/vector.js.map +1 -1
- package/dist/es5/classes/euler.d.js +45 -0
- package/dist/es5/classes/euler.d.js.map +1 -0
- package/dist/es5/classes/euler.js +468 -549
- package/dist/es5/classes/euler.js.map +1 -1
- package/dist/es5/classes/matrix3.d.js +25 -0
- package/dist/es5/classes/matrix3.d.js.map +1 -0
- package/dist/es5/classes/matrix3.js +157 -206
- package/dist/es5/classes/matrix3.js.map +1 -1
- package/dist/es5/classes/matrix4.d.js +25 -0
- package/dist/es5/classes/matrix4.d.js.map +1 -0
- package/dist/es5/classes/matrix4.js +410 -500
- package/dist/es5/classes/matrix4.js.map +1 -1
- package/dist/es5/classes/pose.d.js +25 -0
- package/dist/es5/classes/pose.d.js.map +1 -0
- package/dist/es5/classes/pose.js +101 -125
- package/dist/es5/classes/pose.js.map +1 -1
- package/dist/es5/classes/quaternion.d.js +27 -0
- package/dist/es5/classes/quaternion.d.js.map +1 -0
- package/dist/es5/classes/quaternion.js +213 -277
- package/dist/es5/classes/quaternion.js.map +1 -1
- package/dist/es5/classes/spherical-coordinates.d.js +27 -0
- package/dist/es5/classes/spherical-coordinates.d.js.map +1 -0
- package/dist/es5/classes/spherical-coordinates.js +125 -166
- package/dist/es5/classes/spherical-coordinates.js.map +1 -1
- package/dist/es5/classes/vector2.d.js +18 -0
- package/dist/es5/classes/vector2.d.js.map +1 -0
- package/dist/es5/classes/vector2.js +76 -118
- package/dist/es5/classes/vector2.js.map +1 -1
- package/dist/es5/classes/vector3.d.js +24 -0
- package/dist/es5/classes/vector3.d.js.map +1 -0
- package/dist/es5/classes/vector3.js +120 -167
- package/dist/es5/classes/vector3.js.map +1 -1
- package/dist/es5/classes/vector4.d.js +25 -0
- package/dist/es5/classes/vector4.d.js.map +1 -0
- package/dist/es5/classes/vector4.js +95 -137
- package/dist/es5/classes/vector4.js.map +1 -1
- package/dist/es5/docs/README.md +0 -0
- package/dist/es5/index.js +105 -123
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/assert.js.map +1 -1
- package/dist/es5/lib/common.js +55 -84
- package/dist/es5/lib/common.js.map +1 -1
- package/dist/es5/lib/gl-matrix-extras.js +14 -14
- package/dist/es5/lib/gl-matrix-extras.js.map +1 -1
- package/dist/es5/lib/math-utils.js.map +1 -1
- package/dist/es5/lib/validators.js +3 -5
- package/dist/es5/lib/validators.js.map +1 -1
- package/dist/esm/classes/base/math-array.d.js +36 -0
- package/dist/esm/classes/base/math-array.d.js.map +1 -0
- package/dist/esm/classes/base/matrix.d.js +3 -0
- package/dist/esm/classes/base/matrix.d.js.map +1 -0
- package/dist/esm/classes/base/vector.d.js +13 -0
- package/dist/esm/classes/base/vector.d.js.map +1 -0
- package/dist/esm/classes/euler.d.js +55 -0
- package/dist/esm/classes/euler.d.js.map +1 -0
- package/dist/esm/classes/euler.js +1 -1
- package/dist/esm/classes/euler.js.map +1 -1
- package/dist/esm/classes/matrix3.d.js +15 -0
- package/dist/esm/classes/matrix3.d.js.map +1 -0
- package/dist/esm/classes/matrix4.d.js +15 -0
- package/dist/esm/classes/matrix4.d.js.map +1 -0
- package/dist/esm/classes/pose.d.js +18 -0
- package/dist/esm/classes/pose.d.js.map +1 -0
- package/dist/esm/classes/quaternion.d.js +19 -0
- package/dist/esm/classes/quaternion.d.js.map +1 -0
- package/dist/esm/classes/spherical-coordinates.d.js +22 -0
- package/dist/esm/classes/spherical-coordinates.d.js.map +1 -0
- package/dist/esm/classes/vector2.d.js +6 -0
- package/dist/esm/classes/vector2.d.js.map +1 -0
- package/dist/esm/classes/vector3.d.js +13 -0
- package/dist/esm/classes/vector3.d.js.map +1 -0
- package/dist/esm/classes/vector4.d.js +15 -0
- package/dist/esm/classes/vector4.d.js.map +1 -0
- package/dist/esm/docs/README.md +0 -0
- package/dist/esm/index.js +2 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/assert.js.map +1 -1
- package/dist/esm/lib/common.js +34 -37
- package/dist/esm/lib/common.js.map +1 -1
- package/dist/esm/lib/gl-matrix-extras.js.map +1 -1
- package/dist/esm/lib/math-utils.js.map +1 -1
- package/dist/esm/lib/validators.js.map +1 -1
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/lib/assert.d.ts +2 -0
- package/dist/lib/assert.d.ts.map +1 -0
- package/dist/lib/assert.js +5 -0
- package/dist/lib/common.d.ts +90 -0
- package/dist/lib/common.d.ts.map +1 -0
- package/dist/lib/common.js +223 -0
- package/dist/lib/gl-matrix-extras.d.ts +6 -0
- package/dist/lib/gl-matrix-extras.d.ts.map +1 -0
- package/dist/lib/gl-matrix-extras.js +50 -0
- package/dist/lib/math-utils.d.ts +28 -0
- package/dist/lib/math-utils.d.ts.map +1 -0
- package/dist/lib/math-utils.js +28 -0
- package/dist/lib/validators.d.ts +5 -0
- package/dist/lib/validators.d.ts.map +1 -0
- package/dist/lib/validators.js +52 -0
- package/package.json +5 -4
- package/src/classes/base/math-array.d.ts +0 -1
- package/src/classes/euler.js +1 -1
- package/src/docs/README.md +0 -0
- package/{dist/esm/index.d.ts → src/index.ts} +32 -34
- package/src/lib/{assert.js → assert.ts} +1 -1
- package/src/lib/common.ts +283 -0
- package/src/lib/{gl-matrix-extras.js → gl-matrix-extras.ts} +0 -0
- package/src/lib/{math-utils.js → math-utils.ts} +0 -0
- package/src/lib/{validators.js → validators.ts} +0 -0
- package/dist/es5/addons/polygon.d.ts +0 -17
- package/dist/es5/classes/base/math-array.d.ts +0 -56
- package/dist/es5/classes/base/matrix.d.ts +0 -15
- package/dist/es5/classes/base/vector.d.ts +0 -45
- package/dist/es5/classes/euler.d.ts +0 -92
- package/dist/es5/classes/matrix3.d.ts +0 -91
- package/dist/es5/classes/matrix4.d.ts +0 -161
- package/dist/es5/classes/pose.d.ts +0 -92
- package/dist/es5/classes/quaternion.d.ts +0 -107
- package/dist/es5/classes/spherical-coordinates.d.ts +0 -87
- package/dist/es5/classes/vector2.d.ts +0 -65
- package/dist/es5/classes/vector3.d.ts +0 -65
- package/dist/es5/classes/vector4.d.ts +0 -34
- package/dist/es5/index.d.ts +0 -54
- package/dist/es5/lib/common.d.ts +0 -80
- package/dist/esm/addons/polygon.d.ts +0 -17
- package/dist/esm/classes/base/math-array.d.ts +0 -56
- package/dist/esm/classes/base/matrix.d.ts +0 -15
- package/dist/esm/classes/base/vector.d.ts +0 -45
- package/dist/esm/classes/euler.d.ts +0 -92
- package/dist/esm/classes/matrix3.d.ts +0 -91
- package/dist/esm/classes/matrix4.d.ts +0 -161
- package/dist/esm/classes/pose.d.ts +0 -92
- package/dist/esm/classes/quaternion.d.ts +0 -107
- package/dist/esm/classes/spherical-coordinates.d.ts +0 -87
- package/dist/esm/classes/vector2.d.ts +0 -65
- package/dist/esm/classes/vector3.d.ts +0 -65
- package/dist/esm/classes/vector4.d.ts +0 -34
- package/dist/esm/lib/common.d.ts +0 -80
- package/src/addons/polygon.d.ts +0 -17
- package/src/index.d.ts +0 -54
- package/src/index.js +0 -86
- package/src/lib/common.d.ts +0 -80
- package/src/lib/common.js +0 -222
|
@@ -7,32 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
10
|
var _mathArray = _interopRequireDefault(require("./base/math-array"));
|
|
23
11
|
|
|
24
12
|
var _common = require("../lib/common");
|
|
25
13
|
|
|
26
14
|
var _validators = require("../lib/validators");
|
|
27
15
|
|
|
28
|
-
var
|
|
16
|
+
var _quaternion = _interopRequireDefault(require("./quaternion"));
|
|
29
17
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
33
|
-
|
|
34
|
-
var ERR_UNKNOWN_ORDER = 'Unknown Euler angle order';
|
|
35
|
-
var ALMOST_ONE = 0.99999;
|
|
18
|
+
const ERR_UNKNOWN_ORDER = 'Unknown Euler angle order';
|
|
19
|
+
const ALMOST_ONE = 0.99999;
|
|
36
20
|
|
|
37
21
|
function validateOrder(value) {
|
|
38
22
|
return value >= 0 && value < 6;
|
|
@@ -46,595 +30,530 @@ function checkOrder(value) {
|
|
|
46
30
|
return value;
|
|
47
31
|
}
|
|
48
32
|
|
|
49
|
-
|
|
50
|
-
(
|
|
33
|
+
class Euler extends _mathArray.default {
|
|
34
|
+
static get ZYX() {
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
51
37
|
|
|
52
|
-
|
|
38
|
+
static get YXZ() {
|
|
39
|
+
return 1;
|
|
40
|
+
}
|
|
53
41
|
|
|
54
|
-
|
|
55
|
-
|
|
42
|
+
static get XZY() {
|
|
43
|
+
return 2;
|
|
44
|
+
}
|
|
56
45
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
var order = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Euler.DefaultOrder;
|
|
61
|
-
(0, _classCallCheck2.default)(this, Euler);
|
|
62
|
-
_this = _super.call(this, -0, -0, -0, -0);
|
|
46
|
+
static get ZXY() {
|
|
47
|
+
return 3;
|
|
48
|
+
}
|
|
63
49
|
|
|
64
|
-
|
|
65
|
-
|
|
50
|
+
static get YZX() {
|
|
51
|
+
return 4;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static get XYZ() {
|
|
55
|
+
return 5;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static get RollPitchYaw() {
|
|
59
|
+
return 0;
|
|
60
|
+
}
|
|
66
61
|
|
|
67
|
-
|
|
62
|
+
static get DefaultOrder() {
|
|
63
|
+
return Euler.ZYX;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static get RotationOrders() {
|
|
67
|
+
return ['ZYX', 'YXZ', 'XZY', 'ZXY', 'YZX', 'XYZ'];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static rotationOrder(order) {
|
|
71
|
+
return Euler.RotationOrders[order];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
get ELEMENTS() {
|
|
75
|
+
return 4;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
constructor(x = 0, y = 0, z = 0, order = Euler.DefaultOrder) {
|
|
79
|
+
super(-0, -0, -0, -0);
|
|
80
|
+
|
|
81
|
+
if (arguments.length > 0 && Array.isArray(arguments[0])) {
|
|
82
|
+
this.fromVector3(...arguments);
|
|
68
83
|
} else {
|
|
69
|
-
|
|
84
|
+
this.set(x, y, z, order);
|
|
70
85
|
}
|
|
86
|
+
}
|
|
71
87
|
|
|
72
|
-
|
|
88
|
+
fromQuaternion(quaternion) {
|
|
89
|
+
const [x, y, z, w] = quaternion;
|
|
90
|
+
const ysqr = y * y;
|
|
91
|
+
const t0 = -2.0 * (ysqr + z * z) + 1.0;
|
|
92
|
+
const t1 = +2.0 * (x * y + w * z);
|
|
93
|
+
let t2 = -2.0 * (x * z - w * y);
|
|
94
|
+
const t3 = +2.0 * (y * z + w * x);
|
|
95
|
+
const t4 = -2.0 * (x * x + ysqr) + 1.0;
|
|
96
|
+
t2 = t2 > 1.0 ? 1.0 : t2;
|
|
97
|
+
t2 = t2 < -1.0 ? -1.0 : t2;
|
|
98
|
+
const roll = Math.atan2(t3, t4);
|
|
99
|
+
const pitch = Math.asin(t2);
|
|
100
|
+
const yaw = Math.atan2(t1, t0);
|
|
101
|
+
return new Euler(roll, pitch, yaw, Euler.RollPitchYaw);
|
|
73
102
|
}
|
|
74
103
|
|
|
75
|
-
(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
value: function fromQuaternion(quaternion) {
|
|
83
|
-
var _quaternion = (0, _slicedToArray2.default)(quaternion, 4),
|
|
84
|
-
x = _quaternion[0],
|
|
85
|
-
y = _quaternion[1],
|
|
86
|
-
z = _quaternion[2],
|
|
87
|
-
w = _quaternion[3];
|
|
88
|
-
|
|
89
|
-
var ysqr = y * y;
|
|
90
|
-
var t0 = -2.0 * (ysqr + z * z) + 1.0;
|
|
91
|
-
var t1 = +2.0 * (x * y + w * z);
|
|
92
|
-
var t2 = -2.0 * (x * z - w * y);
|
|
93
|
-
var t3 = +2.0 * (y * z + w * x);
|
|
94
|
-
var t4 = -2.0 * (x * x + ysqr) + 1.0;
|
|
95
|
-
t2 = t2 > 1.0 ? 1.0 : t2;
|
|
96
|
-
t2 = t2 < -1.0 ? -1.0 : t2;
|
|
97
|
-
var roll = Math.atan2(t3, t4);
|
|
98
|
-
var pitch = Math.asin(t2);
|
|
99
|
-
var yaw = Math.atan2(t1, t0);
|
|
100
|
-
return new Euler(roll, pitch, yaw, Euler.RollPitchYaw);
|
|
101
|
-
}
|
|
102
|
-
}, {
|
|
103
|
-
key: "copy",
|
|
104
|
-
value: function copy(array) {
|
|
105
|
-
this[0] = array[0];
|
|
106
|
-
this[1] = array[1];
|
|
107
|
-
this[2] = array[2];
|
|
108
|
-
this[3] = Number.isFinite(array[3]) || this.order;
|
|
109
|
-
return this.check();
|
|
110
|
-
}
|
|
111
|
-
}, {
|
|
112
|
-
key: "set",
|
|
113
|
-
value: function set() {
|
|
114
|
-
var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
115
|
-
var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
116
|
-
var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
117
|
-
var order = arguments.length > 3 ? arguments[3] : undefined;
|
|
118
|
-
this[0] = x;
|
|
119
|
-
this[1] = y;
|
|
120
|
-
this[2] = z;
|
|
121
|
-
this[3] = Number.isFinite(order) ? order : this[3];
|
|
122
|
-
return this.check();
|
|
123
|
-
}
|
|
124
|
-
}, {
|
|
125
|
-
key: "validate",
|
|
126
|
-
value: function validate() {
|
|
127
|
-
return validateOrder(this[3]) && Number.isFinite(this[0]) && Number.isFinite(this[1]) && Number.isFinite(this[2]);
|
|
128
|
-
}
|
|
129
|
-
}, {
|
|
130
|
-
key: "toArray",
|
|
131
|
-
value: function toArray() {
|
|
132
|
-
var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
133
|
-
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
134
|
-
array[offset] = this[0];
|
|
135
|
-
array[offset + 1] = this[1];
|
|
136
|
-
array[offset + 2] = this[2];
|
|
137
|
-
return array;
|
|
138
|
-
}
|
|
139
|
-
}, {
|
|
140
|
-
key: "toArray4",
|
|
141
|
-
value: function toArray4() {
|
|
142
|
-
var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
143
|
-
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
144
|
-
array[offset] = this[0];
|
|
145
|
-
array[offset + 1] = this[1];
|
|
146
|
-
array[offset + 2] = this[2];
|
|
147
|
-
array[offset + 3] = this[3];
|
|
148
|
-
return array;
|
|
149
|
-
}
|
|
150
|
-
}, {
|
|
151
|
-
key: "toVector3",
|
|
152
|
-
value: function toVector3() {
|
|
153
|
-
var result = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [-0, -0, -0];
|
|
154
|
-
result[0] = this[0];
|
|
155
|
-
result[1] = this[1];
|
|
156
|
-
result[2] = this[2];
|
|
157
|
-
return result;
|
|
158
|
-
}
|
|
159
|
-
}, {
|
|
160
|
-
key: "x",
|
|
161
|
-
get: function get() {
|
|
162
|
-
return this[0];
|
|
163
|
-
},
|
|
164
|
-
set: function set(value) {
|
|
165
|
-
this[0] = (0, _validators.checkNumber)(value);
|
|
166
|
-
}
|
|
167
|
-
}, {
|
|
168
|
-
key: "y",
|
|
169
|
-
get: function get() {
|
|
170
|
-
return this[1];
|
|
171
|
-
},
|
|
172
|
-
set: function set(value) {
|
|
173
|
-
this[1] = (0, _validators.checkNumber)(value);
|
|
174
|
-
}
|
|
175
|
-
}, {
|
|
176
|
-
key: "z",
|
|
177
|
-
get: function get() {
|
|
178
|
-
return this[2];
|
|
179
|
-
},
|
|
180
|
-
set: function set(value) {
|
|
181
|
-
this[2] = (0, _validators.checkNumber)(value);
|
|
182
|
-
}
|
|
183
|
-
}, {
|
|
184
|
-
key: "alpha",
|
|
185
|
-
get: function get() {
|
|
186
|
-
return this[0];
|
|
187
|
-
},
|
|
188
|
-
set: function set(value) {
|
|
189
|
-
this[0] = (0, _validators.checkNumber)(value);
|
|
190
|
-
}
|
|
191
|
-
}, {
|
|
192
|
-
key: "beta",
|
|
193
|
-
get: function get() {
|
|
194
|
-
return this[1];
|
|
195
|
-
},
|
|
196
|
-
set: function set(value) {
|
|
197
|
-
this[1] = (0, _validators.checkNumber)(value);
|
|
198
|
-
}
|
|
199
|
-
}, {
|
|
200
|
-
key: "gamma",
|
|
201
|
-
get: function get() {
|
|
202
|
-
return this[2];
|
|
203
|
-
},
|
|
204
|
-
set: function set(value) {
|
|
205
|
-
this[2] = (0, _validators.checkNumber)(value);
|
|
206
|
-
}
|
|
207
|
-
}, {
|
|
208
|
-
key: "phi",
|
|
209
|
-
get: function get() {
|
|
210
|
-
return this[0];
|
|
211
|
-
},
|
|
212
|
-
set: function set(value) {
|
|
213
|
-
this[0] = (0, _validators.checkNumber)(value);
|
|
214
|
-
}
|
|
215
|
-
}, {
|
|
216
|
-
key: "theta",
|
|
217
|
-
get: function get() {
|
|
218
|
-
return this[1];
|
|
219
|
-
},
|
|
220
|
-
set: function set(value) {
|
|
221
|
-
this[1] = (0, _validators.checkNumber)(value);
|
|
222
|
-
}
|
|
223
|
-
}, {
|
|
224
|
-
key: "psi",
|
|
225
|
-
get: function get() {
|
|
226
|
-
return this[2];
|
|
227
|
-
},
|
|
228
|
-
set: function set(value) {
|
|
229
|
-
this[2] = (0, _validators.checkNumber)(value);
|
|
230
|
-
}
|
|
231
|
-
}, {
|
|
232
|
-
key: "roll",
|
|
233
|
-
get: function get() {
|
|
234
|
-
return this[0];
|
|
235
|
-
},
|
|
236
|
-
set: function set(value) {
|
|
237
|
-
this[0] = (0, _validators.checkNumber)(value);
|
|
238
|
-
}
|
|
239
|
-
}, {
|
|
240
|
-
key: "pitch",
|
|
241
|
-
get: function get() {
|
|
242
|
-
return this[1];
|
|
243
|
-
},
|
|
244
|
-
set: function set(value) {
|
|
245
|
-
this[1] = (0, _validators.checkNumber)(value);
|
|
246
|
-
}
|
|
247
|
-
}, {
|
|
248
|
-
key: "yaw",
|
|
249
|
-
get: function get() {
|
|
250
|
-
return this[2];
|
|
251
|
-
},
|
|
252
|
-
set: function set(value) {
|
|
253
|
-
this[2] = (0, _validators.checkNumber)(value);
|
|
254
|
-
}
|
|
255
|
-
}, {
|
|
256
|
-
key: "order",
|
|
257
|
-
get: function get() {
|
|
258
|
-
return this[3];
|
|
259
|
-
},
|
|
260
|
-
set: function set(value) {
|
|
261
|
-
this[3] = checkOrder(value);
|
|
262
|
-
}
|
|
263
|
-
}, {
|
|
264
|
-
key: "fromVector3",
|
|
265
|
-
value: function fromVector3(v, order) {
|
|
266
|
-
return this.set(v[0], v[1], v[2], Number.isFinite(order) ? order : this[3]);
|
|
267
|
-
}
|
|
268
|
-
}, {
|
|
269
|
-
key: "fromArray",
|
|
270
|
-
value: function fromArray(array) {
|
|
271
|
-
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
272
|
-
this[0] = array[0 + offset];
|
|
273
|
-
this[1] = array[1 + offset];
|
|
274
|
-
this[2] = array[2 + offset];
|
|
275
|
-
|
|
276
|
-
if (array[3] !== undefined) {
|
|
277
|
-
this[3] = array[3];
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
return this.check();
|
|
281
|
-
}
|
|
282
|
-
}, {
|
|
283
|
-
key: "fromRollPitchYaw",
|
|
284
|
-
value: function fromRollPitchYaw(roll, pitch, yaw) {
|
|
285
|
-
return this.set(roll, pitch, yaw, Euler.ZYX);
|
|
286
|
-
}
|
|
287
|
-
}, {
|
|
288
|
-
key: "fromRotationMatrix",
|
|
289
|
-
value: function fromRotationMatrix(m) {
|
|
290
|
-
var order = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Euler.DefaultOrder;
|
|
104
|
+
copy(array) {
|
|
105
|
+
this[0] = array[0];
|
|
106
|
+
this[1] = array[1];
|
|
107
|
+
this[2] = array[2];
|
|
108
|
+
this[3] = Number.isFinite(array[3]) || this.order;
|
|
109
|
+
return this.check();
|
|
110
|
+
}
|
|
291
111
|
|
|
292
|
-
|
|
112
|
+
set(x = 0, y = 0, z = 0, order) {
|
|
113
|
+
this[0] = x;
|
|
114
|
+
this[1] = y;
|
|
115
|
+
this[2] = z;
|
|
116
|
+
this[3] = Number.isFinite(order) ? order : this[3];
|
|
117
|
+
return this.check();
|
|
118
|
+
}
|
|
293
119
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
120
|
+
validate() {
|
|
121
|
+
return validateOrder(this[3]) && Number.isFinite(this[0]) && Number.isFinite(this[1]) && Number.isFinite(this[2]);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
toArray(array = [], offset = 0) {
|
|
125
|
+
array[offset] = this[0];
|
|
126
|
+
array[offset + 1] = this[1];
|
|
127
|
+
array[offset + 2] = this[2];
|
|
128
|
+
return array;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
toArray4(array = [], offset = 0) {
|
|
132
|
+
array[offset] = this[0];
|
|
133
|
+
array[offset + 1] = this[1];
|
|
134
|
+
array[offset + 2] = this[2];
|
|
135
|
+
array[offset + 3] = this[3];
|
|
136
|
+
return array;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
toVector3(result = [-0, -0, -0]) {
|
|
140
|
+
result[0] = this[0];
|
|
141
|
+
result[1] = this[1];
|
|
142
|
+
result[2] = this[2];
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
get x() {
|
|
147
|
+
return this[0];
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
set x(value) {
|
|
151
|
+
this[0] = (0, _validators.checkNumber)(value);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
get y() {
|
|
155
|
+
return this[1];
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
set y(value) {
|
|
159
|
+
this[1] = (0, _validators.checkNumber)(value);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
get z() {
|
|
163
|
+
return this[2];
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
set z(value) {
|
|
167
|
+
this[2] = (0, _validators.checkNumber)(value);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
get alpha() {
|
|
171
|
+
return this[0];
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
set alpha(value) {
|
|
175
|
+
this[0] = (0, _validators.checkNumber)(value);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
get beta() {
|
|
179
|
+
return this[1];
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
set beta(value) {
|
|
183
|
+
this[1] = (0, _validators.checkNumber)(value);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
get gamma() {
|
|
187
|
+
return this[2];
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
set gamma(value) {
|
|
191
|
+
this[2] = (0, _validators.checkNumber)(value);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
get phi() {
|
|
195
|
+
return this[0];
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
set phi(value) {
|
|
199
|
+
this[0] = (0, _validators.checkNumber)(value);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
get theta() {
|
|
203
|
+
return this[1];
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
set theta(value) {
|
|
207
|
+
this[1] = (0, _validators.checkNumber)(value);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
get psi() {
|
|
211
|
+
return this[2];
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
set psi(value) {
|
|
215
|
+
this[2] = (0, _validators.checkNumber)(value);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
get roll() {
|
|
219
|
+
return this[0];
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
set roll(value) {
|
|
223
|
+
this[0] = (0, _validators.checkNumber)(value);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
get pitch() {
|
|
227
|
+
return this[1];
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
set pitch(value) {
|
|
231
|
+
this[1] = (0, _validators.checkNumber)(value);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
get yaw() {
|
|
235
|
+
return this[2];
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
set yaw(value) {
|
|
239
|
+
this[2] = (0, _validators.checkNumber)(value);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
get order() {
|
|
243
|
+
return this[3];
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
set order(value) {
|
|
247
|
+
this[3] = checkOrder(value);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
fromVector3(v, order) {
|
|
251
|
+
return this.set(v[0], v[1], v[2], Number.isFinite(order) ? order : this[3]);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
fromArray(array, offset = 0) {
|
|
255
|
+
this[0] = array[0 + offset];
|
|
256
|
+
this[1] = array[1 + offset];
|
|
257
|
+
this[2] = array[2 + offset];
|
|
258
|
+
|
|
259
|
+
if (array[3] !== undefined) {
|
|
260
|
+
this[3] = array[3];
|
|
300
261
|
}
|
|
301
|
-
}, {
|
|
302
|
-
key: "getQuaternion",
|
|
303
|
-
value: function getQuaternion() {
|
|
304
|
-
var q = new _quaternion2.default();
|
|
305
262
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
263
|
+
return this.check();
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
fromRollPitchYaw(roll, pitch, yaw) {
|
|
267
|
+
return this.set(roll, pitch, yaw, Euler.ZYX);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
fromRotationMatrix(m, order = Euler.DefaultOrder) {
|
|
271
|
+
this._fromRotationMatrix(m, order);
|
|
272
|
+
|
|
273
|
+
return this.check();
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
getRotationMatrix(m) {
|
|
277
|
+
return this._getRotationMatrix(m);
|
|
278
|
+
}
|
|
309
279
|
|
|
310
|
-
|
|
311
|
-
|
|
280
|
+
getQuaternion() {
|
|
281
|
+
const q = new _quaternion.default();
|
|
312
282
|
|
|
313
|
-
|
|
314
|
-
|
|
283
|
+
switch (this[3]) {
|
|
284
|
+
case Euler.XYZ:
|
|
285
|
+
return q.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);
|
|
315
286
|
|
|
316
|
-
|
|
317
|
-
|
|
287
|
+
case Euler.YXZ:
|
|
288
|
+
return q.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);
|
|
318
289
|
|
|
319
|
-
|
|
320
|
-
|
|
290
|
+
case Euler.ZXY:
|
|
291
|
+
return q.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);
|
|
321
292
|
|
|
322
|
-
|
|
323
|
-
|
|
293
|
+
case Euler.ZYX:
|
|
294
|
+
return q.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);
|
|
324
295
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
296
|
+
case Euler.YZX:
|
|
297
|
+
return q.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);
|
|
298
|
+
|
|
299
|
+
case Euler.XZY:
|
|
300
|
+
return q.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);
|
|
301
|
+
|
|
302
|
+
default:
|
|
303
|
+
throw new Error(ERR_UNKNOWN_ORDER);
|
|
328
304
|
}
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
var m11 = te[0],
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
_fromRotationMatrix(m, order = Euler.DefaultOrder) {
|
|
308
|
+
const te = m.elements;
|
|
309
|
+
const m11 = te[0],
|
|
335
310
|
m12 = te[4],
|
|
336
311
|
m13 = te[8];
|
|
337
|
-
|
|
312
|
+
const m21 = te[1],
|
|
338
313
|
m22 = te[5],
|
|
339
314
|
m23 = te[9];
|
|
340
|
-
|
|
315
|
+
const m31 = te[2],
|
|
341
316
|
m32 = te[6],
|
|
342
317
|
m33 = te[10];
|
|
343
|
-
|
|
318
|
+
order = order || this[3];
|
|
344
319
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
320
|
+
switch (order) {
|
|
321
|
+
case Euler.XYZ:
|
|
322
|
+
this[1] = Math.asin((0, _common.clamp)(m13, -1, 1));
|
|
348
323
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
324
|
+
if (Math.abs(m13) < ALMOST_ONE) {
|
|
325
|
+
this[0] = Math.atan2(-m23, m33);
|
|
326
|
+
this[2] = Math.atan2(-m12, m11);
|
|
327
|
+
} else {
|
|
328
|
+
this[0] = Math.atan2(m32, m22);
|
|
329
|
+
this[2] = 0;
|
|
330
|
+
}
|
|
356
331
|
|
|
357
|
-
|
|
332
|
+
break;
|
|
358
333
|
|
|
359
|
-
|
|
360
|
-
|
|
334
|
+
case Euler.YXZ:
|
|
335
|
+
this[0] = Math.asin(-(0, _common.clamp)(m23, -1, 1));
|
|
361
336
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
337
|
+
if (Math.abs(m23) < ALMOST_ONE) {
|
|
338
|
+
this[1] = Math.atan2(m13, m33);
|
|
339
|
+
this[2] = Math.atan2(m21, m22);
|
|
340
|
+
} else {
|
|
341
|
+
this[1] = Math.atan2(-m31, m11);
|
|
342
|
+
this[2] = 0;
|
|
343
|
+
}
|
|
369
344
|
|
|
370
|
-
|
|
345
|
+
break;
|
|
371
346
|
|
|
372
|
-
|
|
373
|
-
|
|
347
|
+
case Euler.ZXY:
|
|
348
|
+
this[0] = Math.asin((0, _common.clamp)(m32, -1, 1));
|
|
374
349
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
350
|
+
if (Math.abs(m32) < ALMOST_ONE) {
|
|
351
|
+
this[1] = Math.atan2(-m31, m33);
|
|
352
|
+
this[2] = Math.atan2(-m12, m22);
|
|
353
|
+
} else {
|
|
354
|
+
this[1] = 0;
|
|
355
|
+
this[2] = Math.atan2(m21, m11);
|
|
356
|
+
}
|
|
382
357
|
|
|
383
|
-
|
|
358
|
+
break;
|
|
384
359
|
|
|
385
|
-
|
|
386
|
-
|
|
360
|
+
case Euler.ZYX:
|
|
361
|
+
this[1] = Math.asin(-(0, _common.clamp)(m31, -1, 1));
|
|
387
362
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
363
|
+
if (Math.abs(m31) < ALMOST_ONE) {
|
|
364
|
+
this[0] = Math.atan2(m32, m33);
|
|
365
|
+
this[2] = Math.atan2(m21, m11);
|
|
366
|
+
} else {
|
|
367
|
+
this[0] = 0;
|
|
368
|
+
this[2] = Math.atan2(-m12, m22);
|
|
369
|
+
}
|
|
395
370
|
|
|
396
|
-
|
|
371
|
+
break;
|
|
397
372
|
|
|
398
|
-
|
|
399
|
-
|
|
373
|
+
case Euler.YZX:
|
|
374
|
+
this[2] = Math.asin((0, _common.clamp)(m21, -1, 1));
|
|
400
375
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
376
|
+
if (Math.abs(m21) < ALMOST_ONE) {
|
|
377
|
+
this[0] = Math.atan2(-m23, m22);
|
|
378
|
+
this[1] = Math.atan2(-m31, m11);
|
|
379
|
+
} else {
|
|
380
|
+
this[0] = 0;
|
|
381
|
+
this[1] = Math.atan2(m13, m33);
|
|
382
|
+
}
|
|
408
383
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
case Euler.XZY:
|
|
412
|
-
this[2] = Math.asin(-(0, _common.clamp)(m12, -1, 1));
|
|
384
|
+
break;
|
|
413
385
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
this[1] = Math.atan2(m13, m11);
|
|
417
|
-
} else {
|
|
418
|
-
this[0] = Math.atan2(-m23, m33);
|
|
419
|
-
this[1] = 0;
|
|
420
|
-
}
|
|
386
|
+
case Euler.XZY:
|
|
387
|
+
this[2] = Math.asin(-(0, _common.clamp)(m12, -1, 1));
|
|
421
388
|
|
|
422
|
-
|
|
389
|
+
if (Math.abs(m12) < ALMOST_ONE) {
|
|
390
|
+
this[0] = Math.atan2(m32, m22);
|
|
391
|
+
this[1] = Math.atan2(m13, m11);
|
|
392
|
+
} else {
|
|
393
|
+
this[0] = Math.atan2(-m23, m33);
|
|
394
|
+
this[1] = 0;
|
|
395
|
+
}
|
|
423
396
|
|
|
424
|
-
|
|
425
|
-
throw new Error(ERR_UNKNOWN_ORDER);
|
|
426
|
-
}
|
|
397
|
+
break;
|
|
427
398
|
|
|
428
|
-
|
|
429
|
-
|
|
399
|
+
default:
|
|
400
|
+
throw new Error(ERR_UNKNOWN_ORDER);
|
|
430
401
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
402
|
+
|
|
403
|
+
this[3] = order;
|
|
404
|
+
return this;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
_getRotationMatrix(result) {
|
|
408
|
+
const te = result || [-0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0];
|
|
409
|
+
const x = this.x,
|
|
436
410
|
y = this.y,
|
|
437
411
|
z = this.z;
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
412
|
+
const a = Math.cos(x);
|
|
413
|
+
const c = Math.cos(y);
|
|
414
|
+
const e = Math.cos(z);
|
|
415
|
+
const b = Math.sin(x);
|
|
416
|
+
const d = Math.sin(y);
|
|
417
|
+
const f = Math.sin(z);
|
|
418
|
+
|
|
419
|
+
switch (this[3]) {
|
|
420
|
+
case Euler.XYZ:
|
|
421
|
+
{
|
|
422
|
+
const ae = a * e,
|
|
449
423
|
af = a * f,
|
|
450
424
|
be = b * e,
|
|
451
425
|
bf = b * f;
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
426
|
+
te[0] = c * e;
|
|
427
|
+
te[4] = -c * f;
|
|
428
|
+
te[8] = d;
|
|
429
|
+
te[1] = af + be * d;
|
|
430
|
+
te[5] = ae - bf * d;
|
|
431
|
+
te[9] = -b * c;
|
|
432
|
+
te[2] = bf - ae * d;
|
|
433
|
+
te[6] = be + af * d;
|
|
434
|
+
te[10] = a * c;
|
|
435
|
+
break;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
case Euler.YXZ:
|
|
439
|
+
{
|
|
440
|
+
const ce = c * e,
|
|
441
|
+
cf = c * f,
|
|
442
|
+
de = d * e,
|
|
443
|
+
df = d * f;
|
|
444
|
+
te[0] = ce + df * b;
|
|
445
|
+
te[4] = de * b - cf;
|
|
446
|
+
te[8] = a * d;
|
|
447
|
+
te[1] = a * f;
|
|
448
|
+
te[5] = a * e;
|
|
449
|
+
te[9] = -b;
|
|
450
|
+
te[2] = cf * b - de;
|
|
451
|
+
te[6] = df + ce * b;
|
|
452
|
+
te[10] = a * c;
|
|
453
|
+
break;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
case Euler.ZXY:
|
|
457
|
+
{
|
|
458
|
+
const ce = c * e,
|
|
467
459
|
cf = c * f,
|
|
468
460
|
de = d * e,
|
|
469
461
|
df = d * f;
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
var _ae = a * e,
|
|
504
|
-
_af = a * f,
|
|
505
|
-
_be = b * e,
|
|
506
|
-
_bf = b * f;
|
|
507
|
-
|
|
508
|
-
te[0] = c * e;
|
|
509
|
-
te[4] = _be * d - _af;
|
|
510
|
-
te[8] = _ae * d + _bf;
|
|
511
|
-
te[1] = c * f;
|
|
512
|
-
te[5] = _bf * d + _ae;
|
|
513
|
-
te[9] = _af * d - _be;
|
|
514
|
-
te[2] = -d;
|
|
515
|
-
te[6] = b * c;
|
|
516
|
-
te[10] = a * c;
|
|
517
|
-
break;
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
case Euler.YZX:
|
|
521
|
-
{
|
|
522
|
-
var ac = a * c,
|
|
462
|
+
te[0] = ce - df * b;
|
|
463
|
+
te[4] = -a * f;
|
|
464
|
+
te[8] = de + cf * b;
|
|
465
|
+
te[1] = cf + de * b;
|
|
466
|
+
te[5] = a * e;
|
|
467
|
+
te[9] = df - ce * b;
|
|
468
|
+
te[2] = -a * d;
|
|
469
|
+
te[6] = b;
|
|
470
|
+
te[10] = a * c;
|
|
471
|
+
break;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
case Euler.ZYX:
|
|
475
|
+
{
|
|
476
|
+
const ae = a * e,
|
|
477
|
+
af = a * f,
|
|
478
|
+
be = b * e,
|
|
479
|
+
bf = b * f;
|
|
480
|
+
te[0] = c * e;
|
|
481
|
+
te[4] = be * d - af;
|
|
482
|
+
te[8] = ae * d + bf;
|
|
483
|
+
te[1] = c * f;
|
|
484
|
+
te[5] = bf * d + ae;
|
|
485
|
+
te[9] = af * d - be;
|
|
486
|
+
te[2] = -d;
|
|
487
|
+
te[6] = b * c;
|
|
488
|
+
te[10] = a * c;
|
|
489
|
+
break;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
case Euler.YZX:
|
|
493
|
+
{
|
|
494
|
+
const ac = a * c,
|
|
523
495
|
ad = a * d,
|
|
524
496
|
bc = b * c,
|
|
525
497
|
bd = b * d;
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
throw new Error(ERR_UNKNOWN_ORDER);
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
te[3] = 0;
|
|
562
|
-
te[7] = 0;
|
|
563
|
-
te[11] = 0;
|
|
564
|
-
te[12] = 0;
|
|
565
|
-
te[13] = 0;
|
|
566
|
-
te[14] = 0;
|
|
567
|
-
te[15] = 1;
|
|
568
|
-
return te;
|
|
569
|
-
}
|
|
570
|
-
}, {
|
|
571
|
-
key: "toQuaternion",
|
|
572
|
-
value: function toQuaternion() {
|
|
573
|
-
var cy = Math.cos(this.yaw * 0.5);
|
|
574
|
-
var sy = Math.sin(this.yaw * 0.5);
|
|
575
|
-
var cr = Math.cos(this.roll * 0.5);
|
|
576
|
-
var sr = Math.sin(this.roll * 0.5);
|
|
577
|
-
var cp = Math.cos(this.pitch * 0.5);
|
|
578
|
-
var sp = Math.sin(this.pitch * 0.5);
|
|
579
|
-
var w = cy * cr * cp + sy * sr * sp;
|
|
580
|
-
var x = cy * sr * cp - sy * cr * sp;
|
|
581
|
-
var y = cy * cr * sp + sy * sr * cp;
|
|
582
|
-
var z = sy * cr * cp - cy * sr * sp;
|
|
583
|
-
return new _quaternion2.default(x, y, z, w);
|
|
584
|
-
}
|
|
585
|
-
}], [{
|
|
586
|
-
key: "ZYX",
|
|
587
|
-
get: function get() {
|
|
588
|
-
return 0;
|
|
589
|
-
}
|
|
590
|
-
}, {
|
|
591
|
-
key: "YXZ",
|
|
592
|
-
get: function get() {
|
|
593
|
-
return 1;
|
|
594
|
-
}
|
|
595
|
-
}, {
|
|
596
|
-
key: "XZY",
|
|
597
|
-
get: function get() {
|
|
598
|
-
return 2;
|
|
599
|
-
}
|
|
600
|
-
}, {
|
|
601
|
-
key: "ZXY",
|
|
602
|
-
get: function get() {
|
|
603
|
-
return 3;
|
|
604
|
-
}
|
|
605
|
-
}, {
|
|
606
|
-
key: "YZX",
|
|
607
|
-
get: function get() {
|
|
608
|
-
return 4;
|
|
609
|
-
}
|
|
610
|
-
}, {
|
|
611
|
-
key: "XYZ",
|
|
612
|
-
get: function get() {
|
|
613
|
-
return 5;
|
|
614
|
-
}
|
|
615
|
-
}, {
|
|
616
|
-
key: "RollPitchYaw",
|
|
617
|
-
get: function get() {
|
|
618
|
-
return 0;
|
|
619
|
-
}
|
|
620
|
-
}, {
|
|
621
|
-
key: "DefaultOrder",
|
|
622
|
-
get: function get() {
|
|
623
|
-
return Euler.ZYX;
|
|
624
|
-
}
|
|
625
|
-
}, {
|
|
626
|
-
key: "RotationOrders",
|
|
627
|
-
get: function get() {
|
|
628
|
-
return ['ZYX', 'YXZ', 'XZY', 'ZXY', 'YZX', 'XYZ'];
|
|
629
|
-
}
|
|
630
|
-
}, {
|
|
631
|
-
key: "rotationOrder",
|
|
632
|
-
value: function rotationOrder(order) {
|
|
633
|
-
return Euler.RotationOrders[order];
|
|
498
|
+
te[0] = c * e;
|
|
499
|
+
te[4] = bd - ac * f;
|
|
500
|
+
te[8] = bc * f + ad;
|
|
501
|
+
te[1] = f;
|
|
502
|
+
te[5] = a * e;
|
|
503
|
+
te[9] = -b * e;
|
|
504
|
+
te[2] = -d * e;
|
|
505
|
+
te[6] = ad * f + bc;
|
|
506
|
+
te[10] = ac - bd * f;
|
|
507
|
+
break;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
case Euler.XZY:
|
|
511
|
+
{
|
|
512
|
+
const ac = a * c,
|
|
513
|
+
ad = a * d,
|
|
514
|
+
bc = b * c,
|
|
515
|
+
bd = b * d;
|
|
516
|
+
te[0] = c * e;
|
|
517
|
+
te[4] = -f;
|
|
518
|
+
te[8] = d * e;
|
|
519
|
+
te[1] = ac * f + bd;
|
|
520
|
+
te[5] = a * e;
|
|
521
|
+
te[9] = ad * f - bc;
|
|
522
|
+
te[2] = bc * f - ad;
|
|
523
|
+
te[6] = b * e;
|
|
524
|
+
te[10] = bd * f + ac;
|
|
525
|
+
break;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
default:
|
|
529
|
+
throw new Error(ERR_UNKNOWN_ORDER);
|
|
634
530
|
}
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
531
|
+
|
|
532
|
+
te[3] = 0;
|
|
533
|
+
te[7] = 0;
|
|
534
|
+
te[11] = 0;
|
|
535
|
+
te[12] = 0;
|
|
536
|
+
te[13] = 0;
|
|
537
|
+
te[14] = 0;
|
|
538
|
+
te[15] = 1;
|
|
539
|
+
return te;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
toQuaternion() {
|
|
543
|
+
const cy = Math.cos(this.yaw * 0.5);
|
|
544
|
+
const sy = Math.sin(this.yaw * 0.5);
|
|
545
|
+
const cr = Math.cos(this.roll * 0.5);
|
|
546
|
+
const sr = Math.sin(this.roll * 0.5);
|
|
547
|
+
const cp = Math.cos(this.pitch * 0.5);
|
|
548
|
+
const sp = Math.sin(this.pitch * 0.5);
|
|
549
|
+
const w = cy * cr * cp + sy * sr * sp;
|
|
550
|
+
const x = cy * sr * cp - sy * cr * sp;
|
|
551
|
+
const y = cy * cr * sp + sy * sr * cp;
|
|
552
|
+
const z = sy * cr * cp - cy * sr * sp;
|
|
553
|
+
return new _quaternion.default(x, y, z, w);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
}
|
|
638
557
|
|
|
639
558
|
exports.default = Euler;
|
|
640
559
|
//# sourceMappingURL=euler.js.map
|