@math.gl/core 4.0.0-alpha.1 → 4.0.0-alpha.3

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 (145) hide show
  1. package/dist/classes/base/math-array.d.ts +2 -1
  2. package/dist/classes/base/math-array.d.ts.map +1 -1
  3. package/dist/classes/base/math-array.js +5 -1
  4. package/dist/classes/base/math-array.js.map +1 -1
  5. package/dist/classes/base/matrix.d.ts +2 -2
  6. package/dist/classes/base/matrix.d.ts.map +1 -1
  7. package/dist/classes/base/matrix.js +2 -2
  8. package/dist/classes/base/matrix.js.map +1 -1
  9. package/dist/classes/base/vector.d.ts +2 -2
  10. package/dist/classes/base/vector.d.ts.map +1 -1
  11. package/dist/classes/base/vector.js +3 -3
  12. package/dist/classes/base/vector.js.map +1 -1
  13. package/dist/classes/euler.d.ts +3 -3
  14. package/dist/classes/euler.d.ts.map +1 -1
  15. package/dist/classes/euler.js +4 -4
  16. package/dist/classes/euler.js.map +1 -1
  17. package/dist/classes/matrix3.d.ts +5 -2
  18. package/dist/classes/matrix3.d.ts.map +1 -1
  19. package/dist/classes/matrix3.js +17 -17
  20. package/dist/classes/matrix3.js.map +1 -1
  21. package/dist/classes/matrix4.d.ts +2 -2
  22. package/dist/classes/matrix4.d.ts.map +1 -1
  23. package/dist/classes/matrix4.js +25 -25
  24. package/dist/classes/matrix4.js.map +1 -1
  25. package/dist/classes/pose.d.ts +5 -5
  26. package/dist/classes/pose.d.ts.map +1 -1
  27. package/dist/classes/pose.js +4 -4
  28. package/dist/classes/pose.js.map +1 -1
  29. package/dist/classes/quaternion.d.ts +2 -2
  30. package/dist/classes/quaternion.d.ts.map +1 -1
  31. package/dist/classes/quaternion.js +25 -25
  32. package/dist/classes/quaternion.js.map +1 -1
  33. package/dist/classes/spherical-coordinates.d.ts +4 -4
  34. package/dist/classes/spherical-coordinates.d.ts.map +1 -1
  35. package/dist/classes/spherical-coordinates.js +3 -3
  36. package/dist/classes/spherical-coordinates.js.map +1 -1
  37. package/dist/classes/vector2.d.ts +2 -2
  38. package/dist/classes/vector2.d.ts.map +1 -1
  39. package/dist/classes/vector2.js +7 -7
  40. package/dist/classes/vector2.js.map +1 -1
  41. package/dist/classes/vector3.d.ts +2 -2
  42. package/dist/classes/vector3.d.ts.map +1 -1
  43. package/dist/classes/vector3.js +11 -11
  44. package/dist/classes/vector3.js.map +1 -1
  45. package/dist/classes/vector4.d.ts +3 -3
  46. package/dist/classes/vector4.d.ts.map +1 -1
  47. package/dist/classes/vector4.js +5 -5
  48. package/dist/classes/vector4.js.map +1 -1
  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/gl-matrix/wip/types.d.js.map +1 -0
  95. package/dist/index.cjs +1614 -150
  96. package/dist/index.d.ts +15 -14
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +15 -14
  99. package/dist/index.js.map +1 -1
  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 +1 -1
  103. package/dist/lib/assert.js.map +1 -1
  104. package/dist/lib/common.d.ts +11 -6
  105. package/dist/lib/common.d.ts.map +1 -1
  106. package/dist/lib/common.js +8 -2
  107. package/dist/lib/common.js.map +1 -1
  108. package/dist/lib/math-utils.d.ts +24 -27
  109. package/dist/lib/math-utils.d.ts.map +1 -1
  110. package/dist/lib/math-utils.js +24 -26
  111. package/dist/lib/math-utils.js.map +1 -1
  112. package/dist/lib/validators.js +1 -1
  113. package/dist/lib/validators.js.map +1 -1
  114. package/package.json +3 -4
  115. package/src/classes/base/math-array.ts +6 -2
  116. package/src/classes/base/matrix.ts +6 -3
  117. package/src/classes/base/vector.ts +3 -3
  118. package/src/classes/euler.ts +5 -4
  119. package/src/classes/matrix3.ts +32 -23
  120. package/src/classes/matrix4.ts +45 -31
  121. package/src/classes/pose.ts +4 -4
  122. package/src/classes/quaternion.ts +48 -28
  123. package/src/classes/spherical-coordinates.ts +3 -3
  124. package/src/classes/vector2.ts +13 -10
  125. package/src/classes/vector3.ts +25 -12
  126. package/src/classes/vector4.ts +10 -8
  127. package/src/gl-matrix/common.js +58 -0
  128. package/src/gl-matrix/mat3.js +842 -0
  129. package/src/gl-matrix/mat4.js +2169 -0
  130. package/src/gl-matrix/quat.ts +789 -0
  131. package/src/gl-matrix/vec2.js +629 -0
  132. package/src/gl-matrix/vec3.js +827 -0
  133. package/src/gl-matrix/vec4.js +675 -0
  134. package/src/gl-matrix/wip/index.js +15 -0
  135. package/src/gl-matrix/wip/mat2.js +442 -0
  136. package/src/gl-matrix/wip/mat2d.js +505 -0
  137. package/src/gl-matrix/wip/quat2.ts +886 -0
  138. package/src/gl-matrix/wip/types.d.ts +93 -0
  139. package/src/index.ts +16 -14
  140. package/src/lib/assert.ts +1 -1
  141. package/src/lib/common.ts +29 -13
  142. package/src/lib/math-utils.ts +24 -26
  143. package/src/lib/validators.ts +1 -1
  144. package/dist/docs/README.md +0 -0
  145. package/src/docs/README.md +0 -0
