@math.gl/core 3.6.0-alpha.1 → 3.6.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 (188) hide show
  1. package/dist/classes/base/math-array.d.ts +61 -31
  2. package/dist/classes/base/math-array.d.ts.map +1 -1
  3. package/dist/classes/base/math-array.js +67 -65
  4. package/dist/classes/base/matrix.d.ts +12 -10
  5. package/dist/classes/base/matrix.d.ts.map +1 -1
  6. package/dist/classes/base/matrix.js +2 -10
  7. package/dist/classes/base/vector.d.ts +37 -25
  8. package/dist/classes/base/vector.d.ts.map +1 -1
  9. package/dist/classes/base/vector.js +17 -24
  10. package/dist/classes/euler.d.ts +59 -55
  11. package/dist/classes/euler.d.ts.map +1 -1
  12. package/dist/classes/euler.js +57 -77
  13. package/dist/classes/matrix3.d.ts +58 -41
  14. package/dist/classes/matrix3.d.ts.map +1 -1
  15. package/dist/classes/matrix3.js +68 -59
  16. package/dist/classes/matrix4.d.ts +214 -90
  17. package/dist/classes/matrix4.d.ts.map +1 -1
  18. package/dist/classes/matrix4.js +252 -171
  19. package/dist/classes/pose.d.ts +29 -26
  20. package/dist/classes/pose.d.ts.map +1 -1
  21. package/dist/classes/pose.js +6 -23
  22. package/dist/classes/quaternion.d.ts +61 -40
  23. package/dist/classes/quaternion.d.ts.map +1 -1
  24. package/dist/classes/quaternion.js +49 -53
  25. package/dist/classes/spherical-coordinates.d.ts +45 -25
  26. package/dist/classes/spherical-coordinates.d.ts.map +1 -1
  27. package/dist/classes/spherical-coordinates.js +30 -24
  28. package/dist/classes/vector2.d.ts +51 -15
  29. package/dist/classes/vector2.d.ts.map +1 -1
  30. package/dist/classes/vector2.js +29 -23
  31. package/dist/classes/vector3.d.ts +47 -32
  32. package/dist/classes/vector3.d.ts.map +1 -1
  33. package/dist/classes/vector3.js +16 -30
  34. package/dist/classes/vector4.d.ts +37 -19
  35. package/dist/classes/vector4.d.ts.map +1 -1
  36. package/dist/classes/vector4.js +12 -24
  37. package/dist/es5/classes/base/math-array.js +248 -179
  38. package/dist/es5/classes/base/math-array.js.map +1 -1
  39. package/dist/es5/classes/base/matrix.js +74 -54
  40. package/dist/es5/classes/base/matrix.js.map +1 -1
  41. package/dist/es5/classes/base/vector.js +167 -121
  42. package/dist/es5/classes/base/vector.js.map +1 -1
  43. package/dist/es5/classes/euler.js +575 -480
  44. package/dist/es5/classes/euler.js.map +1 -1
  45. package/dist/es5/classes/matrix3.js +234 -158
  46. package/dist/es5/classes/matrix3.js.map +1 -1
  47. package/dist/es5/classes/matrix4.js +510 -417
  48. package/dist/es5/classes/matrix4.js.map +1 -1
  49. package/dist/es5/classes/pose.js +126 -101
  50. package/dist/es5/classes/pose.js.map +1 -1
  51. package/dist/es5/classes/quaternion.js +285 -213
  52. package/dist/es5/classes/quaternion.js.map +1 -1
  53. package/dist/es5/classes/spherical-coordinates.js +170 -125
  54. package/dist/es5/classes/spherical-coordinates.js.map +1 -1
  55. package/dist/es5/classes/vector2.js +118 -76
  56. package/dist/es5/classes/vector2.js.map +1 -1
  57. package/dist/es5/classes/vector3.js +171 -119
  58. package/dist/es5/classes/vector3.js.map +1 -1
  59. package/dist/es5/classes/vector4.js +141 -94
  60. package/dist/es5/classes/vector4.js.map +1 -1
  61. package/dist/es5/index.js +34 -34
  62. package/dist/es5/lib/common.js +56 -30
  63. package/dist/es5/lib/common.js.map +1 -1
  64. package/dist/es5/lib/gl-matrix-extras.js +14 -14
  65. package/dist/es5/lib/gl-matrix-extras.js.map +1 -1
  66. package/dist/es5/lib/gl-matrix.d.js +2 -0
  67. package/dist/es5/lib/gl-matrix.d.js.map +1 -0
  68. package/dist/es5/lib/validators.js +5 -3
  69. package/dist/es5/lib/validators.js.map +1 -1
  70. package/dist/esm/classes/base/math-array.js +45 -47
  71. package/dist/esm/classes/base/math-array.js.map +1 -1
  72. package/dist/esm/classes/base/matrix.js +0 -11
  73. package/dist/esm/classes/base/matrix.js.map +1 -1
  74. package/dist/esm/classes/base/vector.js +0 -10
  75. package/dist/esm/classes/base/vector.js.map +1 -1
  76. package/dist/esm/classes/euler.js +61 -48
  77. package/dist/esm/classes/euler.js.map +1 -1
  78. package/dist/esm/classes/matrix3.js +55 -33
  79. package/dist/esm/classes/matrix3.js.map +1 -1
  80. package/dist/esm/classes/matrix4.js +156 -136
  81. package/dist/esm/classes/matrix4.js.map +1 -1
  82. package/dist/esm/classes/pose.js +8 -4
  83. package/dist/esm/classes/pose.js.map +1 -1
  84. package/dist/esm/classes/quaternion.js +37 -27
  85. package/dist/esm/classes/quaternion.js.map +1 -1
  86. package/dist/esm/classes/spherical-coordinates.js +15 -5
  87. package/dist/esm/classes/spherical-coordinates.js.map +1 -1
  88. package/dist/esm/classes/vector2.js.map +1 -1
  89. package/dist/esm/classes/vector3.js +7 -2
  90. package/dist/esm/classes/vector3.js.map +1 -1
  91. package/dist/esm/classes/vector4.js +7 -2
  92. package/dist/esm/classes/vector4.js.map +1 -1
  93. package/dist/esm/lib/common.js +8 -8
  94. package/dist/esm/lib/common.js.map +1 -1
  95. package/dist/esm/lib/gl-matrix-extras.js.map +1 -1
  96. package/dist/esm/lib/gl-matrix.d.js +2 -0
  97. package/dist/esm/lib/gl-matrix.d.js.map +1 -0
  98. package/dist/esm/lib/validators.js.map +1 -1
  99. package/dist/lib/common.d.ts +14 -11
  100. package/dist/lib/common.d.ts.map +1 -1
  101. package/dist/lib/common.js +10 -23
  102. package/dist/lib/gl-matrix-extras.d.ts +6 -5
  103. package/dist/lib/gl-matrix-extras.d.ts.map +1 -1
  104. package/dist/lib/gl-matrix-extras.js +0 -1
  105. package/dist/lib/validators.d.ts +5 -4
  106. package/dist/lib/validators.d.ts.map +1 -1
  107. package/dist/lib/validators.js +0 -19
  108. package/package.json +4 -4
  109. package/src/classes/base/math-array.ts +265 -0
  110. package/src/classes/base/{matrix.js → matrix.ts} +15 -19
  111. package/src/classes/base/{vector.js → vector.ts} +47 -54
  112. package/src/classes/{euler.js → euler.ts} +121 -221
  113. package/src/classes/matrix3.ts +253 -0
  114. package/src/classes/matrix4.ts +668 -0
  115. package/src/classes/{pose.js → pose.ts} +52 -49
  116. package/src/classes/{quaternion.js → quaternion.ts} +107 -95
  117. package/src/classes/{spherical-coordinates.js → spherical-coordinates.ts} +84 -54
  118. package/src/classes/vector2.ts +127 -0
  119. package/src/classes/{vector3.js → vector3.ts} +43 -55
  120. package/src/classes/{vector4.js → vector4.ts} +44 -48
  121. package/src/lib/common.ts +58 -37
  122. package/src/lib/gl-matrix-extras.ts +26 -5
  123. package/src/lib/gl-matrix.d.ts +266 -0
  124. package/src/lib/validators.ts +10 -6
  125. package/dist/es5/classes/base/math-array.d.js +0 -46
  126. package/dist/es5/classes/base/math-array.d.js.map +0 -1
  127. package/dist/es5/classes/base/matrix.d.js +0 -15
  128. package/dist/es5/classes/base/matrix.d.js.map +0 -1
  129. package/dist/es5/classes/base/vector.d.js +0 -24
  130. package/dist/es5/classes/base/vector.d.js.map +0 -1
  131. package/dist/es5/classes/euler.d.js +0 -45
  132. package/dist/es5/classes/euler.d.js.map +0 -1
  133. package/dist/es5/classes/matrix3.d.js +0 -25
  134. package/dist/es5/classes/matrix3.d.js.map +0 -1
  135. package/dist/es5/classes/matrix4.d.js +0 -25
  136. package/dist/es5/classes/matrix4.d.js.map +0 -1
  137. package/dist/es5/classes/pose.d.js +0 -25
  138. package/dist/es5/classes/pose.d.js.map +0 -1
  139. package/dist/es5/classes/quaternion.d.js +0 -27
  140. package/dist/es5/classes/quaternion.d.js.map +0 -1
  141. package/dist/es5/classes/spherical-coordinates.d.js +0 -27
  142. package/dist/es5/classes/spherical-coordinates.d.js.map +0 -1
  143. package/dist/es5/classes/vector2.d.js +0 -18
  144. package/dist/es5/classes/vector2.d.js.map +0 -1
  145. package/dist/es5/classes/vector3.d.js +0 -24
  146. package/dist/es5/classes/vector3.d.js.map +0 -1
  147. package/dist/es5/classes/vector4.d.js +0 -25
  148. package/dist/es5/classes/vector4.d.js.map +0 -1
  149. package/dist/esm/classes/base/math-array.d.js +0 -36
  150. package/dist/esm/classes/base/math-array.d.js.map +0 -1
  151. package/dist/esm/classes/base/matrix.d.js +0 -3
  152. package/dist/esm/classes/base/matrix.d.js.map +0 -1
  153. package/dist/esm/classes/base/vector.d.js +0 -13
  154. package/dist/esm/classes/base/vector.d.js.map +0 -1
  155. package/dist/esm/classes/euler.d.js +0 -55
  156. package/dist/esm/classes/euler.d.js.map +0 -1
  157. package/dist/esm/classes/matrix3.d.js +0 -15
  158. package/dist/esm/classes/matrix3.d.js.map +0 -1
  159. package/dist/esm/classes/matrix4.d.js +0 -15
  160. package/dist/esm/classes/matrix4.d.js.map +0 -1
  161. package/dist/esm/classes/pose.d.js +0 -18
  162. package/dist/esm/classes/pose.d.js.map +0 -1
  163. package/dist/esm/classes/quaternion.d.js +0 -19
  164. package/dist/esm/classes/quaternion.d.js.map +0 -1
  165. package/dist/esm/classes/spherical-coordinates.d.js +0 -22
  166. package/dist/esm/classes/spherical-coordinates.d.js.map +0 -1
  167. package/dist/esm/classes/vector2.d.js +0 -6
  168. package/dist/esm/classes/vector2.d.js.map +0 -1
  169. package/dist/esm/classes/vector3.d.js +0 -13
  170. package/dist/esm/classes/vector3.d.js.map +0 -1
  171. package/dist/esm/classes/vector4.d.js +0 -15
  172. package/dist/esm/classes/vector4.d.js.map +0 -1
  173. package/src/classes/base/math-array.d.ts +0 -55
  174. package/src/classes/base/math-array.js +0 -250
  175. package/src/classes/base/matrix.d.ts +0 -15
  176. package/src/classes/base/vector.d.ts +0 -45
  177. package/src/classes/euler.d.ts +0 -92
  178. package/src/classes/matrix3.d.ts +0 -91
  179. package/src/classes/matrix3.js +0 -225
  180. package/src/classes/matrix4.d.ts +0 -161
  181. package/src/classes/matrix4.js +0 -530
  182. package/src/classes/pose.d.ts +0 -92
  183. package/src/classes/quaternion.d.ts +0 -107
  184. package/src/classes/spherical-coordinates.d.ts +0 -87
  185. package/src/classes/vector2.d.ts +0 -65
  186. package/src/classes/vector2.js +0 -122
  187. package/src/classes/vector3.d.ts +0 -65
  188. package/src/classes/vector4.d.ts +0 -34
