@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
package/src/classes/vector3.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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}): {
|
|
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
|
|
115
|
+
return vec3_angle(this, vector);
|
|
102
116
|
}
|
|
103
117
|
|
|
104
118
|
// MODIFIERS
|
|
105
119
|
|
|
106
120
|
cross(vector: Readonly<NumericArray>): this {
|
|
107
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
170
|
+
vec3_transformQuat(this, this, quaternion);
|
|
157
171
|
return this.check();
|
|
158
172
|
}
|
|
159
173
|
}
|
package/src/classes/vector4.ts
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
// Copyright (c) 2017 Uber Technologies, Inc.
|
|
2
2
|
// MIT License
|
|
3
3
|
|
|
4
|
-
import
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
+
}
|