@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.
- package/dist/classes/base/math-array.d.ts +2 -1
- package/dist/classes/base/math-array.d.ts.map +1 -1
- package/dist/classes/base/math-array.js +5 -1
- package/dist/classes/base/math-array.js.map +1 -1
- package/dist/classes/base/matrix.d.ts +2 -2
- package/dist/classes/base/matrix.d.ts.map +1 -1
- package/dist/classes/base/matrix.js +2 -2
- package/dist/classes/base/matrix.js.map +1 -1
- package/dist/classes/base/vector.d.ts +2 -2
- package/dist/classes/base/vector.d.ts.map +1 -1
- package/dist/classes/base/vector.js +3 -3
- package/dist/classes/base/vector.js.map +1 -1
- package/dist/classes/euler.d.ts +3 -3
- package/dist/classes/euler.d.ts.map +1 -1
- package/dist/classes/euler.js +4 -4
- package/dist/classes/euler.js.map +1 -1
- package/dist/classes/matrix3.d.ts +5 -2
- package/dist/classes/matrix3.d.ts.map +1 -1
- package/dist/classes/matrix3.js +17 -17
- package/dist/classes/matrix3.js.map +1 -1
- package/dist/classes/matrix4.d.ts +2 -2
- package/dist/classes/matrix4.d.ts.map +1 -1
- package/dist/classes/matrix4.js +25 -25
- package/dist/classes/matrix4.js.map +1 -1
- package/dist/classes/pose.d.ts +5 -5
- package/dist/classes/pose.d.ts.map +1 -1
- package/dist/classes/pose.js +4 -4
- package/dist/classes/pose.js.map +1 -1
- package/dist/classes/quaternion.d.ts +2 -2
- package/dist/classes/quaternion.d.ts.map +1 -1
- package/dist/classes/quaternion.js +25 -25
- package/dist/classes/quaternion.js.map +1 -1
- package/dist/classes/spherical-coordinates.d.ts +4 -4
- package/dist/classes/spherical-coordinates.d.ts.map +1 -1
- package/dist/classes/spherical-coordinates.js +3 -3
- package/dist/classes/spherical-coordinates.js.map +1 -1
- package/dist/classes/vector2.d.ts +2 -2
- package/dist/classes/vector2.d.ts.map +1 -1
- package/dist/classes/vector2.js +7 -7
- package/dist/classes/vector2.js.map +1 -1
- package/dist/classes/vector3.d.ts +2 -2
- package/dist/classes/vector3.d.ts.map +1 -1
- package/dist/classes/vector3.js +11 -11
- package/dist/classes/vector3.js.map +1 -1
- package/dist/classes/vector4.d.ts +3 -3
- package/dist/classes/vector4.d.ts.map +1 -1
- package/dist/classes/vector4.js +5 -5
- package/dist/classes/vector4.js.map +1 -1
- package/dist/gl-matrix/common.d.ts +38 -0
- package/dist/gl-matrix/common.d.ts.map +1 -0
- package/dist/gl-matrix/common.js +19 -0
- package/dist/gl-matrix/common.js.map +1 -0
- package/dist/gl-matrix/mat3.d.ts +295 -0
- package/dist/gl-matrix/mat3.d.ts.map +1 -0
- package/dist/gl-matrix/mat3.js +489 -0
- package/dist/gl-matrix/mat3.js.map +1 -0
- package/dist/gl-matrix/mat4.d.ts +577 -0
- package/dist/gl-matrix/mat4.d.ts.map +1 -0
- package/dist/gl-matrix/mat4.js +1455 -0
- package/dist/gl-matrix/mat4.js.map +1 -0
- package/dist/gl-matrix/quat.d.ts +357 -0
- package/dist/gl-matrix/quat.d.ts.map +1 -0
- package/dist/gl-matrix/quat.js +315 -0
- package/dist/gl-matrix/quat.js.map +1 -0
- package/dist/gl-matrix/vec2.d.ts +373 -0
- package/dist/gl-matrix/vec2.d.ts.map +1 -0
- package/dist/gl-matrix/vec2.js +257 -0
- package/dist/gl-matrix/vec2.js.map +1 -0
- package/dist/gl-matrix/vec3.d.ts +416 -0
- package/dist/gl-matrix/vec3.d.ts.map +1 -0
- package/dist/gl-matrix/vec3.js +384 -0
- package/dist/gl-matrix/vec3.js.map +1 -0
- package/dist/gl-matrix/vec4.d.ts +340 -0
- package/dist/gl-matrix/vec4.d.ts.map +1 -0
- package/dist/gl-matrix/vec4.js +334 -0
- package/dist/gl-matrix/vec4.js.map +1 -0
- package/dist/gl-matrix/wip/index.d.ts +5 -0
- package/dist/gl-matrix/wip/index.d.ts.map +1 -0
- package/dist/gl-matrix/wip/index.js +12 -0
- package/dist/gl-matrix/wip/index.js.map +1 -0
- package/dist/gl-matrix/wip/mat2.d.ts +229 -0
- package/dist/gl-matrix/wip/mat2.d.ts.map +1 -0
- package/dist/gl-matrix/wip/mat2.js +208 -0
- package/dist/gl-matrix/wip/mat2.js.map +1 -0
- package/dist/gl-matrix/wip/mat2d.d.ts +244 -0
- package/dist/gl-matrix/wip/mat2d.d.ts.map +1 -0
- package/dist/gl-matrix/wip/mat2d.js +251 -0
- package/dist/gl-matrix/wip/mat2d.js.map +1 -0
- package/dist/gl-matrix/wip/quat2.d.ts +352 -0
- package/dist/gl-matrix/wip/quat2.d.ts.map +1 -0
- package/dist/gl-matrix/wip/quat2.js +482 -0
- package/dist/gl-matrix/wip/quat2.js.map +1 -0
- package/dist/gl-matrix/wip/types.d.js +2 -0
- package/dist/gl-matrix/wip/types.d.js.map +1 -0
- package/dist/index.cjs +1614 -150
- package/dist/index.d.ts +15 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -14
- package/dist/index.js.map +1 -1
- package/dist/lib/assert.d.ts +1 -1
- package/dist/lib/assert.d.ts.map +1 -1
- package/dist/lib/assert.js +1 -1
- package/dist/lib/assert.js.map +1 -1
- package/dist/lib/common.d.ts +11 -6
- package/dist/lib/common.d.ts.map +1 -1
- package/dist/lib/common.js +8 -2
- package/dist/lib/common.js.map +1 -1
- package/dist/lib/math-utils.d.ts +24 -27
- package/dist/lib/math-utils.d.ts.map +1 -1
- package/dist/lib/math-utils.js +24 -26
- package/dist/lib/math-utils.js.map +1 -1
- package/dist/lib/validators.js +1 -1
- package/dist/lib/validators.js.map +1 -1
- package/package.json +3 -4
- package/src/classes/base/math-array.ts +6 -2
- package/src/classes/base/matrix.ts +6 -3
- package/src/classes/base/vector.ts +3 -3
- package/src/classes/euler.ts +5 -4
- package/src/classes/matrix3.ts +32 -23
- package/src/classes/matrix4.ts +45 -31
- package/src/classes/pose.ts +4 -4
- package/src/classes/quaternion.ts +48 -28
- package/src/classes/spherical-coordinates.ts +3 -3
- package/src/classes/vector2.ts +13 -10
- package/src/classes/vector3.ts +25 -12
- package/src/classes/vector4.ts +10 -8
- package/src/gl-matrix/common.js +58 -0
- package/src/gl-matrix/mat3.js +842 -0
- package/src/gl-matrix/mat4.js +2169 -0
- package/src/gl-matrix/quat.ts +789 -0
- package/src/gl-matrix/vec2.js +629 -0
- package/src/gl-matrix/vec3.js +827 -0
- package/src/gl-matrix/vec4.js +675 -0
- package/src/gl-matrix/wip/index.js +15 -0
- package/src/gl-matrix/wip/mat2.js +442 -0
- package/src/gl-matrix/wip/mat2d.js +505 -0
- package/src/gl-matrix/wip/quat2.ts +886 -0
- package/src/gl-matrix/wip/types.d.ts +93 -0
- package/src/index.ts +16 -14
- package/src/lib/assert.ts +1 -1
- package/src/lib/common.ts +29 -13
- package/src/lib/math-utils.ts +24 -26
- package/src/lib/validators.ts +1 -1
- package/dist/docs/README.md +0 -0
- package/src/docs/README.md +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
|
|
4
|
+
interface IndexedCollection extends Iterable<number> {
|
|
5
|
+
readonly length: number;
|
|
6
|
+
[index: number]: number;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// prettier-ignore
|
|
10
|
+
declare type mat2 =
|
|
11
|
+
| [number, number,
|
|
12
|
+
number, number]
|
|
13
|
+
| IndexedCollection;
|
|
14
|
+
|
|
15
|
+
// prettier-ignore
|
|
16
|
+
declare type mat2d =
|
|
17
|
+
| [number, number,
|
|
18
|
+
number, number,
|
|
19
|
+
number, number]
|
|
20
|
+
| IndexedCollection;
|
|
21
|
+
|
|
22
|
+
// prettier-ignore
|
|
23
|
+
declare type mat3 =
|
|
24
|
+
| [number, number, number,
|
|
25
|
+
number, number, number,
|
|
26
|
+
number, number, number]
|
|
27
|
+
| IndexedCollection;
|
|
28
|
+
|
|
29
|
+
// prettier-ignore
|
|
30
|
+
declare type mat4 =
|
|
31
|
+
| [number, number, number, number,
|
|
32
|
+
number, number, number, number,
|
|
33
|
+
number, number, number, number,
|
|
34
|
+
number, number, number, number]
|
|
35
|
+
| IndexedCollection;
|
|
36
|
+
|
|
37
|
+
declare type quat = [number, number, number, number] | IndexedCollection;
|
|
38
|
+
|
|
39
|
+
// prettier-ignore
|
|
40
|
+
declare type quat2 =
|
|
41
|
+
| [number, number, number, number,
|
|
42
|
+
number, number, number, number]
|
|
43
|
+
| IndexedCollection;
|
|
44
|
+
|
|
45
|
+
declare type vec2 = [number, number] | IndexedCollection;
|
|
46
|
+
declare type vec3 = [number, number, number] | IndexedCollection;
|
|
47
|
+
declare type vec4 = [number, number, number, number] | IndexedCollection;
|
|
48
|
+
|
|
49
|
+
// prettier-ignore
|
|
50
|
+
declare type ReadonlyMat2 =
|
|
51
|
+
| readonly [
|
|
52
|
+
number, number,
|
|
53
|
+
number, number
|
|
54
|
+
]
|
|
55
|
+
| IndexedCollection;
|
|
56
|
+
|
|
57
|
+
// prettier-ignore
|
|
58
|
+
declare type ReadonlyMat2d =
|
|
59
|
+
| readonly [
|
|
60
|
+
number, number,
|
|
61
|
+
number, number,
|
|
62
|
+
number, number
|
|
63
|
+
]
|
|
64
|
+
| IndexedCollection;
|
|
65
|
+
|
|
66
|
+
// prettier-ignore
|
|
67
|
+
declare type ReadonlyMat3 =
|
|
68
|
+
| readonly [
|
|
69
|
+
number, number, number,
|
|
70
|
+
number, number, number,
|
|
71
|
+
number, number, number
|
|
72
|
+
]
|
|
73
|
+
| IndexedCollection;
|
|
74
|
+
|
|
75
|
+
// prettier-ignore
|
|
76
|
+
declare type ReadonlyMat4 =
|
|
77
|
+
| readonly [
|
|
78
|
+
number, number, number, number,
|
|
79
|
+
number, number, number, number,
|
|
80
|
+
number, number, number, number,
|
|
81
|
+
number, number, number, number
|
|
82
|
+
]
|
|
83
|
+
| IndexedCollection;
|
|
84
|
+
|
|
85
|
+
declare type ReadonlyQuat = readonly [number, number, number, number] | IndexedCollection;
|
|
86
|
+
|
|
87
|
+
declare type ReadonlyQuat2 =
|
|
88
|
+
| readonly [number, number, number, number, number, number, number, number]
|
|
89
|
+
| IndexedCollection;
|
|
90
|
+
|
|
91
|
+
declare type ReadonlyVec2 = readonly [number, number] | IndexedCollection;
|
|
92
|
+
declare type ReadonlyVec3 = readonly [number, number, number] | IndexedCollection;
|
|
93
|
+
declare type ReadonlyVec4 = readonly [number, number, number, number] | IndexedCollection;
|
package/src/index.ts
CHANGED
|
@@ -3,23 +3,25 @@
|
|
|
3
3
|
// types
|
|
4
4
|
export type {TypedArray, NumericArray} from '@math.gl/types';
|
|
5
5
|
|
|
6
|
+
export type {isTypedArray, isNumericArray} from '@math.gl/types';
|
|
7
|
+
|
|
6
8
|
// classes
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
9
|
+
export {Vector2} from './classes/vector2';
|
|
10
|
+
export {Vector3} from './classes/vector3';
|
|
11
|
+
export {Vector4} from './classes/vector4';
|
|
12
|
+
export {Matrix3} from './classes/matrix3';
|
|
13
|
+
export {Matrix4} from './classes/matrix4';
|
|
14
|
+
export {Quaternion} from './classes/quaternion';
|
|
13
15
|
|
|
14
16
|
// experimental
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
17
|
+
export {SphericalCoordinates} from './classes/spherical-coordinates';
|
|
18
|
+
export {Pose} from './classes/pose';
|
|
19
|
+
export {Euler} from './classes/euler';
|
|
18
20
|
|
|
19
|
-
export
|
|
21
|
+
export * as _MathUtils from './lib/math-utils';
|
|
20
22
|
|
|
21
23
|
// lib
|
|
22
|
-
export {
|
|
24
|
+
export {assert} from './lib/assert';
|
|
23
25
|
|
|
24
26
|
export {
|
|
25
27
|
// math.gl global utility methods
|
|
@@ -47,6 +49,6 @@ export {
|
|
|
47
49
|
} from './lib/common';
|
|
48
50
|
|
|
49
51
|
// DEPRECATED
|
|
50
|
-
export {
|
|
51
|
-
export {
|
|
52
|
-
export {
|
|
52
|
+
export {SphericalCoordinates as _SphericalCoordinates} from './classes/spherical-coordinates';
|
|
53
|
+
export {Pose as _Pose} from './classes/pose';
|
|
54
|
+
export {Euler as _Euler} from './classes/euler';
|
package/src/lib/assert.ts
CHANGED
package/src/lib/common.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
//
|
|
2
|
-
// MIT License
|
|
3
|
-
import {NumericArray} from '@math.gl/types';
|
|
1
|
+
// math.gl, MIT license
|
|
4
2
|
|
|
5
|
-
import type
|
|
3
|
+
import type {NumericArray} from '@math.gl/types';
|
|
4
|
+
|
|
5
|
+
import type {MathArray} from '../classes/base/math-array';
|
|
6
|
+
|
|
7
|
+
const RADIANS_TO_DEGREES = (1 / Math.PI) * 180;
|
|
8
|
+
const DEGREES_TO_RADIANS = (1 / 180) * Math.PI;
|
|
6
9
|
|
|
7
10
|
export type ConfigurationOptions = {
|
|
8
11
|
EPSILON: number;
|
|
@@ -14,20 +17,32 @@ export type ConfigurationOptions = {
|
|
|
14
17
|
_cartographicRadians?: boolean;
|
|
15
18
|
};
|
|
16
19
|
|
|
17
|
-
const
|
|
18
|
-
const DEGREES_TO_RADIANS = (1 / 180) * Math.PI;
|
|
19
|
-
|
|
20
|
-
// TODO - remove
|
|
21
|
-
export const config: ConfigurationOptions = {
|
|
20
|
+
const DEFAULT_CONFIG: Required<ConfigurationOptions> = {
|
|
22
21
|
EPSILON: 1e-12,
|
|
23
22
|
debug: false,
|
|
24
23
|
precision: 4,
|
|
25
24
|
printTypes: false,
|
|
26
25
|
printDegrees: false,
|
|
27
|
-
printRowMajor: true
|
|
26
|
+
printRowMajor: true,
|
|
27
|
+
_cartographicRadians: false
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
// We use a global field to store the config
|
|
31
|
+
declare global {
|
|
32
|
+
// eslint-disable-next-line no-var
|
|
33
|
+
var mathgl: {
|
|
34
|
+
config: Required<ConfigurationOptions>;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Configuration is truly global as of v3.6 to ensure single config even if multiple copies of math.gl
|
|
39
|
+
// Multiple copies of config can be quite tricky to debug...
|
|
40
|
+
globalThis.mathgl = globalThis.mathgl || {config: {...DEFAULT_CONFIG}};
|
|
41
|
+
|
|
42
|
+
export const config = globalThis.mathgl.config;
|
|
43
|
+
|
|
44
|
+
export function configure(options: Partial<ConfigurationOptions>): ConfigurationOptions {
|
|
45
|
+
// Only copy existing keys
|
|
31
46
|
Object.assign(config, options);
|
|
32
47
|
return config;
|
|
33
48
|
}
|
|
@@ -50,8 +65,8 @@ export function formatValue(
|
|
|
50
65
|
/**
|
|
51
66
|
* Check if value is an "array"
|
|
52
67
|
* Returns `true` if value is either an array or a typed array
|
|
53
|
-
*
|
|
54
68
|
* Note: returns `false` for `ArrayBuffer` and `DataView` instances
|
|
69
|
+
* @note isTypedArray and isNumericArray are often more useful in TypeScript
|
|
55
70
|
*/
|
|
56
71
|
export function isArray(value: unknown): boolean {
|
|
57
72
|
return Array.isArray(value) || (ArrayBuffer.isView(value) && !(value instanceof DataView));
|
|
@@ -276,7 +291,8 @@ function round(value: number): number {
|
|
|
276
291
|
// If the array has a clone function, calls it, otherwise returns a copy
|
|
277
292
|
function duplicateArray(array: NumericArray): NumericArray {
|
|
278
293
|
// @ts-expect-error We check for math.gl class methods
|
|
279
|
-
|
|
294
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
295
|
+
return array.clone ? (array.clone() as NumericArray) : (new Array(array.length) as number[]);
|
|
280
296
|
}
|
|
281
297
|
|
|
282
298
|
// If the argument value is an array, applies the func element wise,
|
package/src/lib/math-utils.ts
CHANGED
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
// NOTE: Added to make Cesium-derived test cases work
|
|
2
2
|
// TODO: Determine if/how to keep
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
EPSILON20: 1e-20,
|
|
3
|
+
export const EPSILON1 = 1e-1;
|
|
4
|
+
export const EPSILON2 = 1e-2;
|
|
5
|
+
export const EPSILON3 = 1e-3;
|
|
6
|
+
export const EPSILON4 = 1e-4;
|
|
7
|
+
export const EPSILON5 = 1e-5;
|
|
8
|
+
export const EPSILON6 = 1e-6;
|
|
9
|
+
export const EPSILON7 = 1e-7;
|
|
10
|
+
export const EPSILON8 = 1e-8;
|
|
11
|
+
export const EPSILON9 = 1e-9;
|
|
12
|
+
export const EPSILON10 = 1e-10;
|
|
13
|
+
export const EPSILON11 = 1e-11;
|
|
14
|
+
export const EPSILON12 = 1e-12;
|
|
15
|
+
export const EPSILON13 = 1e-13;
|
|
16
|
+
export const EPSILON14 = 1e-14;
|
|
17
|
+
export const EPSILON15 = 1e-15;
|
|
18
|
+
export const EPSILON16 = 1e-16;
|
|
19
|
+
export const EPSILON17 = 1e-17;
|
|
20
|
+
export const EPSILON18 = 1e-18;
|
|
21
|
+
export const EPSILON19 = 1e-19;
|
|
22
|
+
export const EPSILON20 = 1e-20;
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
export const PI_OVER_TWO = Math.PI / 2;
|
|
25
|
+
export const PI_OVER_FOUR = Math.PI / 4;
|
|
26
|
+
export const PI_OVER_SIX = Math.PI / 6;
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
};
|
|
28
|
+
export const TWO_PI = Math.PI * 2;
|
package/src/lib/validators.ts
CHANGED
|
@@ -35,7 +35,7 @@ export function validateVector(v: NumberArray, length: number): boolean {
|
|
|
35
35
|
|
|
36
36
|
export function checkNumber(value: unknown): number {
|
|
37
37
|
if (!Number.isFinite(value)) {
|
|
38
|
-
throw new Error(`Invalid number ${value}`);
|
|
38
|
+
throw new Error(`Invalid number ${JSON.stringify(value)}`);
|
|
39
39
|
}
|
|
40
40
|
return value as number;
|
|
41
41
|
}
|
package/dist/docs/README.md
DELETED
|
File without changes
|
package/src/docs/README.md
DELETED
|
File without changes
|