@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,10 +1,20 @@
1
1
  // Copyright (c) 2017 Uber Technologies, Inc.
2
2
  // MIT License
3
3
  import {NumericArray} from '@math.gl/types';
4
- import Vector from './base/vector';
4
+ import {Vector} from './base/vector';
5
5
  import {config, isArray} from '../lib/common';
6
6
  import {checkNumber} from '../lib/validators';
7
- import * as vec3 from 'gl-matrix/vec3';
7
+ // @ts-ignore gl-matrix types
8
+ import {
9
+ angle as vec3_angle,
10
+ cross as vec3_cross,
11
+ rotateX as vec3_rotateX,
12
+ rotateY as vec3_rotateY,
13
+ rotateZ as vec3_rotateZ,
14
+ transformMat4 as vec3_transformMat4,
15
+ transformMat3 as vec3_transformMat3,
16
+ transformQuat as vec3_transformQuat
17
+ } from '../gl-matrix/vec3';
8
18
  /* eslint-disable camelcase */
9
19
  import {vec3_transformMat2, vec3_transformMat4AsVector} from '../lib/gl-matrix-extras';
10
20
 
@@ -16,7 +26,7 @@ let ZERO: Vector3;
16
26
  * Three-element vector class.
17
27
  * Subclass of Array<number>
18
28
  */
