@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.
- package/dist/classes/base/math-array.d.ts +5 -4
- package/dist/classes/base/math-array.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/base/math-array.js +8 -3
- package/dist/classes/base/math-array.js.map +1 -0
- package/dist/classes/base/matrix.d.ts +2 -2
- package/dist/classes/base/matrix.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/base/matrix.js +4 -4
- package/dist/classes/base/matrix.js.map +1 -0
- package/dist/classes/base/vector.d.ts +2 -2
- package/dist/classes/base/vector.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/base/vector.js +4 -4
- package/dist/classes/base/vector.js.map +1 -0
- package/dist/classes/euler.d.ts +4 -4
- package/dist/classes/euler.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/euler.js +6 -6
- package/dist/classes/euler.js.map +1 -0
- package/dist/classes/matrix3.d.ts +5 -2
- package/dist/classes/matrix3.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/matrix3.js +20 -20
- package/dist/classes/matrix3.js.map +1 -0
- package/dist/classes/matrix4.d.ts +2 -2
- package/dist/classes/matrix4.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/matrix4.js +27 -27
- package/dist/classes/matrix4.js.map +1 -0
- package/dist/classes/pose.d.ts +4 -4
- package/dist/classes/pose.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/pose.js +4 -4
- package/dist/classes/pose.js.map +1 -0
- package/dist/classes/quaternion.d.ts +2 -2
- package/dist/classes/quaternion.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/quaternion.js +26 -26
- package/dist/classes/quaternion.js.map +1 -0
- package/dist/classes/spherical-coordinates.d.ts +2 -2
- package/dist/classes/spherical-coordinates.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/spherical-coordinates.js +5 -5
- package/dist/classes/spherical-coordinates.js.map +1 -0
- package/dist/classes/vector2.d.ts +2 -2
- package/dist/classes/vector2.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/vector2.js +10 -10
- package/dist/classes/vector2.js.map +1 -0
- package/dist/classes/vector3.d.ts +2 -2
- package/dist/classes/vector3.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/vector3.js +14 -14
- package/dist/classes/vector3.js.map +1 -0
- package/dist/classes/vector4.d.ts +3 -3
- package/dist/classes/vector4.d.ts.map +1 -1
- package/dist/{esm/classes → classes}/vector4.js +8 -8
- package/dist/classes/vector4.js.map +1 -0
- 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/{esm/lib/gl-matrix.d.js.map → gl-matrix/wip/types.d.js.map} +1 -1
- package/dist/index.cjs +3788 -0
- package/dist/index.d.ts +15 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/assert.d.ts +1 -1
- package/dist/lib/assert.d.ts.map +1 -1
- package/dist/lib/assert.js +6 -0
- package/dist/lib/assert.js.map +1 -0
- package/dist/lib/common.d.ts +10 -5
- package/dist/lib/common.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/common.js +11 -9
- package/dist/lib/common.js.map +1 -0
- package/dist/lib/gl-matrix-extras.js.map +1 -0
- 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 +25 -0
- package/dist/lib/math-utils.js.map +1 -0
- package/dist/lib/validators.d.ts +1 -1
- package/dist/lib/validators.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/validators.js +2 -2
- package/dist/lib/validators.js.map +1 -0
- package/package.json +6 -6
- package/src/classes/base/math-array.ts +16 -8
- package/src/classes/base/matrix.ts +7 -4
- package/src/classes/base/vector.ts +4 -4
- package/src/classes/euler.ts +9 -8
- package/src/classes/matrix3.ts +37 -24
- package/src/classes/matrix4.ts +48 -29
- package/src/classes/pose.ts +4 -4
- package/src/classes/quaternion.ts +54 -32
- package/src/classes/spherical-coordinates.ts +5 -4
- package/src/classes/vector2.ts +13 -9
- package/src/classes/vector3.ts +26 -12
- package/src/classes/vector4.ts +14 -10
- 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 +31 -19
- package/src/lib/math-utils.ts +24 -26
- package/src/lib/validators.ts +3 -3
- package/dist/es5/classes/base/math-array.js +0 -348
- package/dist/es5/classes/base/math-array.js.map +0 -1
- package/dist/es5/classes/base/matrix.js +0 -108
- package/dist/es5/classes/base/matrix.js.map +0 -1
- package/dist/es5/classes/base/vector.js +0 -210
- package/dist/es5/classes/base/vector.js.map +0 -1
- package/dist/es5/classes/euler.js +0 -654
- package/dist/es5/classes/euler.js.map +0 -1
- package/dist/es5/classes/matrix3.js +0 -284
- package/dist/es5/classes/matrix3.js.map +0 -1
- package/dist/es5/classes/matrix4.js +0 -574
- package/dist/es5/classes/matrix4.js.map +0 -1
- package/dist/es5/classes/pose.js +0 -159
- package/dist/es5/classes/pose.js.map +0 -1
- package/dist/es5/classes/quaternion.js +0 -323
- package/dist/es5/classes/quaternion.js.map +0 -1
- package/dist/es5/classes/spherical-coordinates.js +0 -208
- package/dist/es5/classes/spherical-coordinates.js.map +0 -1
- package/dist/es5/classes/vector2.js +0 -156
- package/dist/es5/classes/vector2.js.map +0 -1
- package/dist/es5/classes/vector3.js +0 -213
- package/dist/es5/classes/vector3.js.map +0 -1
- package/dist/es5/classes/vector4.js +0 -185
- package/dist/es5/classes/vector4.js.map +0 -1
- package/dist/es5/docs/README.md +0 -0
- package/dist/es5/index.js +0 -236
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/assert.js +0 -13
- package/dist/es5/lib/assert.js.map +0 -1
- package/dist/es5/lib/common.js +0 -255
- package/dist/es5/lib/common.js.map +0 -1
- package/dist/es5/lib/gl-matrix-extras.js +0 -61
- package/dist/es5/lib/gl-matrix-extras.js.map +0 -1
- package/dist/es5/lib/gl-matrix.d.js +0 -2
- package/dist/es5/lib/math-utils.js +0 -34
- package/dist/es5/lib/math-utils.js.map +0 -1
- package/dist/es5/lib/validators.js +0 -53
- package/dist/es5/lib/validators.js.map +0 -1
- package/dist/esm/classes/base/math-array.js.map +0 -1
- package/dist/esm/classes/base/matrix.js.map +0 -1
- package/dist/esm/classes/base/vector.js.map +0 -1
- package/dist/esm/classes/euler.js.map +0 -1
- package/dist/esm/classes/matrix3.js.map +0 -1
- package/dist/esm/classes/matrix4.js.map +0 -1
- package/dist/esm/classes/pose.js.map +0 -1
- package/dist/esm/classes/quaternion.js.map +0 -1
- package/dist/esm/classes/spherical-coordinates.js.map +0 -1
- package/dist/esm/classes/vector2.js.map +0 -1
- package/dist/esm/classes/vector3.js.map +0 -1
- package/dist/esm/classes/vector4.js.map +0 -1
- package/dist/esm/docs/README.md +0 -0
- package/dist/esm/index.js +0 -16
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/assert.js +0 -6
- package/dist/esm/lib/assert.js.map +0 -1
- package/dist/esm/lib/common.js.map +0 -1
- package/dist/esm/lib/gl-matrix-extras.js.map +0 -1
- package/dist/esm/lib/math-utils.js +0 -27
- package/dist/esm/lib/math-utils.js.map +0 -1
- package/dist/esm/lib/validators.js.map +0 -1
- package/src/docs/README.md +0 -0
- /package/dist/{esm/lib → lib}/gl-matrix-extras.js +0 -0
- /package/dist/{esm/lib → lib}/gl-matrix.d.js +0 -0
- /package/dist/{es5/lib → lib}/gl-matrix.d.js.map +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,9 +1,11 @@
|
|
|
1
|
-
//
|
|
2
|
-
// MIT License
|
|
3
|
-
import {NumericArray} from '@math.gl/types';
|
|
4
|
-
import assert from './assert';
|
|
1
|
+
// math.gl, MIT license
|
|
5
2
|
|
|
6
|
-
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;
|
|
7
9
|
|
|
8
10
|
export type ConfigurationOptions = {
|
|
9
11
|
EPSILON: number;
|
|
@@ -15,25 +17,33 @@ export type ConfigurationOptions = {
|
|
|
15
17
|
_cartographicRadians?: boolean;
|
|
16
18
|
};
|
|
17
19
|
|
|
18
|
-
const
|
|
19
|
-
const DEGREES_TO_RADIANS = (1 / 180) * Math.PI;
|
|
20
|
-
|
|
21
|
-
// TODO - remove
|
|
22
|
-
export const config: ConfigurationOptions = {
|
|
20
|
+
const DEFAULT_CONFIG: Required<ConfigurationOptions> = {
|
|
23
21
|
EPSILON: 1e-12,
|
|
24
22
|
debug: false,
|
|
25
23
|
precision: 4,
|
|
26
24
|
printTypes: false,
|
|
27
25
|
printDegrees: false,
|
|
28
|
-
printRowMajor: true
|
|
26
|
+
printRowMajor: true,
|
|
27
|
+
_cartographicRadians: false
|
|
29
28
|
};
|
|
30
29
|
|
|
31
|
-
|
|
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 {
|
|
32
45
|
// Only copy existing keys
|
|
33
|
-
|
|
34
|
-
assert(key in config);
|
|
35
|
-
config[key] = options[key];
|
|
36
|
-
}
|
|
46
|
+
Object.assign(config, options);
|
|
37
47
|
return config;
|
|
38
48
|
}
|
|
39
49
|
|
|
@@ -55,8 +65,8 @@ export function formatValue(
|
|
|
55
65
|
/**
|
|
56
66
|
* Check if value is an "array"
|
|
57
67
|
* Returns `true` if value is either an array or a typed array
|
|
58
|
-
*
|
|
59
68
|
* Note: returns `false` for `ArrayBuffer` and `DataView` instances
|
|
69
|
+
* @note isTypedArray and isNumericArray are often more useful in TypeScript
|
|
60
70
|
*/
|
|
61
71
|
export function isArray(value: unknown): boolean {
|
|
62
72
|
return Array.isArray(value) || (ArrayBuffer.isView(value) && !(value instanceof DataView));
|
|
@@ -281,7 +291,8 @@ function round(value: number): number {
|
|
|
281
291
|
// If the array has a clone function, calls it, otherwise returns a copy
|
|
282
292
|
function duplicateArray(array: NumericArray): NumericArray {
|
|
283
293
|
// @ts-expect-error We check for math.gl class methods
|
|
284
|
-
|
|
294
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
295
|
+
return array.clone ? (array.clone() as NumericArray) : (new Array(array.length) as number[]);
|
|
285
296
|
}
|
|
286
297
|
|
|
287
298
|
// If the argument value is an array, applies the func element wise,
|
|
@@ -295,7 +306,8 @@ function map(
|
|
|
295
306
|
const array = value as NumericArray;
|
|
296
307
|
result = result || duplicateArray(array);
|
|
297
308
|
for (let i = 0; i < result.length && i < array.length; ++i) {
|
|
298
|
-
|
|
309
|
+
const val = typeof value === 'number' ? value : value[i];
|
|
310
|
+
result[i] = func(val, i, result);
|
|
299
311
|
}
|
|
300
312
|
return result;
|
|
301
313
|
}
|
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
|
@@ -33,9 +33,9 @@ export function validateVector(v: NumberArray, length: number): boolean {
|
|
|
33
33
|
return true;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
export function checkNumber(value:
|
|
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
|
}
|
|
@@ -51,7 +51,7 @@ export function checkVector<T extends NumberArray>(
|
|
|
51
51
|
return v;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
const map = {};
|
|
54
|
+
const map: Record<string, boolean> = {};
|
|
55
55
|
|
|
56
56
|
export function deprecated(method: string, version: string): void {
|
|
57
57
|
if (!map[method]) {
|
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
|
-
var _common = require("../../lib/common");
|
|
21
|
-
|
|
22
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
23
|
-
|
|
24
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
25
|
-
|
|
26
|
-
function _extendableBuiltin(cls) {
|
|
27
|
-
function ExtendableBuiltin() {
|
|
28
|
-
var instance = Reflect.construct(cls, Array.from(arguments));
|
|
29
|
-
Object.setPrototypeOf(instance, Object.getPrototypeOf(this));
|
|
30
|
-
return instance;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
ExtendableBuiltin.prototype = Object.create(cls.prototype, {
|
|
34
|
-
constructor: {
|
|
35
|
-
value: cls,
|
|
36
|
-
enumerable: false,
|
|
37
|
-
writable: true,
|
|
38
|
-
configurable: true
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
if (Object.setPrototypeOf) {
|
|
43
|
-
Object.setPrototypeOf(ExtendableBuiltin, cls);
|
|
44
|
-
} else {
|
|
45
|
-
ExtendableBuiltin.__proto__ = cls;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return ExtendableBuiltin;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
var MathArray = function (_extendableBuiltin2) {
|
|
52
|
-
(0, _inherits2.default)(MathArray, _extendableBuiltin2);
|
|
53
|
-
|
|
54
|
-
var _super = _createSuper(MathArray);
|
|
55
|
-
|
|
56
|
-
function MathArray() {
|
|
57
|
-
(0, _classCallCheck2.default)(this, MathArray);
|
|
58
|
-
return _super.apply(this, arguments);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
(0, _createClass2.default)(MathArray, [{
|
|
62
|
-
key: "clone",
|
|
63
|
-
value: function clone() {
|
|
64
|
-
return new this.constructor().copy(this);
|
|
65
|
-
}
|
|
66
|
-
}, {
|
|
67
|
-
key: "fromArray",
|
|
68
|
-
value: function fromArray(array) {
|
|
69
|
-
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
70
|
-
|
|
71
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
72
|
-
this[i] = array[i + offset];
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return this.check();
|
|
76
|
-
}
|
|
77
|
-
}, {
|
|
78
|
-
key: "toArray",
|
|
79
|
-
value: function toArray() {
|
|
80
|
-
var targetArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
81
|
-
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
82
|
-
|
|
83
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
84
|
-
targetArray[offset + i] = this[i];
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return targetArray;
|
|
88
|
-
}
|
|
89
|
-
}, {
|
|
90
|
-
key: "from",
|
|
91
|
-
value: function from(arrayOrObject) {
|
|
92
|
-
return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
|
-
key: "to",
|
|
96
|
-
value: function to(arrayOrObject) {
|
|
97
|
-
if (arrayOrObject === this) {
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return (0, _common.isArray)(arrayOrObject) ? this.toArray(arrayOrObject) : this.toObject(arrayOrObject);
|
|
102
|
-
}
|
|
103
|
-
}, {
|
|
104
|
-
key: "toTarget",
|
|
105
|
-
value: function toTarget(target) {
|
|
106
|
-
return target ? this.to(target) : this;
|
|
107
|
-
}
|
|
108
|
-
}, {
|
|
109
|
-
key: "toFloat32Array",
|
|
110
|
-
value: function toFloat32Array() {
|
|
111
|
-
return new Float32Array(this);
|
|
112
|
-
}
|
|
113
|
-
}, {
|
|
114
|
-
key: "toString",
|
|
115
|
-
value: function toString() {
|
|
116
|
-
return this.formatString(_common.config);
|
|
117
|
-
}
|
|
118
|
-
}, {
|
|
119
|
-
key: "formatString",
|
|
120
|
-
value: function formatString(opts) {
|
|
121
|
-
var string = '';
|
|
122
|
-
|
|
123
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
124
|
-
string += (i > 0 ? ', ' : '') + (0, _common.formatValue)(this[i], opts);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return "".concat(opts.printTypes ? this.constructor.name : '', "[").concat(string, "]");
|
|
128
|
-
}
|
|
129
|
-
}, {
|
|
130
|
-
key: "equals",
|
|
131
|
-
value: function equals(array) {
|
|
132
|
-
if (!array || this.length !== array.length) {
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
137
|
-
if (!(0, _common.equals)(this[i], array[i])) {
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
return true;
|
|
143
|
-
}
|
|
144
|
-
}, {
|
|
145
|
-
key: "exactEquals",
|
|
146
|
-
value: function exactEquals(array) {
|
|
147
|
-
if (!array || this.length !== array.length) {
|
|
148
|
-
return false;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
152
|
-
if (this[i] !== array[i]) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
}, {
|
|
160
|
-
key: "negate",
|
|
161
|
-
value: function negate() {
|
|
162
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
163
|
-
this[i] = -this[i];
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
return this.check();
|
|
167
|
-
}
|
|
168
|
-
}, {
|
|
169
|
-
key: "lerp",
|
|
170
|
-
value: function lerp(a, b, t) {
|
|
171
|
-
if (t === undefined) {
|
|
172
|
-
return this.lerp(this, a, b);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
176
|
-
var ai = a[i];
|
|
177
|
-
this[i] = ai + t * (b[i] - ai);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return this.check();
|
|
181
|
-
}
|
|
182
|
-
}, {
|
|
183
|
-
key: "min",
|
|
184
|
-
value: function min(vector) {
|
|
185
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
186
|
-
this[i] = Math.min(vector[i], this[i]);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
return this.check();
|
|
190
|
-
}
|
|
191
|
-
}, {
|
|
192
|
-
key: "max",
|
|
193
|
-
value: function max(vector) {
|
|
194
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
195
|
-
this[i] = Math.max(vector[i], this[i]);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return this.check();
|
|
199
|
-
}
|
|
200
|
-
}, {
|
|
201
|
-
key: "clamp",
|
|
202
|
-
value: function clamp(minVector, maxVector) {
|
|
203
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
204
|
-
this[i] = Math.min(Math.max(this[i], minVector[i]), maxVector[i]);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return this.check();
|
|
208
|
-
}
|
|
209
|
-
}, {
|
|
210
|
-
key: "add",
|
|
211
|
-
value: function add() {
|
|
212
|
-
for (var _len = arguments.length, vectors = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
213
|
-
vectors[_key] = arguments[_key];
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
for (var _i = 0, _vectors = vectors; _i < _vectors.length; _i++) {
|
|
217
|
-
var _vector = _vectors[_i];
|
|
218
|
-
|
|
219
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
220
|
-
this[i] += _vector[i];
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
return this.check();
|
|
225
|
-
}
|
|
226
|
-
}, {
|
|
227
|
-
key: "subtract",
|
|
228
|
-
value: function subtract() {
|
|
229
|
-
for (var _len2 = arguments.length, vectors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
230
|
-
vectors[_key2] = arguments[_key2];
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
for (var _i2 = 0, _vectors2 = vectors; _i2 < _vectors2.length; _i2++) {
|
|
234
|
-
var _vector2 = _vectors2[_i2];
|
|
235
|
-
|
|
236
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
237
|
-
this[i] -= _vector2[i];
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
return this.check();
|
|
242
|
-
}
|
|
243
|
-
}, {
|
|
244
|
-
key: "scale",
|
|
245
|
-
value: function scale(_scale) {
|
|
246
|
-
if (typeof _scale === 'number') {
|
|
247
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
248
|
-
this[i] *= _scale;
|
|
249
|
-
}
|
|
250
|
-
} else {
|
|
251
|
-
for (var _i3 = 0; _i3 < this.ELEMENTS && _i3 < _scale.length; ++_i3) {
|
|
252
|
-
this[_i3] *= _scale[_i3];
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
return this.check();
|
|
257
|
-
}
|
|
258
|
-
}, {
|
|
259
|
-
key: "multiplyByScalar",
|
|
260
|
-
value: function multiplyByScalar(scalar) {
|
|
261
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
262
|
-
this[i] *= scalar;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
return this.check();
|
|
266
|
-
}
|
|
267
|
-
}, {
|
|
268
|
-
key: "check",
|
|
269
|
-
value: function check() {
|
|
270
|
-
if (_common.config.debug && !this.validate()) {
|
|
271
|
-
throw new Error("math.gl: ".concat(this.constructor.name, " some fields set to invalid numbers'"));
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
return this;
|
|
275
|
-
}
|
|
276
|
-
}, {
|
|
277
|
-
key: "validate",
|
|
278
|
-
value: function validate() {
|
|
279
|
-
var valid = this.length === this.ELEMENTS;
|
|
280
|
-
|
|
281
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
282
|
-
valid = valid && Number.isFinite(this[i]);
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
return valid;
|
|
286
|
-
}
|
|
287
|
-
}, {
|
|
288
|
-
key: "sub",
|
|
289
|
-
value: function sub(a) {
|
|
290
|
-
return this.subtract(a);
|
|
291
|
-
}
|
|
292
|
-
}, {
|
|
293
|
-
key: "setScalar",
|
|
294
|
-
value: function setScalar(a) {
|
|
295
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
296
|
-
this[i] = a;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
return this.check();
|
|
300
|
-
}
|
|
301
|
-
}, {
|
|
302
|
-
key: "addScalar",
|
|
303
|
-
value: function addScalar(a) {
|
|
304
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
305
|
-
this[i] += a;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
return this.check();
|
|
309
|
-
}
|
|
310
|
-
}, {
|
|
311
|
-
key: "subScalar",
|
|
312
|
-
value: function subScalar(a) {
|
|
313
|
-
return this.addScalar(-a);
|
|
314
|
-
}
|
|
315
|
-
}, {
|
|
316
|
-
key: "multiplyScalar",
|
|
317
|
-
value: function multiplyScalar(scalar) {
|
|
318
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
319
|
-
this[i] *= scalar;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
return this.check();
|
|
323
|
-
}
|
|
324
|
-
}, {
|
|
325
|
-
key: "divideScalar",
|
|
326
|
-
value: function divideScalar(a) {
|
|
327
|
-
return this.multiplyByScalar(1 / a);
|
|
328
|
-
}
|
|
329
|
-
}, {
|
|
330
|
-
key: "clampScalar",
|
|
331
|
-
value: function clampScalar(min, max) {
|
|
332
|
-
for (var i = 0; i < this.ELEMENTS; ++i) {
|
|
333
|
-
this[i] = Math.min(Math.max(this[i], min), max);
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
return this.check();
|
|
337
|
-
}
|
|
338
|
-
}, {
|
|
339
|
-
key: "elements",
|
|
340
|
-
get: function get() {
|
|
341
|
-
return this;
|
|
342
|
-
}
|
|
343
|
-
}]);
|
|
344
|
-
return MathArray;
|
|
345
|
-
}(_extendableBuiltin(Array));
|
|
346
|
-
|
|
347
|
-
exports.default = MathArray;
|
|
348
|
-
//# sourceMappingURL=math-array.js.map
|