@@ -1,11 +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
7
  // @ts-ignore gl-matrix types
8
- import * as vec3 from 'gl-matrix/vec3';
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';
9
18
  /* eslint-disable camelcase */
10
19
  import {vec3_transformMat2, vec3_transformMat4AsVector} from '../lib/gl-matrix-extras';
11
20
 
@@ -17,7 +26,7 @@ let ZERO: Vector3;
17
26
  * Three-element vector class.
18
27
  * Subclass of Array<number>
19
28
  */
20
- export default class Vector3 extends Vector {
29
+ export class Vector3 extends Vector {
21
30
  static get ZERO(): Vector3 {
22
31
  if (!ZERO) {
23
32
  ZERO = new Vector3(0, 0, 0);
@@ -77,7 +86,11 @@ export default class Vector3 extends Vector {
77
86
  return this.check();
78
87
  }
79
88
 
80
- 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
+ } {
81
94
  object.x = this[0];
82
95
  object.y = this[1];
83
96
  object.z = this[2];
@@ -99,28 +112,28 @@ export default class Vector3 extends Vector {
99
112
  // ACCESSORS
100
113
 
101
114
  angle(vector: Readonly<NumericArray>): number {
102
- return vec3.angle(this, vector);
115
+ return vec3_angle(this, vector);
103
116
  }
104
117
 
105
118
  // MODIFIERS
106
119
 
107
120
  cross(vector: Readonly<NumericArray>): this {
108
- vec3.cross(this, this, vector);
121
+ vec3_cross(this, this, vector);
109
122
  return this.check();
110
123
  }
111
124
 
112
125
  rotateX({radians, origin = ORIGIN}: {radians: number; origin?: Readonly<NumericArray>}): this {
113
- vec3.rotateX(this, this, origin, radians);
126
+ vec3_rotateX(this, this, origin, radians);
114
127
  return this.check();
115
128
  }
116
129
 
117
130
  rotateY({radians, origin = ORIGIN}: {radians: number; origin?: Readonly<NumericArray>}): this {
118
- vec3.rotateY(this, this, origin, radians);
131
+ vec3_rotateY(this, this, origin, radians);
119
132
  return this.check();
120
133
  }
121
134
 
122
135
  rotateZ({radians, origin = ORIGIN}: {radians: number; origin?: Readonly<NumericArray>}): this {
123
- vec3.rotateZ(this, this, origin, radians);
136
+ vec3_rotateZ(this, this, origin, radians);
124
137
  return this.check();
125
138
  }
126
139
 
@@ -133,7 +146,7 @@ export default class Vector3 extends Vector {
133
146
 
134
147
  // transforms as point (4th component is implicitly 1)
135
148
  transformAsPoint(matrix4: Readonly<NumericArray>): this {
136
- vec3.transformMat4(this, this, matrix4);
149
+ vec3_transformMat4(this, this, matrix4);
137
150
  return this.check();
138
151
  }
139
152
 
@@ -144,7 +157,7 @@ export default class Vector3 extends Vector {
144
157
  }
145
158
 
146
159
  transformByMatrix3(matrix3: Readonly<NumericArray>): this {
147
- vec3.transformMat3(this, this, matrix3);
160
+ vec3_transformMat3(this, this, matrix3);
148
161
  return this.check();
149
162
  }
150
163
 
@@ -154,7 +167,7 @@ export default class Vector3 extends Vector {
154
167
  }
155
168
 
156
169
  transformByQuaternion(quaternion: Readonly<NumericArray>): this {
157
- vec3.transformQuat(this, this, quaternion);
170
+ vec3_transformQuat(this, this, quaternion);
158
171
  return this.check();
159
172
  }
160
173
  }
@@ -2,16 +2,18 @@
2
2
  // MIT License
3
3
 
4
4
  import {NumericArray} from '@math.gl/types';
5
- // @ts-ignore gl-matrix types...
6
- import * as vec4 from 'gl-matrix/vec3';
7
5
  /* eslint-disable camelcase */
6
+ import {
7
+ transformMat4 as vec4_transformMat4,
8
+ transformQuat as vec4_transformQuat
9
+ } from '../gl-matrix/vec3';
8
10
  import {vec4_transformMat2, vec4_transformMat3} from '../lib/gl-matrix-extras';
9
11
 
10
- import Vector from './base/vector';
12
+ import {Vector} from './base/vector';
11
13
  import {config, isArray} from '../lib/common';
12
14
  import {checkNumber} from '../lib/validators';
13
15
 
14
- import type Matrix4 from './matrix4';
16
+ import type {Matrix4} from './matrix4';
15
17
 
16
18
  let ZERO: Vector4;
17
19
 
@@ -19,7 +21,7 @@ let ZERO: Vector4;
19
21
  * Four-element vector class.
20
22
  * Subclass of Array<number>
21
23
  */
22
- export default class Vector4 extends Vector {
24
+ export class Vector4 extends Vector {
23
25
  static get ZERO(): Vector4 {
24
26
  if (!ZERO) {
25
27
  ZERO = new Vector4(0, 0, 0, 0);
@@ -78,7 +80,7 @@ export default class Vector4 extends Vector {
78
80
  return this;
79
81
  }
80
82
 
81
- toObject(object: {x?: number; y?: number; z?: number; w?: number}): {
83
+ override toObject(object: {x?: number; y?: number; z?: number; w?: number}): {
82
84
  x: number;
83
85
  y: number;
84
86
  z: number;
@@ -116,7 +118,7 @@ export default class Vector4 extends Vector {
116
118
  }
117
119
 
118
120
  transform(matrix4: Readonly<NumericArray>): this {
119
- vec4.transformMat4(this, this, matrix4);
121
+ vec4_transformMat4(this, this, matrix4);
120
122
  return this.check();
121
123
  }
122
124
 
@@ -131,7 +133,7 @@ export default class Vector4 extends Vector {
131
133
  }
132
134
 
133
135
  transformByQuaternion(quaternion: Readonly<NumericArray>): this {
134
- vec4.transformQuat(this, this, quaternion);
136
+ vec4_transformQuat(this, this, quaternion);
135
137
  return this.check();
136
138
  }
137
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
+ }