@math.gl/core 3.6.3 → 4.0.0-alpha.2

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