19
- export default class Vector3 extends Vector {
29
+ export class Vector3 extends Vector {
20
30
  static get ZERO(): Vector3 {
21
31
  if (!ZERO) {
22
32
  ZERO = new Vector3(0, 0, 0);
@@ -76,7 +86,11 @@ export default class Vector3 extends Vector {
76
86
  return this.check();
77
87
  }
78
88
 
79
- toObject(object: {x?: number; y?: number; z?: number}): {x: number; y: number; z: number} {
89
+ override toObject(object: {x?: number; y?: number; z?: number}): {
90
+ x: number;
91
+ y: number;
92
+ z: number;
93
+ } {
80
94
  object.x = this[0];
81
95
  object.y = this[1];
82
96
  object.z = this[2];
@@ -98,28 +112,28 @@ export default class Vector3 extends Vector {
98
112
  // ACCESSORS
99
113
 
100
114
  angle(vector: Readonly<NumericArray>): number {
101
- return vec3.angle(this, vector);
115
+ return vec3_angle(this, vector);
102
116
  }
103
117
 
104
118
  // MODIFIERS
105
119
 
106
120
  cross(vector: Readonly<NumericArray>): this {
107
- vec3.cross(this, this, vector);
121
+ vec3_cross(this, this, vector);
108
122
  return this.check();
109
123
  }
110
124
 
111
125
  rotateX({radians, origin = ORIGIN}: {radians: number; origin?: Readonly<NumericArray>}): this {
112
- vec3.rotateX(this, this, origin, radians);
126
+ vec3_rotateX(this, this, origin, radians);
113
127
  return this.check();
114
128
  }
115
129
 
116
130
  rotateY({radians, origin = ORIGIN}: {radians: number; origin?: Readonly<NumericArray>}): this {
117
- vec3.rotateY(this, this, origin, radians);
131
+ vec3_rotateY(this, this, origin, radians);
118
132
  return this.check();
119
133
  }
120
134
 
121
135
  rotateZ({radians, origin = ORIGIN}: {radians: number; origin?: Readonly<NumericArray>}): this {
122
- vec3.rotateZ(this, this, origin, radians);
136
+ vec3_rotateZ(this, this, origin, radians);
123
137
  return this.check();
124
138
  }
125
139
 
@@ -132,7 +146,7 @@ export default class Vector3 extends Vector {
132
146
 
133
147
  // transforms as point (4th component is implicitly 1)
134
148
  transformAsPoint(matrix4: Readonly<NumericArray>): this {
135
- vec3.transformMat4(this, this, matrix4);
149
+ vec3_transformMat4(this, this, matrix4);
136
150
  return this.check();
137
151
  }
138
152
 
@@ -143,7 +157,7 @@ export default class Vector3 extends Vector {
143
157
  }
144
158
 
145
159
  transformByMatrix3(matrix3: Readonly<NumericArray>): this {
146
- vec3.transformMat3(this, this, matrix3);
160
+ vec3_transformMat3(this, this, matrix3);
147
161
  return this.check();
148
162
  }
149
163
 
@@ -153,7 +167,7 @@ export default class Vector3 extends Vector {
153
167
  }
154
168
 
155
169
  transformByQuaternion(quaternion: Readonly<NumericArray>): this {
156
- vec3.transformQuat(this, this, quaternion);
170
+ vec3_transformQuat(this, this, quaternion);
157
171
  return this.check();
158
172
  }
159
173
  }
@@ -1,15 +1,19 @@
1
1
  // Copyright (c) 2017 Uber Technologies, Inc.
2
2
  // MIT License
3
3
 
4
- import Vector from './base/vector';
5
- import {config, isArray} from '../lib/common';
6
- import {checkNumber} from '../lib/validators';
7
- import * as vec4 from 'gl-matrix/vec3';
4
+ import {NumericArray} from '@math.gl/types';
8
5
  /* eslint-disable camelcase */
6
+ import {
7
+ transformMat4 as vec4_transformMat4,
8
+ transformQuat as vec4_transformQuat
9
+ } from '../gl-matrix/vec3';
9
10
  import {vec4_transformMat2, vec4_transformMat3} from '../lib/gl-matrix-extras';
10
- import {NumericArray} from '@math.gl/types';
11
11
 
12
- import type Matrix4 from './matrix4';
12
+ import {Vector} from './base/vector';
13
+ import {config, isArray} from '../lib/common';
14
+ import {checkNumber} from '../lib/validators';
15
+
16
+ import type {Matrix4} from './matrix4';
13
17
 
14
18
  let ZERO: Vector4;
15
19
 
@@ -17,7 +21,7 @@ let ZERO: Vector4;
17
21
  * Four-element vector class.
18
22
  * Subclass of Array<number>
19
23
  */
20
- export default class Vector4 extends Vector {
24
+ export class Vector4 extends Vector {
21
25
  static get ZERO(): Vector4 {
22
26
  if (!ZERO) {
23
27
  ZERO = new Vector4(0, 0, 0, 0);
@@ -76,7 +80,7 @@ export default class Vector4 extends Vector {
76
80
  return this;
77
81
  }
78
82
 
79
- toObject(object: {x?: number; y?: number; z?: number; w?: number}): {
83
+ override toObject(object: {x?: number; y?: number; z?: number; w?: number}): {
80
84
  x: number;
81
85
  y: number;
82
86
  z: number;
@@ -114,7 +118,7 @@ export default class Vector4 extends Vector {
114
118
  }
115
119
 
116
120
  transform(matrix4: Readonly<NumericArray>): this {
117
- vec4.transformMat4(this, this, matrix4);
121
+ vec4_transformMat4(this, this, matrix4);
118
122
  return this.check();
119
123
  }
120
124
 
@@ -129,7 +133,7 @@ export default class Vector4 extends Vector {
129
133
  }
130
134
 
131
135
  transformByQuaternion(quaternion: Readonly<NumericArray>): this {
132
- vec4.transformQuat(this, this, quaternion);
136
+ vec4_transformQuat(this, this, quaternion);
133
137
  return this.check();
134
138
  }
135
139
 
@@ -0,0 +1,58 @@
1
+ // @eslint-disable
2
+ // @ts-nocheck
3
+
4
+ /**
5
+ * Common utilities
6
+ * @module glMatrix
7
+ */
8
+
9
+ // Configuration Constants
10
+ export const EPSILON = 0.000001;
11
+ export let ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;
12
+ export const RANDOM = Math.random;
13
+ export const ANGLE_ORDER = 'zyx';
14
+
15
+ /**
16
+ * Symmetric round
17
+ * see https://www.npmjs.com/package/round-half-up-symmetric#user-content-detailed-background
18
+ *
19
+ * @param {Number} a value to round
20
+ */
21
+ export function round(a) {
22
+ if (a >= 0) return Math.round(a);
23
+
24
+ return a % 0.5 === 0 ? Math.floor(a) : Math.round(a);
25
+ }
26
+
27
+ /**
28
+ * Sets the type of array used when creating new vectors and matrices
29
+ *
30
+ * @param {Float32ArrayConstructor | ArrayConstructor} type Array type, such as Float32Array or Array
31
+ */
32
+ export function setMatrixArrayType(type) {
33
+ ARRAY_TYPE = type;
34
+ }
35
+
36
+ const degree = Math.PI / 180;
37
+
38
+ /**
39
+ * Convert Degree To Radian
40
+ *
41
+ * @param {Number} a Angle in Degrees
42
+ */
43
+ export function toRadian(a) {
44
+ return a * degree;
45
+ }
46
+
47
+ /**
48
+ * Tests whether or not the arguments have approximately the same value, within an absolute
49
+ * or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less
50
+ * than or equal to 1.0, and a relative tolerance is used for larger values)
51
+ *
52
+ * @param {Number} a The first number to test.
53
+ * @param {Number} b The second number to test.
54
+ * @returns {Boolean} True if the numbers are approximately equal, false otherwise.
55
+ */
56
+ export function equals(a, b) {
57
+ return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));
58
+ }