@@ -1,14 +1,26 @@
1
- export default class Euler extends MathArray<any> {
2
- static get ZYX(): number;
3
- static get YXZ(): number;
4
- static get XZY(): number;
5
- static get ZXY(): number;
6
- static get YZX(): number;
7
- static get XYZ(): number;
8
- static get RollPitchYaw(): number;
9
- static get DefaultOrder(): number;
10
- static get RotationOrders(): string[];
11
- static rotationOrder(order: any): string;
1
+ import MathArray from './base/math-array';
2
+ import Quaternion from './quaternion';
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
+ }
12
+ export default 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;
23
+ get ELEMENTS(): number;
12
24
  /**
13
25
  * @class
14
26
  * @param {Number | Number[]} x
@@ -16,58 +28,50 @@ export default class Euler extends MathArray<any> {
16
28
  * @param {Number=} [z]
17
29
  * @param {Number=} [order]
18
30
  */
19
- constructor(x?: number | number[], y?: number | undefined, z?: number | undefined, order?: number | undefined, ...args: any[]);
20
- fromQuaternion(quaternion: any): Euler;
21
- copy(array: any): any;
22
- 0: any;
23
- 1: any;
24
- 2: any;
25
- 3: any;
26
- set(x: number, y: number, z: number, order: any): any;
31
+ constructor(x?: number, y?: number, z?: number, order?: RotationOrder);
32
+ fromQuaternion(quaternion: Readonly<NumericArray>): this;
33
+ fromObject(object: object): this;
34
+ copy(array: Readonly<NumericArray>): this;
35
+ set(x: number, y: number, z: number, order: RotationOrder): this;
27
36
  validate(): boolean;
