@math.gl/core 4.0.0-alpha.1 → 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 +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 +1603 -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
package/src/classes/vector3.ts
CHANGED
|
@@ -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
|
|
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
|
|
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}): {
|
|
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
|
|
115
|
+
return vec3_angle(this, vector);
|
|
103
116
|
}
|
|
104
117
|
|
|
105
118
|
// MODIFIERS
|
|
106
119
|
|
|
107
120
|
cross(vector: Readonly<NumericArray>): this {
|
|
108
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
170
|
+
vec3_transformQuat(this, this, quaternion);
|
|
158
171
|
return this.check();
|
|
159
172
|
}
|
|
160
173
|
}
|
package/src/classes/vector4.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
+
}
|