@math.gl/core 4.0.0 → 4.0.1
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 +1 -2
- package/dist/classes/base/math-array.js +220 -266
- package/dist/classes/base/matrix.d.ts +1 -2
- package/dist/classes/base/matrix.js +52 -53
- package/dist/classes/base/vector.d.ts +1 -2
- package/dist/classes/base/vector.js +121 -135
- package/dist/classes/euler.d.ts +2 -3
- package/dist/classes/euler.js +462 -533
- package/dist/classes/matrix3.d.ts +2 -3
- package/dist/classes/matrix3.js +185 -190
- package/dist/classes/matrix4.d.ts +1 -2
- package/dist/classes/matrix4.js +516 -452
- package/dist/classes/pose.d.ts +4 -5
- package/dist/classes/pose.js +104 -119
- package/dist/classes/quaternion.d.ts +1 -2
- package/dist/classes/quaternion.js +257 -233
- package/dist/classes/spherical-coordinates.d.ts +3 -4
- package/dist/classes/spherical-coordinates.js +138 -147
- package/dist/classes/vector2.d.ts +1 -2
- package/dist/classes/vector2.js +101 -85
- package/dist/classes/vector3.d.ts +1 -2
- package/dist/classes/vector3.js +125 -136
- package/dist/classes/vector4.d.ts +2 -3
- package/dist/classes/vector4.js +106 -114
- package/dist/gl-matrix/common.d.ts +0 -1
- package/dist/gl-matrix/common.js +38 -6
- package/dist/gl-matrix/mat3.d.ts +0 -1
- package/dist/gl-matrix/mat3.js +699 -425
- package/dist/gl-matrix/mat4.d.ts +0 -1
- package/dist/gl-matrix/mat4.js +1879 -1339
- package/dist/gl-matrix/quat.d.ts +0 -1
- package/dist/gl-matrix/quat.js +655 -257
- package/dist/gl-matrix/vec2.d.ts +0 -1
- package/dist/gl-matrix/vec2.js +529 -212
- package/dist/gl-matrix/vec3.d.ts +0 -1
- package/dist/gl-matrix/vec3.js +703 -335
- package/dist/gl-matrix/vec4.d.ts +0 -1
- package/dist/gl-matrix/vec4.js +579 -293
- package/dist/gl-matrix/wip/index.d.ts +3 -4
- package/dist/gl-matrix/wip/index.js +2 -1
- package/dist/gl-matrix/wip/mat2.d.ts +0 -1
- package/dist/gl-matrix/wip/mat2.js +333 -157
- package/dist/gl-matrix/wip/mat2d.d.ts +0 -1
- package/dist/gl-matrix/wip/mat2d.js +377 -202
- package/dist/gl-matrix/wip/quat2.d.ts +0 -1
- package/dist/gl-matrix/wip/quat2.js +647 -409
- package/dist/index.cjs +60 -100
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +21 -22
- package/dist/index.js +23 -16
- package/dist/lib/assert.d.ts +0 -1
- package/dist/lib/assert.js +3 -4
- package/dist/lib/common.d.ts +2 -3
- package/dist/lib/common.js +163 -134
- package/dist/lib/gl-matrix-extras.d.ts +0 -1
- package/dist/lib/gl-matrix-extras.js +39 -36
- package/dist/lib/math-utils.d.ts +0 -1
- package/dist/lib/math-utils.js +2 -1
- package/dist/lib/validators.d.ts +0 -1
- package/dist/lib/validators.js +22 -25
- package/package.json +5 -6
- package/src/classes/matrix3.ts +1 -1
- package/dist/classes/base/math-array.d.ts.map +0 -1
- package/dist/classes/base/math-array.js.map +0 -1
- package/dist/classes/base/matrix.d.ts.map +0 -1
- package/dist/classes/base/matrix.js.map +0 -1
- package/dist/classes/base/vector.d.ts.map +0 -1
- package/dist/classes/base/vector.js.map +0 -1
- package/dist/classes/euler.d.ts.map +0 -1
- package/dist/classes/euler.js.map +0 -1
- package/dist/classes/matrix3.d.ts.map +0 -1
- package/dist/classes/matrix3.js.map +0 -1
- package/dist/classes/matrix4.d.ts.map +0 -1
- package/dist/classes/matrix4.js.map +0 -1
- package/dist/classes/pose.d.ts.map +0 -1
- package/dist/classes/pose.js.map +0 -1
- package/dist/classes/quaternion.d.ts.map +0 -1
- package/dist/classes/quaternion.js.map +0 -1
- package/dist/classes/spherical-coordinates.d.ts.map +0 -1
- package/dist/classes/spherical-coordinates.js.map +0 -1
- package/dist/classes/vector2.d.ts.map +0 -1
- package/dist/classes/vector2.js.map +0 -1
- package/dist/classes/vector3.d.ts.map +0 -1
- package/dist/classes/vector3.js.map +0 -1
- package/dist/classes/vector4.d.ts.map +0 -1
- package/dist/classes/vector4.js.map +0 -1
- package/dist/gl-matrix/common.d.ts.map +0 -1
- package/dist/gl-matrix/common.js.map +0 -1
- package/dist/gl-matrix/mat3.d.ts.map +0 -1
- package/dist/gl-matrix/mat3.js.map +0 -1
- package/dist/gl-matrix/mat4.d.ts.map +0 -1
- package/dist/gl-matrix/mat4.js.map +0 -1
- package/dist/gl-matrix/quat.d.ts.map +0 -1
- package/dist/gl-matrix/quat.js.map +0 -1
- package/dist/gl-matrix/vec2.d.ts.map +0 -1
- package/dist/gl-matrix/vec2.js.map +0 -1
- package/dist/gl-matrix/vec3.d.ts.map +0 -1
- package/dist/gl-matrix/vec3.js.map +0 -1
- package/dist/gl-matrix/vec4.d.ts.map +0 -1
- package/dist/gl-matrix/vec4.js.map +0 -1
- package/dist/gl-matrix/wip/index.d.ts.map +0 -1
- package/dist/gl-matrix/wip/index.js.map +0 -1
- package/dist/gl-matrix/wip/mat2.d.ts.map +0 -1
- package/dist/gl-matrix/wip/mat2.js.map +0 -1
- package/dist/gl-matrix/wip/mat2d.d.ts.map +0 -1
- package/dist/gl-matrix/wip/mat2d.js.map +0 -1
- package/dist/gl-matrix/wip/quat2.d.ts.map +0 -1
- package/dist/gl-matrix/wip/quat2.js.map +0 -1
- package/dist/gl-matrix/wip/types.d.js +0 -2
- package/dist/gl-matrix/wip/types.d.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/assert.d.ts.map +0 -1
- package/dist/lib/assert.js.map +0 -1
- package/dist/lib/common.d.ts.map +0 -1
- package/dist/lib/common.js.map +0 -1
- package/dist/lib/gl-matrix-extras.d.ts.map +0 -1
- package/dist/lib/gl-matrix-extras.js.map +0 -1
- package/dist/lib/gl-matrix.d.js +0 -2
- package/dist/lib/gl-matrix.d.js.map +0 -1
- package/dist/lib/math-utils.d.ts.map +0 -1
- package/dist/lib/math-utils.js.map +0 -1
- package/dist/lib/validators.d.ts.map +0 -1
- package/dist/lib/validators.js.map +0 -1
|
@@ -1,140 +1,126 @@
|
|
|
1
1
|
import { MathArray } from "./math-array.js";
|
|
2
2
|
import { checkNumber } from "../../lib/validators.js";
|
|
3
3
|
import { assert } from "../../lib/assert.js";
|
|
4
|
+
/** Base class for vectors with at least 2 elements */
|
|
4
5
|
export class Vector extends MathArray {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
this
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
subVectors(a, b) {
|
|
128
|
-
return this.copy(a).subtract(b);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
multiplyVectors(a, b) {
|
|
132
|
-
return this.copy(a).multiply(b);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
addScaledVector(a, b) {
|
|
136
|
-
return this.add(new this.constructor(a).multiplyScalar(b));
|
|
137
|
-
}
|
|
138
|
-
|
|
6
|
+
// ACCESSORS
|
|
7
|
+
get x() {
|
|
8
|
+
return this[0];
|
|
9
|
+
}
|
|
10
|
+
set x(value) {
|
|
11
|
+
this[0] = checkNumber(value);
|
|
12
|
+
}
|
|
13
|
+
get y() {
|
|
14
|
+
return this[1];
|
|
15
|
+
}
|
|
16
|
+
set y(value) {
|
|
17
|
+
this[1] = checkNumber(value);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Returns the length of the vector from the origin to the point described by this vector
|
|
21
|
+
*
|
|
22
|
+
* @note `length` is a reserved word for Arrays, so `v.length()` will return number of elements
|
|
23
|
+
* Instead we provide `len` and `magnitude`
|
|
24
|
+
*/
|
|
25
|
+
len() {
|
|
26
|
+
return Math.sqrt(this.lengthSquared());
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Returns the length of the vector from the origin to the point described by this vector
|
|
30
|
+
*/
|
|
31
|
+
magnitude() {
|
|
32
|
+
return this.len();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns the squared length of the vector from the origin to the point described by this vector
|
|
36
|
+
*/
|
|
37
|
+
lengthSquared() {
|
|
38
|
+
let length = 0;
|
|
39
|
+
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
40
|
+
length += this[i] * this[i];
|
|
41
|
+
}
|
|
42
|
+
return length;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Returns the squared length of the vector from the origin to the point described by this vector
|
|
46
|
+
*/
|
|
47
|
+
magnitudeSquared() {
|
|
48
|
+
return this.lengthSquared();
|
|
49
|
+
}
|
|
50
|
+
distance(mathArray) {
|
|
51
|
+
return Math.sqrt(this.distanceSquared(mathArray));
|
|
52
|
+
}
|
|
53
|
+
distanceSquared(mathArray) {
|
|
54
|
+
let length = 0;
|
|
55
|
+
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
56
|
+
const dist = this[i] - mathArray[i];
|
|
57
|
+
length += dist * dist;
|
|
58
|
+
}
|
|
59
|
+
return checkNumber(length);
|
|
60
|
+
}
|
|
61
|
+
dot(mathArray) {
|
|
62
|
+
let product = 0;
|
|
63
|
+
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
64
|
+
product += this[i] * mathArray[i];
|
|
65
|
+
}
|
|
66
|
+
return checkNumber(product);
|
|
67
|
+
}
|
|
68
|
+
// MODIFIERS
|
|
69
|
+
normalize() {
|
|
70
|
+
const length = this.magnitude();
|
|
71
|
+
if (length !== 0) {
|
|
72
|
+
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
73
|
+
this[i] /= length;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return this.check();
|
|
77
|
+
}
|
|
78
|
+
multiply(...vectors) {
|
|
79
|
+
for (const vector of vectors) {
|
|
80
|
+
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
81
|
+
this[i] *= vector[i];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return this.check();
|
|
85
|
+
}
|
|
86
|
+
divide(...vectors) {
|
|
87
|
+
for (const vector of vectors) {
|
|
88
|
+
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
89
|
+
this[i] /= vector[i];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return this.check();
|
|
93
|
+
}
|
|
94
|
+
// THREE.js compatibility
|
|
95
|
+
lengthSq() {
|
|
96
|
+
return this.lengthSquared();
|
|
97
|
+
}
|
|
98
|
+
distanceTo(vector) {
|
|
99
|
+
return this.distance(vector);
|
|
100
|
+
}
|
|
101
|
+
distanceToSquared(vector) {
|
|
102
|
+
return this.distanceSquared(vector);
|
|
103
|
+
}
|
|
104
|
+
getComponent(i) {
|
|
105
|
+
assert(i >= 0 && i < this.ELEMENTS, 'index is out of range');
|
|
106
|
+
return checkNumber(this[i]);
|
|
107
|
+
}
|
|
108
|
+
setComponent(i, value) {
|
|
109
|
+
assert(i >= 0 && i < this.ELEMENTS, 'index is out of range');
|
|
110
|
+
this[i] = value;
|
|
111
|
+
return this.check();
|
|
112
|
+
}
|
|
113
|
+
addVectors(a, b) {
|
|
114
|
+
return this.copy(a).add(b);
|
|
115
|
+
}
|
|
116
|
+
subVectors(a, b) {
|
|
117
|
+
return this.copy(a).subtract(b);
|
|
118
|
+
}
|
|
119
|
+
multiplyVectors(a, b) {
|
|
120
|
+
return this.copy(a).multiply(b);
|
|
121
|
+
}
|
|
122
|
+
addScaledVector(a, b) {
|
|
123
|
+
// @ts-expect-error error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.
|
|
124
|
+
return this.add(new this.constructor(a).multiplyScalar(b));
|
|
125
|
+
}
|
|
139
126
|
}
|
|
140
|
-
//# sourceMappingURL=vector.js.map
|
package/dist/classes/euler.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MathArray } from
|
|
2
|
-
import { Quaternion } from
|
|
1
|
+
import { MathArray } from "./base/math-array.js";
|
|
2
|
+
import { Quaternion } from "./quaternion.js";
|
|
3
3
|
import { NumericArray } from '@math.gl/types';
|
|
4
4
|
declare enum RotationOrder {
|
|
5
5
|
ZYX = 0,
|
|
@@ -74,4 +74,3 @@ export declare class Euler extends MathArray {
|
|
|
74
74
|
toQuaternion(): Quaternion;
|
|
75
75
|
}
|
|
76
76
|
export {};
|
|
77
|
-
//# sourceMappingURL=euler.d.ts.map
|