28
- toArray4(array?: any[], offset?: number): any[];
29
- toVector3(result?: number[]): number[];
30
- set x(arg: number);
31
- /** @type {number} */
37
+ toArray(array?: NumericArray, offset?: number): NumericArray;
38
+ toArray4(array?: NumericArray, offset?: number): NumericArray;
39
+ toVector3(result?: NumericArray): NumericArray;
32
40
  get x(): number;
33
- set y(arg: number);
34
- /** @type {number} */
41
+ set x(value: number);
35
42
  get y(): number;
36
- set z(arg: number);
37
- /** @type {number} */
43
+ set y(value: number);
38
44
  get z(): number;
39
- set alpha(arg: any);
40
- get alpha(): any;
41
- set beta(arg: any);
42
- get beta(): any;
43
- set gamma(arg: any);
44
- get gamma(): any;
45
- set phi(arg: any);
46
- get phi(): any;
47
- set theta(arg: any);
48
- get theta(): any;
49
- set psi(arg: any);
50
- get psi(): any;
51
- set roll(arg: number);
52
- /** @type {number} */
45
+ set z(value: number);
46
+ get alpha(): number;
47
+ set alpha(value: number);
48
+ get beta(): number;
49
+ set beta(value: number);
50
+ get gamma(): number;
51
+ set gamma(value: number);
52
+ get phi(): number;
53
+ set phi(value: number);
54
+ get theta(): number;
55
+ set theta(value: number);
56
+ get psi(): number;
57
+ set psi(value: number);
53
58
  get roll(): number;
