@math.gl/core 4.2.0-alpha.5 → 5.0.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.
@@ -1,25 +1,37 @@
1
1
  import { MathArray } from "./base/math-array.js";
2
2
  import { Quaternion } from "./quaternion.js";
3
3
  import { NumericArray } from '@math.gl/types';
4
- declare enum RotationOrder {
5
- ZYX = 0,
6
- YXZ = 1,
7
- XZY = 2,
8
- ZXY = 3,
9
- YZX = 4,
10
- XYZ = 5
11
- }
4
+ /** Order in which Euler rotations are applied. */
5
+ export type EulerRotationOrder = 'zyx' | 'yxz' | 'xzy' | 'zxy' | 'yzx' | 'xyz';
6
+ declare const ROTATION_ORDERS: {
7
+ readonly ZYX: "zyx";
8
+ readonly YXZ: "yxz";
9
+ readonly XZY: "xzy";
10
+ readonly ZXY: "zxy";
11
+ readonly YZX: "yzx";
12
+ readonly XYZ: "xyz";
13
+ };
12
14
  export declare class Euler extends MathArray {
13
- static get ZYX(): RotationOrder;
14
- static get YXZ(): RotationOrder;
15
- static get XZY(): RotationOrder;
16
- static get ZXY(): RotationOrder;
17
- static get YZX(): RotationOrder;
18
- static get XYZ(): RotationOrder;
19
- static get RollPitchYaw(): RotationOrder;
20
- static get DefaultOrder(): RotationOrder;
21
- static get RotationOrders(): typeof RotationOrder;
22
- static rotationOrder(order: RotationOrder): string;
15
+ /** @deprecated Pass the string `'zyx'` directly. */
16
+ static get ZYX(): EulerRotationOrder;
17
+ /** @deprecated Pass the string `'yxz'` directly. */
18
+ static get YXZ(): EulerRotationOrder;
19
+ /** @deprecated Pass the string `'xzy'` directly. */
20
+ static get XZY(): EulerRotationOrder;
21
+ /** @deprecated Pass the string `'zxy'` directly. */
22
+ static get ZXY(): EulerRotationOrder;
23
+ /** @deprecated Pass the string `'yzx'` directly. */
24
+ static get YZX(): EulerRotationOrder;
25
+ /** @deprecated Pass the string `'xyz'` directly. */
26
+ static get XYZ(): EulerRotationOrder;
27
+ /** @deprecated Pass the string `'zyx'` directly. */
28
+ static get RollPitchYaw(): EulerRotationOrder;
29
+ /** @deprecated Pass the string `'zyx'` directly. */
30
+ static get DefaultOrder(): EulerRotationOrder;
31
+ /** @deprecated Pass an {@link EulerRotationOrder} string directly. */
32
+ static get RotationOrders(): typeof ROTATION_ORDERS;
33
+ /** @deprecated Euler rotation orders are already represented as strings. */
34
+ static rotationOrder(order: EulerRotationOrder): EulerRotationOrder;
23
35
  get ELEMENTS(): number;
24
36
  /**
25
37
  * @class
@@ -28,11 +40,11 @@ export declare class Euler extends MathArray {
28
40
  * @param {Number=} [z]
29
41
  * @param {Number=} [order]
30
42
  */
31
- constructor(x?: number, y?: number, z?: number, order?: RotationOrder);
43
+ constructor(x?: number, y?: number, z?: number, order?: EulerRotationOrder);
32
44
  fromQuaternion(quaternion: Readonly<NumericArray>): this;
33
45
  fromObject(object: Record<string, unknown>): this;
34
46
  copy(array: Readonly<NumericArray>): this;
35
- set(x: number, y: number, z: number, order: RotationOrder): this;
47
+ set(x: number, y: number, z: number, order: EulerRotationOrder): this;
36
48
  validate(): boolean;
37
49
  toArray(array?: NumericArray, offset?: number): NumericArray;
38
50
  toArray4(array?: NumericArray, offset?: number): NumericArray;
@@ -61,15 +73,15 @@ export declare class Euler extends MathArray {
61
73
  set pitch(value: number);
62
74
  get yaw(): number;
63
75
  set yaw(value: number);
64
- get order(): RotationOrder;
65
- set order(value: RotationOrder);
66
- fromVector3(v: Readonly<NumericArray>, order: RotationOrder): this;
76
+ get order(): EulerRotationOrder;
77
+ set order(value: EulerRotationOrder);
78
+ fromVector3(v: Readonly<NumericArray>, order?: EulerRotationOrder): this;
67
79
  fromArray(array: Readonly<NumericArray>, offset?: number): this;
68
80
  fromRollPitchYaw(roll: number, pitch: number, yaw: number): this;
69
- fromRotationMatrix(m: Readonly<NumericArray>, order?: RotationOrder): this;
81
+ fromRotationMatrix(m: Readonly<NumericArray>, order?: EulerRotationOrder): this;
70
82
  getRotationMatrix(m: NumericArray): NumericArray;
71
83
  getQuaternion(): Quaternion;
72
- _fromRotationMatrix(m: Readonly<NumericArray>, order?: RotationOrder): this;
84
+ _fromRotationMatrix(m: Readonly<NumericArray>, order?: EulerRotationOrder): this;
73
85
  _getRotationMatrix(result: NumericArray): NumericArray;
74
86
  toQuaternion(): Quaternion;
75
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"euler.d.ts","sourceRoot":"","sources":["../../src/classes/euler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"euler.d.ts","sourceRoot":"","sources":["../../src/classes/euler.ts"],"names":[],"mappings":"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"}
@@ -9,47 +9,72 @@ import { checkNumber } from "../lib/validators.js";
9
9
  // Internal constants
10
10
  const ERR_UNKNOWN_ORDER = 'Unknown Euler angle order';
11
11
  const ALMOST_ONE = 0.99999;
12
- // eslint-disable-next-line no-shadow
13
- var RotationOrder;
14
- (function (RotationOrder) {
15
- RotationOrder[RotationOrder["ZYX"] = 0] = "ZYX";
16
- RotationOrder[RotationOrder["YXZ"] = 1] = "YXZ";
17
- RotationOrder[RotationOrder["XZY"] = 2] = "XZY";
18
- RotationOrder[RotationOrder["ZXY"] = 3] = "ZXY";
19
- RotationOrder[RotationOrder["YZX"] = 4] = "YZX";
20
- RotationOrder[RotationOrder["XYZ"] = 5] = "XYZ";
21
- })(RotationOrder || (RotationOrder = {}));
12
+ var RotationOrderIndex;
13
+ (function (RotationOrderIndex) {
14
+ RotationOrderIndex[RotationOrderIndex["ZYX"] = 0] = "ZYX";
15
+ RotationOrderIndex[RotationOrderIndex["YXZ"] = 1] = "YXZ";
16
+ RotationOrderIndex[RotationOrderIndex["XZY"] = 2] = "XZY";
17
+ RotationOrderIndex[RotationOrderIndex["ZXY"] = 3] = "ZXY";
18
+ RotationOrderIndex[RotationOrderIndex["YZX"] = 4] = "YZX";
19
+ RotationOrderIndex[RotationOrderIndex["XYZ"] = 5] = "XYZ";
20
+ })(RotationOrderIndex || (RotationOrderIndex = {}));
21
+ const ROTATION_ORDER_INDICES = {
22
+ zyx: RotationOrderIndex.ZYX,
23
+ yxz: RotationOrderIndex.YXZ,
24
+ xzy: RotationOrderIndex.XZY,
25
+ zxy: RotationOrderIndex.ZXY,
26
+ yzx: RotationOrderIndex.YZX,
27
+ xyz: RotationOrderIndex.XYZ
28
+ };
29
+ const ROTATION_ORDERS = {
30
+ ZYX: 'zyx',
31
+ YXZ: 'yxz',
32
+ XZY: 'xzy',
33
+ ZXY: 'zxy',
34
+ YZX: 'yzx',
35
+ XYZ: 'xyz'
36
+ };
22
37
  export class Euler extends MathArray {
23
38
  // Constants
39
+ /** @deprecated Pass the string `'zyx'` directly. */
24
40
  static get ZYX() {
25
- return RotationOrder.ZYX;
41
+ return 'zyx';
26
42
  }
43
+ /** @deprecated Pass the string `'yxz'` directly. */
27
44
  static get YXZ() {
28
- return RotationOrder.YXZ;
45
+ return 'yxz';
29
46
  }
47
+ /** @deprecated Pass the string `'xzy'` directly. */
30
48
  static get XZY() {
31
- return RotationOrder.XZY;
49
+ return 'xzy';
32
50
  }
51
+ /** @deprecated Pass the string `'zxy'` directly. */
33
52
  static get ZXY() {
34
- return RotationOrder.ZXY;
53
+ return 'zxy';
35
54
  }
55
+ /** @deprecated Pass the string `'yzx'` directly. */
36
56
  static get YZX() {
37
- return RotationOrder.YZX;
57
+ return 'yzx';
38
58
  }
59
+ /** @deprecated Pass the string `'xyz'` directly. */
39
60
  static get XYZ() {
40
- return RotationOrder.XYZ;
61
+ return 'xyz';
41
62
  }
63
+ /** @deprecated Pass the string `'zyx'` directly. */
42
64
  static get RollPitchYaw() {
43
- return RotationOrder.ZYX;
65
+ return 'zyx';
44
66
  }
67
+ /** @deprecated Pass the string `'zyx'` directly. */
45
68
  static get DefaultOrder() {
46
- return RotationOrder.ZYX;
69
+ return 'zyx';
47
70
  }
71
+ /** @deprecated Pass an {@link EulerRotationOrder} string directly. */
48
72
  static get RotationOrders() {
49
- return RotationOrder;
73
+ return ROTATION_ORDERS;
50
74
  }
75
+ /** @deprecated Euler rotation orders are already represented as strings. */
51
76
  static rotationOrder(order) {
52
- return RotationOrder[order];
77
+ return order;
53
78
  }
54
79
  get ELEMENTS() {
55
80
  return 4;
@@ -61,7 +86,7 @@ export class Euler extends MathArray {
61
86
  * @param {Number=} [z]
62
87
  * @param {Number=} [order]
63
88
  */
64
- constructor(x = 0, y = 0, z = 0, order = Euler.DefaultOrder) {
89
+ constructor(x = 0, y = 0, z = 0, order = 'zyx') {
65
90
  // PERF NOTE: initialize elements as double precision numbers
66
91
  super(-0, -0, -0, -0);
67
92
  // eslint-disable-next-line prefer-rest-params
@@ -87,7 +112,7 @@ export class Euler extends MathArray {
87
112
  const roll = Math.atan2(t3, t4);
88
113
  const pitch = Math.asin(t2);
89
114
  const yaw = Math.atan2(t1, t0);
90
- return this.set(roll, pitch, yaw, Euler.RollPitchYaw);
115
+ return this.set(roll, pitch, yaw, 'zyx');
91
116
  }
92
117
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
93
118
  fromObject(object) {
@@ -103,8 +128,9 @@ export class Euler extends MathArray {
103
128
  this[0] = array[0];
104
129
  this[1] = array[1];
105
130
  this[2] = array[2];
106
- // @ts-expect-error
107
- this[3] = Number.isFinite(array[3]) || this.order;
131
+ if (Number.isFinite(array[3]) && validateOrder(array[3])) {
132
+ this[3] = array[3];
133
+ }
108
134
  return this.check();
109
135
  }
110
136
  // Sets the three angles, and optionally sets the rotation order
@@ -113,7 +139,7 @@ export class Euler extends MathArray {
113
139
  this[0] = x;
114
140
  this[1] = y;
115
141
  this[2] = z;
116
- this[3] = Number.isFinite(order) ? order : this[3];
142
+ this[3] = order ? checkOrder(order) : this[3];
117
143
  return this.check();
118
144
  }
119
145
  validate() {
@@ -222,14 +248,14 @@ export class Euler extends MathArray {
222
248
  }
223
249
  // rotation order, in all three angle notations
224
250
  get order() {
225
- return this[3];
251
+ return getOrder(this[3]);
226
252
  }
227
253
  set order(value) {
228
254
  this[3] = checkOrder(value);
229
255
  }
230
256
  // Constructors
231
- fromVector3(v, order) {
232
- return this.set(v[0], v[1], v[2], Number.isFinite(order) ? order : this[3]);
257
+ fromVector3(v, order = this.order) {
258
+ return this.set(v[0], v[1], v[2], order);
233
259
  }
234
260
  // TODO - with and without 4th element
235
261
  fromArray(array, offset = 0) {
@@ -243,9 +269,9 @@ export class Euler extends MathArray {
243
269
  }
244
270
  // Common ZYX rotation order
245
271
  fromRollPitchYaw(roll, pitch, yaw) {
246
- return this.set(roll, pitch, yaw, RotationOrder.ZYX);
272
+ return this.set(roll, pitch, yaw, 'zyx');
247
273
  }
248
- fromRotationMatrix(m, order = Euler.DefaultOrder) {
274
+ fromRotationMatrix(m, order = 'zyx') {
249
275
  this._fromRotationMatrix(m, order);
250
276
  return this.check();
251
277
  }
@@ -257,17 +283,17 @@ export class Euler extends MathArray {
257
283
  getQuaternion() {
258
284
  const q = new Quaternion();
259
285
  switch (this[3]) {
260
- case RotationOrder.XYZ:
286
+ case RotationOrderIndex.XYZ:
261
287
  return q.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);
262
- case RotationOrder.YXZ:
288
+ case RotationOrderIndex.YXZ:
263
289
  return q.rotateY(this[1]).rotateX(this[0]).rotateZ(this[2]);
264
- case RotationOrder.ZXY:
290
+ case RotationOrderIndex.ZXY:
265
291
  return q.rotateZ(this[2]).rotateX(this[0]).rotateY(this[1]);
266
- case RotationOrder.ZYX:
292
+ case RotationOrderIndex.ZYX:
267
293
  return q.rotateZ(this[2]).rotateY(this[1]).rotateX(this[0]);
268
- case RotationOrder.YZX:
294
+ case RotationOrderIndex.YZX:
269
295
  return q.rotateY(this[1]).rotateZ(this[2]).rotateX(this[0]);
270
- case RotationOrder.XZY:
296
+ case RotationOrderIndex.XZY:
271
297
  return q.rotateX(this[0]).rotateZ(this[2]).rotateY(this[1]);
272
298
  default:
273
299
  throw new Error(ERR_UNKNOWN_ORDER);
@@ -281,14 +307,14 @@ export class Euler extends MathArray {
281
307
  // const q = new Quaternion().setFromEuler(this);
282
308
  // return this.setFromQuaternion(q, newOrder);
283
309
  /* eslint-disable complexity, max-statements, one-var */
284
- _fromRotationMatrix(m, order = Euler.DefaultOrder) {
310
+ _fromRotationMatrix(m, order = 'zyx') {
285
311
  // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)
286
312
  const m11 = m[0], m12 = m[4], m13 = m[8];
287
313
  const m21 = m[1], m22 = m[5], m23 = m[9];
288
314
  const m31 = m[2], m32 = m[6], m33 = m[10];
289
- order = order || this[3];
290
- switch (order) {
291
- case Euler.XYZ:
315
+ const orderIndex = order ? checkOrder(order) : this[3];
316
+ switch (orderIndex) {
317
+ case RotationOrderIndex.XYZ:
292
318
  this[1] = Math.asin(clamp(m13, -1, 1));
293
319
  if (Math.abs(m13) < ALMOST_ONE) {
294
320
  this[0] = Math.atan2(-m23, m33);
@@ -299,7 +325,7 @@ export class Euler extends MathArray {
299
325
  this[2] = 0;
300
326
  }
301
327
  break;
302
- case Euler.YXZ:
328
+ case RotationOrderIndex.YXZ:
303
329
  this[0] = Math.asin(-clamp(m23, -1, 1));
304
330
  if (Math.abs(m23) < ALMOST_ONE) {
305
331
  this[1] = Math.atan2(m13, m33);
@@ -310,7 +336,7 @@ export class Euler extends MathArray {
310
336
  this[2] = 0;
311
337
  }
312
338
  break;
313
- case Euler.ZXY:
339
+ case RotationOrderIndex.ZXY:
314
340
  this[0] = Math.asin(clamp(m32, -1, 1));
315
341
  if (Math.abs(m32) < ALMOST_ONE) {
316
342
  this[1] = Math.atan2(-m31, m33);
@@ -321,7 +347,7 @@ export class Euler extends MathArray {
321
347
  this[2] = Math.atan2(m21, m11);
322
348
  }
323
349
  break;
324
- case Euler.ZYX:
350
+ case RotationOrderIndex.ZYX:
325
351
  this[1] = Math.asin(-clamp(m31, -1, 1));
326
352
  if (Math.abs(m31) < ALMOST_ONE) {
327
353
  this[0] = Math.atan2(m32, m33);
@@ -332,7 +358,7 @@ export class Euler extends MathArray {
332
358
  this[2] = Math.atan2(-m12, m22);
333
359
  }
334
360
  break;
335
- case Euler.YZX:
361
+ case RotationOrderIndex.YZX:
336
362
  this[2] = Math.asin(clamp(m21, -1, 1));
337
363
  if (Math.abs(m21) < ALMOST_ONE) {
338
364
  this[0] = Math.atan2(-m23, m22);
@@ -343,7 +369,7 @@ export class Euler extends MathArray {
343
369
  this[1] = Math.atan2(m13, m33);
344
370
  }
345
371
  break;
346
- case Euler.XZY:
372
+ case RotationOrderIndex.XZY:
347
373
  this[2] = Math.asin(-clamp(m12, -1, 1));
348
374
  if (Math.abs(m12) < ALMOST_ONE) {
349
375
  this[0] = Math.atan2(m32, m22);
@@ -357,7 +383,7 @@ export class Euler extends MathArray {
357
383
  default:
358
384
  throw new Error(ERR_UNKNOWN_ORDER);
359
385
  }
360
- this[3] = order;
386
+ this[3] = orderIndex;
361
387
  return this;
362
388
  }
363
389
  _getRotationMatrix(result) {
@@ -370,7 +396,7 @@ export class Euler extends MathArray {
370
396
  const d = Math.sin(y);
371
397
  const f = Math.sin(z);
372
398
  switch (this[3]) {
373
- case Euler.XYZ: {
399
+ case RotationOrderIndex.XYZ: {
374
400
  const ae = a * e, af = a * f, be = b * e, bf = b * f;
375
401
  te[0] = c * e;
376
402
  te[4] = -c * f;
@@ -383,7 +409,7 @@ export class Euler extends MathArray {
383
409
  te[10] = a * c;
384
410
  break;
385
411
  }
386
- case Euler.YXZ: {
412
+ case RotationOrderIndex.YXZ: {
387
413
  const ce = c * e, cf = c * f, de = d * e, df = d * f;
388
414
  te[0] = ce + df * b;
389
415
  te[4] = de * b - cf;
@@ -396,7 +422,7 @@ export class Euler extends MathArray {
396
422
  te[10] = a * c;
397
423
  break;
398
424
  }
399
- case Euler.ZXY: {
425
+ case RotationOrderIndex.ZXY: {
400
426
  const ce = c * e, cf = c * f, de = d * e, df = d * f;
401
427
  te[0] = ce - df * b;
402
428
  te[4] = -a * f;
@@ -409,7 +435,7 @@ export class Euler extends MathArray {
409
435
  te[10] = a * c;
410
436
  break;
411
437
  }
412
- case Euler.ZYX: {
438
+ case RotationOrderIndex.ZYX: {
413
439
  const ae = a * e, af = a * f, be = b * e, bf = b * f;
414
440
  te[0] = c * e;
415
441
  te[4] = be * d - af;
@@ -422,7 +448,7 @@ export class Euler extends MathArray {
422
448
  te[10] = a * c;
423
449
  break;
424
450
  }
425
- case Euler.YZX: {
451
+ case RotationOrderIndex.YZX: {
426
452
  const ac = a * c, ad = a * d, bc = b * c, bd = b * d;
427
453
  te[0] = c * e;
428
454
  te[4] = bd - ac * f;
@@ -435,7 +461,7 @@ export class Euler extends MathArray {
435
461
  te[10] = ac - bd * f;
436
462
  break;
437
463
  }
438
- case Euler.XZY: {
464
+ case RotationOrderIndex.XZY: {
439
465
  const ac = a * c, ad = a * d, bc = b * c, bd = b * d;
440
466
  te[0] = c * e;
441
467
  te[4] = -f;
@@ -482,9 +508,28 @@ function validateOrder(value) {
482
508
  return value >= 0 && value < 6;
483
509
  }
484
510
  function checkOrder(value) {
485
- if (value < 0 && value >= 6) {
511
+ const order = ROTATION_ORDER_INDICES[value];
512
+ if (order === undefined) {
486
513
  throw new Error(ERR_UNKNOWN_ORDER);
487
514
  }
488
- return value;
515
+ return order;
516
+ }
517
+ function getOrder(value) {
518
+ switch (value) {
519
+ case RotationOrderIndex.ZYX:
520
+ return 'zyx';
521
+ case RotationOrderIndex.YXZ:
522
+ return 'yxz';
523
+ case RotationOrderIndex.XZY:
524
+ return 'xzy';
525
+ case RotationOrderIndex.ZXY:
526
+ return 'zxy';
527
+ case RotationOrderIndex.YZX:
528
+ return 'yzx';
529
+ case RotationOrderIndex.XYZ:
530
+ return 'xyz';
531
+ default:
532
+ throw new Error(ERR_UNKNOWN_ORDER);
533
+ }
489
534
  }
490
535
  //# sourceMappingURL=euler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"euler.js","sourceRoot":"","sources":["../../src/classes/euler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"euler.js","sourceRoot":"","sources":["../../src/classes/euler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pose.d.ts","sourceRoot":"","sources":["../../src/classes/pose.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAClC,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAClC,OAAO,EAAC,KAAK,EAAC,mBAAgB;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,IAAI;IACf,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;gBAEhB,EACV,CAAK,EACL,CAAK,EACL,CAAK,EACL,IAAQ,EACR,KAAS,EACT,GAAO,EACP,QAAQ,EACR,WAAW,EACZ,GAAE,WAAgB;IAcnB,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAEpB;IAED,WAAW,IAAI,OAAO;IAItB,cAAc,IAAI,KAAK;IAIvB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAO3B,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAShC,uBAAuB,IAAI,OAAO;IA8BlC,+BAA+B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAMpD,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;CAKnD"}
1
+ {"version":3,"file":"pose.d.ts","sourceRoot":"","sources":["../../src/classes/pose.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAClC,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAClC,OAAO,EAAC,KAAK,EAAC,mBAAgB;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,IAAI;IACf,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;gBAEhB,EACV,CAAK,EACL,CAAK,EACL,CAAK,EACL,IAAQ,EACR,KAAS,EACT,GAAO,EACP,QAAQ,EACR,WAAW,EACZ,GAAE,WAAgB;IAanB,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAEpB;IAED,WAAW,IAAI,OAAO;IAItB,cAAc,IAAI,KAAK;IAIvB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAO3B,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAShC,uBAAuB,IAAI,OAAO;IA8BlC,+BAA+B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAMpD,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;CAKnD"}
@@ -14,11 +14,10 @@ export class Pose {
14
14
  this.position = new Vector3(x, y, z);
15
15
  }
16
16
  if (Array.isArray(orientation) && orientation.length === 4) {
17
- // @ts-expect-error
18
- this.orientation = new Euler(orientation, orientation[3]);
17
+ this.orientation = new Euler().fromArray(orientation);
19
18
  }
20
19
  else {
21
- this.orientation = new Euler(roll, pitch, yaw, Euler.RollPitchYaw);
20
+ this.orientation = new Euler(roll, pitch, yaw, 'zyx');
22
21
  }
23
22
  }
24
23
  get x() {
@@ -1 +1 @@
1
- {"version":3,"file":"pose.js","sourceRoot":"","sources":["../../src/classes/pose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pose.js","sourceRoot":"","sources":["../../src/classes/pose.ts"],"names":[],"mappings":"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"}