54
- set pitch(arg: number);
55
- /** @type {number} */
59
+ set roll(value: number);
56
60
  get pitch(): number;
57
- set yaw(arg: number);
58
- /** @type {number} */
61
+ set pitch(value: number);
59
62
  get yaw(): number;
60
- set order(arg: any);
61
- get order(): any;
62
- fromVector3(v: any, order: any): any;
63
- fromRollPitchYaw(roll: any, pitch: any, yaw: any): any;
64
- fromRotationMatrix(m: any, order?: number): any;
65
- getRotationMatrix(m: any): any;
63
+ set yaw(value: number);
64
+ get order(): RotationOrder;
65
+ set order(value: RotationOrder);
66
+ fromVector3(v: Readonly<NumericArray>, order: RotationOrder): this;
67
+ fromArray(array: Readonly<NumericArray>, offset?: number): this;
68
+ fromRollPitchYaw(roll: number, pitch: number, yaw: number): this;
69
+ fromRotationMatrix(m: Readonly<NumericArray>, order?: RotationOrder): this;
70
+ getRotationMatrix(m: NumericArray): NumericArray;
66
71
  getQuaternion(): Quaternion;
67
- _fromRotationMatrix(m: any, order?: number): Euler;
68
- _getRotationMatrix(result: any): any;
72
+ _fromRotationMatrix(m: Readonly<NumericArray>, order?: RotationOrder): this;
73
+ _getRotationMatrix(result: NumericArray): NumericArray;
69
74
  toQuaternion(): Quaternion;
70
75
  }
71
- import MathArray from "./base/math-array";
72
- import Quaternion from "./quaternion";
76
+ export {};
73
77
  //# sourceMappingURL=euler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"euler.d.ts","sourceRoot":"","sources":["../../src/classes/euler.js"],"names":[],"mappings":"AAwCA;IAYE,yBAEC;IAED,yBAEC;IAED,yBAEC;IAED,yBAEC;IAED,yBAEC;IAED,yBAEC;IAED,kCAEC;IAED,kCAEC;IAED,sCAEC;IAED,yCAEC;IAQD;;;;;;OAMG;IACH,gBALW,SAAS,QAAQ,8FAgB3B;IAED,uCAiBC;IAQD,sBAMC;IALC,OAAkB;IAClB,OAAkB;IAClB,OAAkB;IAClB,OAAiD;IAMnD,sDAMC;IAED,oBAOC;IAWD,gDAMC;IAED,uCAKC;IAUD,mBAEC;IAPD,qBAAqB;IACrB,gBAEC;IAWD,mBAEC;IAPD,qBAAqB;IACrB,gBAEC;IAWD,mBAEC;IAPD,qBAAqB;IACrB,gBAEC;IAWD,oBAEC;IAND,iBAEC;IAUD,mBAEC;IAND,gBAEC;IAUD,oBAEC;IAND,iBAEC;IAWD,kBAEC;IAND,eAEC;IAUD,oBAEC;IAND,iBAEC;IAUD,kBAEC;IAND,eAEC;IAYD,sBAEC;IAPD,qBAAqB;IACrB,mBAEC;IAWD,uBAEC;IAPD,qBAAqB;IACrB,oBAEC;IAWD,qBAEC;IAPD,qBAAqB;IACrB,kBAEC;IAWD,oBAEC;IAND,iBAEC;IASD,qCAEC;IAcD,uDAEC;IAED,gDAGC;IAID,+BAEC;IAGD,4BAkBC;IAaD,mDAgGC;IAED,qCAsJC;IAED,2BAeC;CACF"}
1
+ {"version":3,"file":"euler.d.ts","sourceRoot":"","sources":["../../src/classes/euler.ts"],"names":[],"mappings":"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"}
@@ -1,83 +1,56 @@
1
1
  // Copyright (c) 2017 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
2
+ // MIT License
20
3
  import MathArray from './base/math-array';
4
+ import Quaternion from './quaternion';
21
5
  import { clamp } from '../lib/common';
22
6
  import { checkNumber } from '../lib/validators';
23
- import Quaternion from './quaternion';
24
7
  // Internal constants
25
8
  const ERR_UNKNOWN_ORDER = 'Unknown Euler angle order';
26
9
  const ALMOST_ONE = 0.99999;
27
- function validateOrder(value) {
28
- return value >= 0 && value < 6;
29
- }
30
- function checkOrder(value) {
31
- if (value < 0 && value >= 6) {
32
- throw new Error(ERR_UNKNOWN_ORDER);
33
- }
34
- return value;
35
- }
10
+ var RotationOrder;
11
+ (function (RotationOrder) {
12
+ RotationOrder[RotationOrder["ZYX"] = 0] = "ZYX";
13
+ RotationOrder[RotationOrder["YXZ"] = 1] = "YXZ";
14
+ RotationOrder[RotationOrder["XZY"] = 2] = "XZY";
15
+ RotationOrder[RotationOrder["ZXY"] = 3] = "ZXY";
16
+ RotationOrder[RotationOrder["YZX"] = 4] = "YZX";
17
+ RotationOrder[RotationOrder["XYZ"] = 5] = "XYZ";
18
+ })(RotationOrder || (RotationOrder = {}));
36
19
  export default class Euler extends MathArray {
37
- // static XYZ = 0;
38
- // static YZX = 1;
39
- // static ZXY = 2;
40
- // static XZY = 3;
41
- // static YXZ = 4;
42
- // static ZYX = 5;
43
- // static RollPitchYaw = 0;
44
- // static DefaultOrder = 0;
45
20
  // Constants
46
- /* eslint-disable no-multi-spaces, brace-style, no-return-assign */
47
21
  static get ZYX() {
48
- return 0;
22
+ return RotationOrder.ZYX;
49
23
  }
50
24
  static get YXZ() {
51
- return 1;
25
+ return RotationOrder.YXZ;
52
26
  }
53
27
  static get XZY() {
54
- return 2;
28
+ return RotationOrder.XZY;
55
29
  }
56
30
  static get ZXY() {
57
- return 3;
31
+ return RotationOrder.ZXY;
58
32
  }
59
33
  static get YZX() {
60
- return 4;
34
+ return RotationOrder.YZX;
61
35
  }
62
36
  static get XYZ() {
63
- return 5;
37
+ return RotationOrder.XYZ;
64
38
  }
65
39
  static get RollPitchYaw() {
66
- return 0;
40
+ return RotationOrder.ZYX;
67
41
  }
68
42
  static get DefaultOrder() {
69
- return Euler.ZYX;
43
+ return RotationOrder.ZYX;
70
44
  }
71
45
  static get RotationOrders() {
72
- return ['ZYX', 'YXZ', 'XZY', 'ZXY', 'YZX', 'XYZ'];
46
+ return RotationOrder;
73
47
  }
74
48
  static rotationOrder(order) {
75
- return Euler.RotationOrders[order];
49
+ return RotationOrder[order];
76
50
  }
77
51
  get ELEMENTS() {
78
52
  return 4;
79
53
  }
80
- /* eslint-enable no-multi-spaces, brace-style, no-return-assign */
81
54
  /**
82
55
  * @class
83
56
  * @param {Number | Number[]} x
@@ -91,27 +64,31 @@ export default class Euler extends MathArray {
91
64
  // eslint-disable-next-line prefer-rest-params
92
65
  if (arguments.length > 0 && Array.isArray(arguments[0])) {
93
66
  // eslint-disable-next-line prefer-rest-params
67
+ // @ts-expect-error
94
68
  this.fromVector3(...arguments);
95
69
  }
96
70
  else {
97
- // @ts-ignore error TS2345: Argument of type 'number | [number, number, number, number]' not assignable to 'number'
98
71
  this.set(x, y, z, order);
99
72
  }
100
73
  }
101
74
  fromQuaternion(quaternion) {
102
75
  const [x, y, z, w] = quaternion;
103
76
  const ysqr = y * y;
104
- const t0 = -2.0 * (ysqr + z * z) + 1.0;
105
- const t1 = +2.0 * (x * y + w * z);
106
- let t2 = -2.0 * (x * z - w * y);
107
- const t3 = +2.0 * (y * z + w * x);
108
- const t4 = -2.0 * (x * x + ysqr) + 1.0;
109
- t2 = t2 > 1.0 ? 1.0 : t2;
110
- t2 = t2 < -1.0 ? -1.0 : t2;
77
+ const t0 = -2 * (ysqr + z * z) + 1;
78
+ const t1 = +2 * (x * y + w * z);
79
+ let t2 = -2 * (x * z - w * y);
80
+ const t3 = +2 * (y * z + w * x);
81
+ const t4 = -2 * (x * x + ysqr) + 1;
82
+ t2 = t2 > 1 ? 1 : t2;
83
+ t2 = t2 < -1 ? -1 : t2;
111
84
  const roll = Math.atan2(t3, t4);
112
85
  const pitch = Math.asin(t2);
113
86
  const yaw = Math.atan2(t1, t0);
114
- return new Euler(roll, pitch, yaw, Euler.RollPitchYaw);
87
+ return this.set(roll, pitch, yaw, Euler.RollPitchYaw);
88
+ }
89
+ fromObject(object) {
90
+ throw new Error('not implemented');
91
+ // return this.set(object.x, object.y, object.z, object.order);
115
92
  }
116
93
  // fromQuaternion(q, order) {
117
94
  // this._fromRotationMat[-0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0];
@@ -122,6 +99,7 @@ export default class Euler extends MathArray {
122
99
  this[0] = array[0];
123
100
  this[1] = array[1];
124
101
  this[2] = array[2];
102
+ // @ts-expect-error
125
103
  this[3] = Number.isFinite(array[3]) || this.order;
126
104
  return this.check();
127
105
  }
@@ -163,21 +141,18 @@ export default class Euler extends MathArray {
163
141
  }
164
142
  /* eslint-disable no-multi-spaces, brace-style, no-return-assign */
165
143
  // x, y, z angle notation (note: only corresponds to axis in XYZ orientation)
166
- /** @type {number} */
167
144
  get x() {
168
145
  return this[0];
169
146
  }
170
147
  set x(value) {
171
148
  this[0] = checkNumber(value);
172
149
  }
173
- /** @type {number} */
174
150
  get y() {
175
151
  return this[1];
176
152
  }
177
153
  set y(value) {
178
154
  this[1] = checkNumber(value);
179
155
  }
180
- /** @type {number} */
181
156
  get z() {
182
157
  return this[2];
183
158
  }
@@ -223,21 +198,18 @@ export default class Euler extends MathArray {
223
198
  this[2] = checkNumber(value);
224
199
  }
225
200
  // roll, pitch, yaw angle notation
226
- /** @type {number} */
227
201
  get roll() {
228
202
  return this[0];
229
203
  }
230
204
  set roll(value) {
231
205
  this[0] = checkNumber(value);
232
206
  }
233
- /** @type {number} */
234
207
  get pitch() {
235
208
  return this[1];
236
209
  }
237
210
  set pitch(value) {
238
211
  this[1] = checkNumber(value);
239
212
  }
240
- /** @type {number} */
241
213
  get yaw() {
242
214
  return this[2];
243
215
  }
@@ -251,7 +223,6 @@ export default class Euler extends MathArray {
251
223
  set order(value) {
252
224
  this[3] = checkOrder(value);
253
225
  }
254
- /* eslint-disable no-multi-spaces, brace-style, no-return-assign */
255
226
  // Constructors
256
227
  fromVector3(v, order) {
257
228
  return this.set(v[0], v[1], v[2], Number.isFinite(order) ? order : this[3]);
@@ -268,7 +239,7 @@ export default class Euler extends MathArray {
268
239
  }
269
240
  // Common ZYX rotation order
270
241
  fromRollPitchYaw(roll, pitch, yaw) {
271
- return this.set(roll, pitch, yaw, Euler.ZYX);
242
+ return this.set(roll, pitch, yaw, RotationOrder.ZYX);
272
243
  }
273
244
  fromRotationMatrix(m, order = Euler.DefaultOrder) {
274
245
  this._fromRotationMatrix(m, order);
@@ -281,25 +252,25 @@ export default class Euler extends MathArray {
281
252
  // TODO - move to Quaternion
282
253
  getQuaternion() {
283
254
  const q = new Quaternion();
284
- switch (this[3]) {
285
- case Euler.XYZ:
255
+ switch (this[4]) {
256
+ case RotationOrder.XYZ:
286
257
  return q.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);
287
- case Euler.YXZ:
258
+ case RotationOrder.YXZ:
288
259
  return q.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);
289
- case Euler.ZXY:
260
+ case RotationOrder.ZXY:
290
261
  return q.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);
291
- case Euler.ZYX:
262
+ case RotationOrder.ZYX:
292
263
  return q.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);
293
- case Euler.YZX:
264
+ case RotationOrder.YZX:
294
265
  return q.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);
295
- case Euler.XZY:
266
+ case RotationOrder.XZY:
296
267
  return q.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);
297
268
  default:
298
269
  throw new Error(ERR_UNKNOWN_ORDER);
299
270
  }
300
271
  }
301
272
  // INTERNAL METHODS
302
- // Concersion from Euler to rotation matrix and from matrix to Euler
273
+ // Conversion from Euler to rotation matrix and from matrix to Euler
303
274
  // Adapted from three.js under MIT license
304
275
  // // WARNING: this discards revolution information -bhouston
305
276
  // reorder(newOrder) {
@@ -308,10 +279,9 @@ export default class Euler extends MathArray {
308
279
  /* eslint-disable complexity, max-statements, one-var */
309
280
  _fromRotationMatrix(m, order = Euler.DefaultOrder) {
310
281
  // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)
311
- const te = m.elements;
312
- const m11 = te[0], m12 = te[4], m13 = te[8];
313
- const m21 = te[1], m22 = te[5], m23 = te[9];
314
- const m31 = te[2], m32 = te[6], m33 = te[10];
282
+ const m11 = m[0], m12 = m[4], m13 = m[8];
283
+ const m21 = m[1], m22 = m[5], m23 = m[9];
284
+ const m31 = m[2], m32 = m[6], m33 = m[10];
315
285
  order = order || this[3];
316
286
  switch (order) {
317
287
  case Euler.XYZ:
@@ -503,3 +473,13 @@ export default class Euler extends MathArray {
503
473
  return new Quaternion(x, y, z, w);
504
474
  }
505
475
  }
476
+ // HELPER FUNCTIONS
477
+ function validateOrder(value) {
478
+ return value >= 0 && value < 6;
479
+ }
480
+ function checkOrder(value) {
481
+ if (value < 0 && value >= 6) {
482
+ throw new Error(ERR_UNKNOWN_ORDER);
483
+ }
484
+ return value;
485
+ }
@@ -1,43 +1,60 @@
1
- export default class Matrix3 extends Matrix<any> {
2
- static get IDENTITY(): any;
3
- static get ZERO(): any;
4
- constructor(array: any, ...args: any[]);
5
- get INDICES(): Readonly<{
6
- COL0ROW0: number;
7
- COL0ROW1: number;
8
- COL0ROW2: number;
9
- COL1ROW0: number;
10
- COL1ROW1: number;
11
- COL1ROW2: number;
12
- COL2ROW0: number;
13
- COL2ROW1: number;
14
- COL2ROW2: number;
15
- }>;
16
- copy(array: any): any;
17
- 0: any;
18
- 1: any;
19
- 2: any;
20
- 3: any;
21
- 4: any;
22
- 5: any;
23
- 6: any;
24
- 7: any;
25
- 8: any;
26
- set(m00: any, m10: any, m20: any, m01: any, m11: any, m21: any, m02: any, m12: any, m22: any): any;
27
- setRowMajor(m00: any, m01: any, m02: any, m10: any, m11: any, m12: any, m20: any, m21: any, m22: any): any;
28
- determinant(): any;
29
- identity(): any;
30
- fromQuaternion(q: any): any;
31
- transpose(): any;
32
- invert(): any;
33
- multiplyLeft(a: any): any;
34
- multiplyRight(a: any): any;
35
- rotate(radians: any): any;
36
- translate(vec: any): any;
37
- transform(vector: any, result: any): any;
38
- transformVector(vector: any, result: any): any;
39
- transformVector2(vector: any, result: any): any;
40
- transformVector3(vector: any, result: any): any;
1
+ import Matrix from './base/matrix';
2
+ import { NumericArray } from '@math.gl/types';
3
+ declare enum INDICES {
4
+ COL0ROW0 = 0,
5
+ COL0ROW1 = 1,
6
+ COL0ROW2 = 2,
7
+ COL1ROW0 = 3,
8
+ COL1ROW1 = 4,
9
+ COL1ROW2 = 5,
10
+ COL2ROW0 = 6,
11
+ COL2ROW1 = 7,
12
+ COL2ROW2 = 8
41
13
  }
42
- import Matrix from "./base/matrix";
14
+ export default class Matrix3 extends Matrix {
15
+ static get IDENTITY(): Readonly<Matrix3>;
16
+ static get ZERO(): Readonly<Matrix3>;
17
+ get ELEMENTS(): number;
18
+ get RANK(): number;
19
+ get INDICES(): typeof INDICES;
20
+ constructor(array?: Readonly<NumericArray>);
21
+ /** @deprecated */
22
+ constructor(...args: number[]);
23
+ copy(array: Readonly<NumericArray>): this;
24
+ identity(): this;
25
+ /**
26
+ *
27
+ * @param object
28
+ * @returns self
29
+ */
30
+ fromObject(object: {
31
+ [key: string]: any;
32
+ }): this;
33
+ fromQuaternion(q: Readonly<NumericArray>): this;
34
+ /**
35
+ * accepts column major order, stores in column major order
36
+ */
37
+ set(m00: number, m10: number, m20: number, m01: number, m11: number, m21: number, m02: number, m12: number, m22: number): this;
38
+ /**
39
+ * accepts row major order, stores as column major
40
+ */
41
+ setRowMajor(m00: number, m01: number, m02: number, m10: number, m11: number, m12: number, m20: number, m21: number, m22: number): this;
42
+ determinant(): number;
43
+ transpose(): this;
44
+ /** Invert a matrix. Note that this can fail if the matrix is not invertible */
45
+ invert(): this;
46
+ multiplyLeft(a: NumericArray): this;
47
+ multiplyRight(a: NumericArray): this;
48
+ rotate(radians: number): NumericArray;
49
+ scale(factor: NumericArray | number): this;
50
+ translate(vec: NumericArray): this;
51
+ transform(vector: Readonly<NumericArray>, result?: NumericArray): NumericArray;
52
+ /** @deprecated */
53
+ transformVector(vector: Readonly<NumericArray>, result?: NumericArray): NumericArray;
54
+ /** @deprecated */
55
+ transformVector2(vector: Readonly<NumericArray>, result?: NumericArray): NumericArray;
56
+ /** @deprecated */
57
+ transformVector3(vector: Readonly<NumericArray>, result?: NumericArray): NumericArray;
58
+ }
59
+ export {};
43
60
  //# sourceMappingURL=matrix3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"matrix3.d.ts","sourceRoot":"","sources":["../../src/classes/matrix3.js"],"names":[],"mappings":"AAiDA;IACE,2BAGC;IAED,uBAGC;IAcD,wCAQC;IAZD;;;;;;;;;;OAEC;IAYD,sBAWC;IAVC,OAAkB;IAClB,OAAkB;IAClB,OAAkB;IAClB,OAAkB;IAClB,OAAkB;IAClB,OAAkB;IAClB,OAAkB;IAClB,OAAkB;IAClB,OAAkB;IAMpB,mGAWC;IAID,2GAWC;IAID,mBAEC;IAID,gBAEC;IAID,4BAGC;IAID,iBAGC;IAED,cAGC;IAID,0BAGC;IAED,2BAGC;IAED,0BAGC;IAYD,yBAGC;IAID,yCAgBC;IAID,+CAGC;IAED,gDAGC;IAED,gDAGC;CACF"}
1
+ {"version":3,"file":"matrix3.d.ts","sourceRoot":"","sources":["../../src/classes/matrix3.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,eAAe,CAAC;AAOnC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,aAAK,OAAO;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;CACb;AAID,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,MAAM;IACzC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAEvC;IAED,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAEnC;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,OAAO,OAAO,CAE5B;gBAEW,KAAK,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;IAC1C,kBAAkB;gBACN,GAAG,IAAI,EAAE,MAAM,EAAE;IAc7B,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI;IAgBzC,QAAQ,IAAI,IAAI;IAIhB;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAAG,IAAI;IAM9C,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI;IAK/C;;OAEG;IAEH,GAAG,CACD,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,IAAI;IAaP;;OAEG;IAEH,WAAW,CACT,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,IAAI;IAeP,WAAW,IAAI,MAAM;IAKrB,SAAS,IAAI,IAAI;IAKjB,+EAA+E;IAC/E,MAAM,IAAI,IAAI;IAMd,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAKnC,aAAa,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAKpC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAKrC,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAS1C,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAMlC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY;IAkB9E,kBAAkB;IAClB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY;IAIpF,kBAAkB;IAClB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY;IAIrF,kBAAkB;IAClB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY;CAGtF"}