@math.gl/core 3.6.0-alpha.1 → 3.6.0-alpha.4
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 +61 -31
- package/dist/classes/base/math-array.d.ts.map +1 -1
- package/dist/classes/base/math-array.js +67 -65
- package/dist/classes/base/matrix.d.ts +12 -10
- package/dist/classes/base/matrix.d.ts.map +1 -1
- package/dist/classes/base/matrix.js +2 -10
- package/dist/classes/base/vector.d.ts +37 -25
- package/dist/classes/base/vector.d.ts.map +1 -1
- package/dist/classes/base/vector.js +17 -24
- package/dist/classes/euler.d.ts +59 -55
- package/dist/classes/euler.d.ts.map +1 -1
- package/dist/classes/euler.js +57 -77
- package/dist/classes/matrix3.d.ts +58 -41
- package/dist/classes/matrix3.d.ts.map +1 -1
- package/dist/classes/matrix3.js +68 -59
- package/dist/classes/matrix4.d.ts +214 -90
- package/dist/classes/matrix4.d.ts.map +1 -1
- package/dist/classes/matrix4.js +252 -171
- package/dist/classes/pose.d.ts +29 -26
- package/dist/classes/pose.d.ts.map +1 -1
- package/dist/classes/pose.js +6 -23
- package/dist/classes/quaternion.d.ts +61 -40
- package/dist/classes/quaternion.d.ts.map +1 -1
- package/dist/classes/quaternion.js +49 -53
- package/dist/classes/spherical-coordinates.d.ts +45 -25
- package/dist/classes/spherical-coordinates.d.ts.map +1 -1
- package/dist/classes/spherical-coordinates.js +30 -24
- package/dist/classes/vector2.d.ts +51 -15
- package/dist/classes/vector2.d.ts.map +1 -1
- package/dist/classes/vector2.js +29 -23
- package/dist/classes/vector3.d.ts +47 -32
- package/dist/classes/vector3.d.ts.map +1 -1
- package/dist/classes/vector3.js +16 -30
- package/dist/classes/vector4.d.ts +37 -19
- package/dist/classes/vector4.d.ts.map +1 -1
- package/dist/classes/vector4.js +12 -24
- package/dist/es5/classes/base/math-array.js +248 -179
- package/dist/es5/classes/base/math-array.js.map +1 -1
- package/dist/es5/classes/base/matrix.js +74 -54
- package/dist/es5/classes/base/matrix.js.map +1 -1
- package/dist/es5/classes/base/vector.js +167 -121
- package/dist/es5/classes/base/vector.js.map +1 -1
- package/dist/es5/classes/euler.js +575 -480
- package/dist/es5/classes/euler.js.map +1 -1
- package/dist/es5/classes/matrix3.js +234 -158
- package/dist/es5/classes/matrix3.js.map +1 -1
- package/dist/es5/classes/matrix4.js +510 -417
- package/dist/es5/classes/matrix4.js.map +1 -1
- package/dist/es5/classes/pose.js +126 -101
- package/dist/es5/classes/pose.js.map +1 -1
- package/dist/es5/classes/quaternion.js +285 -213
- package/dist/es5/classes/quaternion.js.map +1 -1
- package/dist/es5/classes/spherical-coordinates.js +170 -125
- package/dist/es5/classes/spherical-coordinates.js.map +1 -1
- package/dist/es5/classes/vector2.js +118 -76
- package/dist/es5/classes/vector2.js.map +1 -1
- package/dist/es5/classes/vector3.js +171 -119
- package/dist/es5/classes/vector3.js.map +1 -1
- package/dist/es5/classes/vector4.js +141 -94
- package/dist/es5/classes/vector4.js.map +1 -1
- package/dist/es5/index.js +34 -34
- package/dist/es5/lib/common.js +56 -30
- package/dist/es5/lib/common.js.map +1 -1
- package/dist/es5/lib/gl-matrix-extras.js +14 -14
- package/dist/es5/lib/gl-matrix-extras.js.map +1 -1
- package/dist/es5/lib/gl-matrix.d.js +2 -0
- package/dist/es5/lib/gl-matrix.d.js.map +1 -0
- package/dist/es5/lib/validators.js +5 -3
- package/dist/es5/lib/validators.js.map +1 -1
- package/dist/esm/classes/base/math-array.js +45 -47
- package/dist/esm/classes/base/math-array.js.map +1 -1
- package/dist/esm/classes/base/matrix.js +0 -11
- package/dist/esm/classes/base/matrix.js.map +1 -1
- package/dist/esm/classes/base/vector.js +0 -10
- package/dist/esm/classes/base/vector.js.map +1 -1
- package/dist/esm/classes/euler.js +61 -48
- package/dist/esm/classes/euler.js.map +1 -1
- package/dist/esm/classes/matrix3.js +55 -33
- package/dist/esm/classes/matrix3.js.map +1 -1
- package/dist/esm/classes/matrix4.js +156 -136
- package/dist/esm/classes/matrix4.js.map +1 -1
- package/dist/esm/classes/pose.js +8 -4
- package/dist/esm/classes/pose.js.map +1 -1
- package/dist/esm/classes/quaternion.js +37 -27
- package/dist/esm/classes/quaternion.js.map +1 -1
- package/dist/esm/classes/spherical-coordinates.js +15 -5
- package/dist/esm/classes/spherical-coordinates.js.map +1 -1
- package/dist/esm/classes/vector2.js.map +1 -1
- package/dist/esm/classes/vector3.js +7 -2
- package/dist/esm/classes/vector3.js.map +1 -1
- package/dist/esm/classes/vector4.js +7 -2
- package/dist/esm/classes/vector4.js.map +1 -1
- package/dist/esm/lib/common.js +8 -8
- package/dist/esm/lib/common.js.map +1 -1
- package/dist/esm/lib/gl-matrix-extras.js.map +1 -1
- package/dist/esm/lib/gl-matrix.d.js +2 -0
- package/dist/esm/lib/gl-matrix.d.js.map +1 -0
- package/dist/esm/lib/validators.js.map +1 -1
- package/dist/lib/common.d.ts +14 -11
- package/dist/lib/common.d.ts.map +1 -1
- package/dist/lib/common.js +10 -23
- package/dist/lib/gl-matrix-extras.d.ts +6 -5
- package/dist/lib/gl-matrix-extras.d.ts.map +1 -1
- package/dist/lib/gl-matrix-extras.js +0 -1
- package/dist/lib/validators.d.ts +5 -4
- package/dist/lib/validators.d.ts.map +1 -1
- package/dist/lib/validators.js +0 -19
- package/package.json +5 -5
- package/src/classes/base/math-array.ts +265 -0
- package/src/classes/base/{matrix.js → matrix.ts} +15 -19
- package/src/classes/base/{vector.js → vector.ts} +47 -54
- package/src/classes/{euler.js → euler.ts} +121 -221
- package/src/classes/matrix3.ts +253 -0
- package/src/classes/matrix4.ts +668 -0
- package/src/classes/{pose.js → pose.ts} +52 -49
- package/src/classes/{quaternion.js → quaternion.ts} +107 -95
- package/src/classes/{spherical-coordinates.js → spherical-coordinates.ts} +84 -54
- package/src/classes/vector2.ts +127 -0
- package/src/classes/{vector3.js → vector3.ts} +43 -55
- package/src/classes/{vector4.js → vector4.ts} +44 -48
- package/src/lib/common.ts +58 -37
- package/src/lib/gl-matrix-extras.ts +26 -5
- package/src/lib/gl-matrix.d.ts +266 -0
- package/src/lib/validators.ts +10 -6
- package/dist/es5/classes/base/math-array.d.js +0 -46
- package/dist/es5/classes/base/math-array.d.js.map +0 -1
- package/dist/es5/classes/base/matrix.d.js +0 -15
- package/dist/es5/classes/base/matrix.d.js.map +0 -1
- package/dist/es5/classes/base/vector.d.js +0 -24
- package/dist/es5/classes/base/vector.d.js.map +0 -1
- package/dist/es5/classes/euler.d.js +0 -45
- package/dist/es5/classes/euler.d.js.map +0 -1
- package/dist/es5/classes/matrix3.d.js +0 -25
- package/dist/es5/classes/matrix3.d.js.map +0 -1
- package/dist/es5/classes/matrix4.d.js +0 -25
- package/dist/es5/classes/matrix4.d.js.map +0 -1
- package/dist/es5/classes/pose.d.js +0 -25
- package/dist/es5/classes/pose.d.js.map +0 -1
- package/dist/es5/classes/quaternion.d.js +0 -27
- package/dist/es5/classes/quaternion.d.js.map +0 -1
- package/dist/es5/classes/spherical-coordinates.d.js +0 -27
- package/dist/es5/classes/spherical-coordinates.d.js.map +0 -1
- package/dist/es5/classes/vector2.d.js +0 -18
- package/dist/es5/classes/vector2.d.js.map +0 -1
- package/dist/es5/classes/vector3.d.js +0 -24
- package/dist/es5/classes/vector3.d.js.map +0 -1
- package/dist/es5/classes/vector4.d.js +0 -25
- package/dist/es5/classes/vector4.d.js.map +0 -1
- package/dist/esm/classes/base/math-array.d.js +0 -36
- package/dist/esm/classes/base/math-array.d.js.map +0 -1
- package/dist/esm/classes/base/matrix.d.js +0 -3
- package/dist/esm/classes/base/matrix.d.js.map +0 -1
- package/dist/esm/classes/base/vector.d.js +0 -13
- package/dist/esm/classes/base/vector.d.js.map +0 -1
- package/dist/esm/classes/euler.d.js +0 -55
- package/dist/esm/classes/euler.d.js.map +0 -1
- package/dist/esm/classes/matrix3.d.js +0 -15
- package/dist/esm/classes/matrix3.d.js.map +0 -1
- package/dist/esm/classes/matrix4.d.js +0 -15
- package/dist/esm/classes/matrix4.d.js.map +0 -1
- package/dist/esm/classes/pose.d.js +0 -18
- package/dist/esm/classes/pose.d.js.map +0 -1
- package/dist/esm/classes/quaternion.d.js +0 -19
- package/dist/esm/classes/quaternion.d.js.map +0 -1
- package/dist/esm/classes/spherical-coordinates.d.js +0 -22
- package/dist/esm/classes/spherical-coordinates.d.js.map +0 -1
- package/dist/esm/classes/vector2.d.js +0 -6
- package/dist/esm/classes/vector2.d.js.map +0 -1
- package/dist/esm/classes/vector3.d.js +0 -13
- package/dist/esm/classes/vector3.d.js.map +0 -1
- package/dist/esm/classes/vector4.d.js +0 -15
- package/dist/esm/classes/vector4.d.js.map +0 -1
- package/src/classes/base/math-array.d.ts +0 -55
- package/src/classes/base/math-array.js +0 -250
- package/src/classes/base/matrix.d.ts +0 -15
- package/src/classes/base/vector.d.ts +0 -45
- package/src/classes/euler.d.ts +0 -92
- package/src/classes/matrix3.d.ts +0 -91
- package/src/classes/matrix3.js +0 -225
- package/src/classes/matrix4.d.ts +0 -161
- package/src/classes/matrix4.js +0 -530
- package/src/classes/pose.d.ts +0 -92
- package/src/classes/quaternion.d.ts +0 -107
- package/src/classes/spherical-coordinates.d.ts +0 -87
- package/src/classes/vector2.d.ts +0 -65
- package/src/classes/vector2.js +0 -122
- package/src/classes/vector3.d.ts +0 -65
- package/src/classes/vector4.d.ts +0 -34
package/dist/classes/euler.d.ts
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import MathArray from './base/math-array';
|
|
2
|
+
import Quaternion from './quaternion';
|
|
3
|
+
import { NumericArray } from '@math.gl/types';
|
|
4
|
+
declare enum RotationOrder {
|
|
5
|
+
ZYX = 0,
|
|
6
|
+
YXZ = 1,
|
|
7
|
+
XZY = 2,
|
|
8
|
+
ZXY = 3,
|
|
9
|
+
YZX = 4,
|
|
10
|
+
XYZ = 5
|
|
11
|
+
}
|
|
12
|
+
export default class Euler extends MathArray {
|
|
13
|
+
static get ZYX(): RotationOrder;
|
|
14
|
+
static get YXZ(): RotationOrder;
|
|
15
|
+
static get XZY(): RotationOrder;
|
|
16
|
+
static get ZXY(): RotationOrder;
|
|
17
|
+
static get YZX(): RotationOrder;
|
|
18
|
+
static get XYZ(): RotationOrder;
|
|
19
|
+
static get RollPitchYaw(): RotationOrder;
|
|
20
|
+
static get DefaultOrder(): RotationOrder;
|
|
21
|
+
static get RotationOrders(): typeof RotationOrder;
|
|
22
|
+
static rotationOrder(order: RotationOrder): string;
|
|
23
|
+
get ELEMENTS(): number;
|
|
12
24
|
/**
|
|
13
25
|
* @class
|
|
14
26
|
* @param {Number | Number[]} x
|
|
@@ -16,58 +28,50 @@ export default class Euler extends MathArray<any> {
|
|
|
16
28
|
* @param {Number=} [z]
|
|
17
29
|
* @param {Number=} [order]
|
|
18
30
|
*/
|
|
19
|
-
constructor(x?: number
|
|
20
|
-
fromQuaternion(quaternion:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
2: any;
|
|
25
|
-
3: any;
|
|
26
|
-
set(x: number, y: number, z: number, order: any): any;
|
|
31
|
+
constructor(x?: number, y?: number, z?: number, order?: RotationOrder);
|
|
32
|
+
fromQuaternion(quaternion: Readonly<NumericArray>): this;
|
|
33
|
+
fromObject(object: object): this;
|
|
34
|
+
copy(array: Readonly<NumericArray>): this;
|
|
35
|
+
set(x: number, y: number, z: number, order: RotationOrder): this;
|
|
27
36
|
validate(): boolean;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/** @type {number} */
|
|
37
|
+
toArray(array?: NumericArray, offset?: number): NumericArray;
|
|
38
|
+
toArray4(array?: NumericArray, offset?: number): NumericArray;
|
|
39
|
+
toVector3(result?: NumericArray): NumericArray;
|
|
32
40
|
get x(): number;
|
|
33
|
-
set
|
|
34
|
-
/** @type {number} */
|
|
41
|
+
set x(value: number);
|
|
35
42
|
get y(): number;
|
|
36
|
-
set
|
|
37
|
-
/** @type {number} */
|
|
43
|
+
set y(value: number);
|
|
38
44
|
get z(): number;
|
|
39
|
-
set
|
|
40
|
-
get alpha():
|
|
41
|
-
set
|
|
42
|
-
get beta():
|
|
43
|
-
set
|
|
44
|
-
get gamma():
|
|
45
|
-
set
|
|
46
|
-
get phi():
|
|
47
|
-
set
|
|
48
|
-
get theta():
|
|
49
|
-
set
|
|
50
|
-
get psi():
|
|
51
|
-
set
|
|
52
|
-
/** @type {number} */
|
|
45
|
+
set z(value: number);
|
|
46
|
+
get alpha(): number;
|
|
47
|
+
set alpha(value: number);
|
|
48
|
+
get beta(): number;
|
|
49
|
+
set beta(value: number);
|
|
50
|
+
get gamma(): number;
|
|
51
|
+
set gamma(value: number);
|
|
52
|
+
get phi(): number;
|
|
53
|
+
set phi(value: number);
|
|
54
|
+
get theta(): number;
|
|
55
|
+
set theta(value: number);
|
|
56
|
+
get psi(): number;
|
|
57
|
+
set psi(value: number);
|
|
53
58
|
get roll(): number;
|
|
54
|
-
set
|
|
55
|
-
/** @type {number} */
|
|
59
|
+
set roll(value: number);
|
|
56
60
|
get pitch(): number;
|
|
57
|
-
set
|
|
58
|
-
/** @type {number} */
|
|
61
|
+
set pitch(value: number);
|
|
59
62
|
get yaw(): number;
|
|
60
|
-
set
|
|
61
|
-
get order():
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
set yaw(value: number);
|
|
64
|
+
get order(): RotationOrder;
|
|
65
|
+
set order(value: RotationOrder);
|
|
66
|
+
fromVector3(v: Readonly<NumericArray>, order: RotationOrder): this;
|
|
67
|
+
fromArray(array: Readonly<NumericArray>, offset?: number): this;
|
|
68
|
+
fromRollPitchYaw(roll: number, pitch: number, yaw: number): this;
|
|
69
|
+
fromRotationMatrix(m: Readonly<NumericArray>, order?: RotationOrder): this;
|
|
70
|
+
getRotationMatrix(m: NumericArray): NumericArray;
|
|
66
71
|
getQuaternion(): Quaternion;
|
|
67
|
-
_fromRotationMatrix(m:
|
|
68
|
-
_getRotationMatrix(result:
|
|
72
|
+
_fromRotationMatrix(m: Readonly<NumericArray>, order?: RotationOrder): this;
|
|
73
|
+
_getRotationMatrix(result: NumericArray): NumericArray;
|
|
69
74
|
toQuaternion(): Quaternion;
|
|
70
75
|
}
|
|
71
|
-
|
|
72
|
-
import Quaternion from "./quaternion";
|
|
76
|
+
export {};
|
|
73
77
|
//# sourceMappingURL=euler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"euler.d.ts","sourceRoot":"","sources":["../../src/classes/euler.
|
|
1
|
+
{"version":3,"file":"euler.d.ts","sourceRoot":"","sources":["../../src/classes/euler.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/euler.js
CHANGED
|
@@ -1,83 +1,56 @@
|
|
|
1
1
|
// Copyright (c) 2017 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
2
|
+
// MIT License
|
|
20
3
|
import MathArray from './base/math-array';
|
|
4
|
+
import Quaternion from './quaternion';
|
|
21
5
|
import { clamp } from '../lib/common';
|
|
22
6
|
import { checkNumber } from '../lib/validators';
|
|
23
|
-
import Quaternion from './quaternion';
|
|
24
7
|
// Internal constants
|
|
25
8
|
const ERR_UNKNOWN_ORDER = 'Unknown Euler angle order';
|
|
26
9
|
const ALMOST_ONE = 0.99999;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
10
|
+
var RotationOrder;
|
|
11
|
+
(function (RotationOrder) {
|
|
12
|
+
RotationOrder[RotationOrder["ZYX"] = 0] = "ZYX";
|
|
13
|
+
RotationOrder[RotationOrder["YXZ"] = 1] = "YXZ";
|
|
14
|
+
RotationOrder[RotationOrder["XZY"] = 2] = "XZY";
|
|
15
|
+
RotationOrder[RotationOrder["ZXY"] = 3] = "ZXY";
|
|
16
|
+
RotationOrder[RotationOrder["YZX"] = 4] = "YZX";
|
|
17
|
+
RotationOrder[RotationOrder["XYZ"] = 5] = "XYZ";
|
|
18
|
+
})(RotationOrder || (RotationOrder = {}));
|
|
36
19
|
export default class Euler extends MathArray {
|
|
37
|
-
// static XYZ = 0;
|
|
38
|
-
// static YZX = 1;
|
|
39
|
-
// static ZXY = 2;
|
|
40
|
-
// static XZY = 3;
|
|
41
|
-
// static YXZ = 4;
|
|
42
|
-
// static ZYX = 5;
|
|
43
|
-
// static RollPitchYaw = 0;
|
|
44
|
-
// static DefaultOrder = 0;
|
|
45
20
|
// Constants
|
|
46
|
-
/* eslint-disable no-multi-spaces, brace-style, no-return-assign */
|
|
47
21
|
static get ZYX() {
|
|
48
|
-
return
|
|
22
|
+
return RotationOrder.ZYX;
|
|
49
23
|
}
|
|
50
24
|
static get YXZ() {
|
|
51
|
-
return
|
|
25
|
+
return RotationOrder.YXZ;
|
|
52
26
|
}
|
|
53
27
|
static get XZY() {
|
|
54
|
-
return
|
|
28
|
+
return RotationOrder.XZY;
|
|
55
29
|
}
|
|
56
30
|
static get ZXY() {
|
|
57
|
-
return
|
|
31
|
+
return RotationOrder.ZXY;
|
|
58
32
|
}
|
|
59
33
|
static get YZX() {
|
|
60
|
-
return
|
|
34
|
+
return RotationOrder.YZX;
|
|
61
35
|
}
|
|
62
36
|
static get XYZ() {
|
|
63
|
-
return
|
|
37
|
+
return RotationOrder.XYZ;
|
|
64
38
|
}
|
|
65
39
|
static get RollPitchYaw() {
|
|
66
|
-
return
|
|
40
|
+
return RotationOrder.ZYX;
|
|
67
41
|
}
|
|
68
42
|
static get DefaultOrder() {
|
|
69
|
-
return
|
|
43
|
+
return RotationOrder.ZYX;
|
|
70
44
|
}
|
|
71
45
|
static get RotationOrders() {
|
|
72
|
-
return
|
|
46
|
+
return RotationOrder;
|
|
73
47
|
}
|
|
74
48
|
static rotationOrder(order) {
|
|
75
|
-
return
|
|
49
|
+
return RotationOrder[order];
|
|
76
50
|
}
|
|
77
51
|
get ELEMENTS() {
|
|
78
52
|
return 4;
|
|
79
53
|
}
|
|
80
|
-
/* eslint-enable no-multi-spaces, brace-style, no-return-assign */
|
|
81
54
|
/**
|
|
82
55
|
* @class
|
|
83
56
|
* @param {Number | Number[]} x
|
|
@@ -91,27 +64,31 @@ export default class Euler extends MathArray {
|
|
|
91
64
|
// eslint-disable-next-line prefer-rest-params
|
|
92
65
|
if (arguments.length > 0 && Array.isArray(arguments[0])) {
|
|
93
66
|
// eslint-disable-next-line prefer-rest-params
|
|
67
|
+
// @ts-expect-error
|
|
94
68
|
this.fromVector3(...arguments);
|
|
95
69
|
}
|
|
96
70
|
else {
|
|
97
|
-
// @ts-ignore error TS2345: Argument of type 'number | [number, number, number, number]' not assignable to 'number'
|
|
98
71
|
this.set(x, y, z, order);
|
|
99
72
|
}
|
|
100
73
|
}
|
|
101
74
|
fromQuaternion(quaternion) {
|
|
102
75
|
const [x, y, z, w] = quaternion;
|
|
103
76
|
const ysqr = y * y;
|
|
104
|
-
const t0 = -2
|
|
105
|
-
const t1 = +2
|
|
106
|
-
let t2 = -2
|
|
107
|
-
const t3 = +2
|
|
108
|
-
const t4 = -2
|
|
109
|
-
t2 = t2 > 1
|
|
110
|
-
t2 = t2 < -1
|
|
77
|
+
const t0 = -2 * (ysqr + z * z) + 1;
|
|
78
|
+
const t1 = +2 * (x * y + w * z);
|
|
79
|
+
let t2 = -2 * (x * z - w * y);
|
|
80
|
+
const t3 = +2 * (y * z + w * x);
|
|
81
|
+
const t4 = -2 * (x * x + ysqr) + 1;
|
|
82
|
+
t2 = t2 > 1 ? 1 : t2;
|
|
83
|
+
t2 = t2 < -1 ? -1 : t2;
|
|
111
84
|
const roll = Math.atan2(t3, t4);
|
|
112
85
|
const pitch = Math.asin(t2);
|
|
113
86
|
const yaw = Math.atan2(t1, t0);
|
|
114
|
-
return
|
|
87
|
+
return this.set(roll, pitch, yaw, Euler.RollPitchYaw);
|
|
88
|
+
}
|
|
89
|
+
fromObject(object) {
|
|
90
|
+
throw new Error('not implemented');
|
|
91
|
+
// return this.set(object.x, object.y, object.z, object.order);
|
|
115
92
|
}
|
|
116
93
|
// fromQuaternion(q, order) {
|
|
117
94
|
// this._fromRotationMat[-0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0];
|
|
@@ -122,6 +99,7 @@ export default class Euler extends MathArray {
|
|
|
122
99
|
this[0] = array[0];
|
|
123
100
|
this[1] = array[1];
|
|
124
101
|
this[2] = array[2];
|
|
102
|
+
// @ts-expect-error
|
|
125
103
|
this[3] = Number.isFinite(array[3]) || this.order;
|
|
126
104
|
return this.check();
|
|
127
105
|
}
|
|
@@ -163,21 +141,18 @@ export default class Euler extends MathArray {
|
|
|
163
141
|
}
|
|
164
142
|
/* eslint-disable no-multi-spaces, brace-style, no-return-assign */
|
|
165
143
|
// x, y, z angle notation (note: only corresponds to axis in XYZ orientation)
|
|
166
|
-
/** @type {number} */
|
|
167
144
|
get x() {
|
|
168
145
|
return this[0];
|
|
169
146
|
}
|
|
170
147
|
set x(value) {
|
|
171
148
|
this[0] = checkNumber(value);
|
|
172
149
|
}
|
|
173
|
-
/** @type {number} */
|
|
174
150
|
get y() {
|
|
175
151
|
return this[1];
|
|
176
152
|
}
|
|
177
153
|
set y(value) {
|
|
178
154
|
this[1] = checkNumber(value);
|
|
179
155
|
}
|
|
180
|
-
/** @type {number} */
|
|
181
156
|
get z() {
|
|
182
157
|
return this[2];
|
|
183
158
|
}
|
|
@@ -223,21 +198,18 @@ export default class Euler extends MathArray {
|
|
|
223
198
|
this[2] = checkNumber(value);
|
|
224
199
|
}
|
|
225
200
|
// roll, pitch, yaw angle notation
|
|
226
|
-
/** @type {number} */
|
|
227
201
|
get roll() {
|
|
228
202
|
return this[0];
|
|
229
203
|
}
|
|
230
204
|
set roll(value) {
|
|
231
205
|
this[0] = checkNumber(value);
|
|
232
206
|
}
|
|
233
|
-
/** @type {number} */
|
|
234
207
|
get pitch() {
|
|
235
208
|
return this[1];
|
|
236
209
|
}
|
|
237
210
|
set pitch(value) {
|
|
238
211
|
this[1] = checkNumber(value);
|
|
239
212
|
}
|
|
240
|
-
/** @type {number} */
|
|
241
213
|
get yaw() {
|
|
242
214
|
return this[2];
|
|
243
215
|
}
|
|
@@ -251,7 +223,6 @@ export default class Euler extends MathArray {
|
|
|
251
223
|
set order(value) {
|
|
252
224
|
this[3] = checkOrder(value);
|
|
253
225
|
}
|
|
254
|
-
/* eslint-disable no-multi-spaces, brace-style, no-return-assign */
|
|
255
226
|
// Constructors
|
|
256
227
|
fromVector3(v, order) {
|
|
257
228
|
return this.set(v[0], v[1], v[2], Number.isFinite(order) ? order : this[3]);
|
|
@@ -268,7 +239,7 @@ export default class Euler extends MathArray {
|
|
|
268
239
|
}
|
|
269
240
|
// Common ZYX rotation order
|
|
270
241
|
fromRollPitchYaw(roll, pitch, yaw) {
|
|
271
|
-
return this.set(roll, pitch, yaw,
|
|
242
|
+
return this.set(roll, pitch, yaw, RotationOrder.ZYX);
|
|
272
243
|
}
|
|
273
244
|
fromRotationMatrix(m, order = Euler.DefaultOrder) {
|
|
274
245
|
this._fromRotationMatrix(m, order);
|
|
@@ -281,25 +252,25 @@ export default class Euler extends MathArray {
|
|
|
281
252
|
// TODO - move to Quaternion
|
|
282
253
|
getQuaternion() {
|
|
283
254
|
const q = new Quaternion();
|
|
284
|
-
switch (this[
|
|
285
|
-
case
|
|
255
|
+
switch (this[4]) {
|
|
256
|
+
case RotationOrder.XYZ:
|
|
286
257
|
return q.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);
|
|
287
|
-
case
|
|
258
|
+
case RotationOrder.YXZ:
|
|
288
259
|
return q.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);
|
|
289
|
-
case
|
|
260
|
+
case RotationOrder.ZXY:
|
|
290
261
|
return q.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);
|
|
291
|
-
case
|
|
262
|
+
case RotationOrder.ZYX:
|
|
292
263
|
return q.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);
|
|
293
|
-
case
|
|
264
|
+
case RotationOrder.YZX:
|
|
294
265
|
return q.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);
|
|
295
|
-
case
|
|
266
|
+
case RotationOrder.XZY:
|
|
296
267
|
return q.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);
|
|
297
268
|
default:
|
|
298
269
|
throw new Error(ERR_UNKNOWN_ORDER);
|
|
299
270
|
}
|
|
300
271
|
}
|
|
301
272
|
// INTERNAL METHODS
|
|
302
|
-
//
|
|
273
|
+
// Conversion from Euler to rotation matrix and from matrix to Euler
|
|
303
274
|
// Adapted from three.js under MIT license
|
|
304
275
|
// // WARNING: this discards revolution information -bhouston
|
|
305
276
|
// reorder(newOrder) {
|
|
@@ -308,10 +279,9 @@ export default class Euler extends MathArray {
|
|
|
308
279
|
/* eslint-disable complexity, max-statements, one-var */
|
|
309
280
|
_fromRotationMatrix(m, order = Euler.DefaultOrder) {
|
|
310
281
|
// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)
|
|
311
|
-
const
|
|
312
|
-
const
|
|
313
|
-
const
|
|
314
|
-
const m31 = te[2], m32 = te[6], m33 = te[10];
|
|
282
|
+
const m11 = m[0], m12 = m[4], m13 = m[8];
|
|
283
|
+
const m21 = m[1], m22 = m[5], m23 = m[9];
|
|
284
|
+
const m31 = m[2], m32 = m[6], m33 = m[10];
|
|
315
285
|
order = order || this[3];
|
|
316
286
|
switch (order) {
|
|
317
287
|
case Euler.XYZ:
|
|
@@ -503,3 +473,13 @@ export default class Euler extends MathArray {
|
|
|
503
473
|
return new Quaternion(x, y, z, w);
|
|
504
474
|
}
|
|
505
475
|
}
|
|
476
|
+
// HELPER FUNCTIONS
|
|
477
|
+
function validateOrder(value) {
|
|
478
|
+
return value >= 0 && value < 6;
|
|
479
|
+
}
|
|
480
|
+
function checkOrder(value) {
|
|
481
|
+
if (value < 0 && value >= 6) {
|
|
482
|
+
throw new Error(ERR_UNKNOWN_ORDER);
|
|
483
|
+
}
|
|
484
|
+
return value;
|
|
485
|
+
}
|
|
@@ -1,43 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
COL2ROW1: number;
|
|
14
|
-
COL2ROW2: number;
|
|
15
|
-
}>;
|
|
16
|
-
copy(array: any): any;
|
|
17
|
-
0: any;
|
|
18
|
-
1: any;
|
|
19
|
-
2: any;
|
|
20
|
-
3: any;
|
|
21
|
-
4: any;
|
|
22
|
-
5: any;
|
|
23
|
-
6: any;
|
|
24
|
-
7: any;
|
|
25
|
-
8: any;
|
|
26
|
-
set(m00: any, m10: any, m20: any, m01: any, m11: any, m21: any, m02: any, m12: any, m22: any): any;
|
|
27
|
-
setRowMajor(m00: any, m01: any, m02: any, m10: any, m11: any, m12: any, m20: any, m21: any, m22: any): any;
|
|
28
|
-
determinant(): any;
|
|
29
|
-
identity(): any;
|
|
30
|
-
fromQuaternion(q: any): any;
|
|
31
|
-
transpose(): any;
|
|
32
|
-
invert(): any;
|
|
33
|
-
multiplyLeft(a: any): any;
|
|
34
|
-
multiplyRight(a: any): any;
|
|
35
|
-
rotate(radians: any): any;
|
|
36
|
-
translate(vec: any): any;
|
|
37
|
-
transform(vector: any, result: any): any;
|
|
38
|
-
transformVector(vector: any, result: any): any;
|
|
39
|
-
transformVector2(vector: any, result: any): any;
|
|
40
|
-
transformVector3(vector: any, result: any): any;
|
|
1
|
+
import Matrix from './base/matrix';
|
|
2
|
+
import { NumericArray } from '@math.gl/types';
|
|
3
|
+
declare enum INDICES {
|
|
4
|
+
COL0ROW0 = 0,
|
|
5
|
+
COL0ROW1 = 1,
|
|
6
|
+
COL0ROW2 = 2,
|
|
7
|
+
COL1ROW0 = 3,
|
|
8
|
+
COL1ROW1 = 4,
|
|
9
|
+
COL1ROW2 = 5,
|
|
10
|
+
COL2ROW0 = 6,
|
|
11
|
+
COL2ROW1 = 7,
|
|
12
|
+
COL2ROW2 = 8
|
|
41
13
|
}
|
|
42
|
-
|
|
14
|
+
export default class Matrix3 extends Matrix {
|
|
15
|
+
static get IDENTITY(): Readonly<Matrix3>;
|
|
16
|
+
static get ZERO(): Readonly<Matrix3>;
|
|
17
|
+
get ELEMENTS(): number;
|
|
18
|
+
get RANK(): number;
|
|
19
|
+
get INDICES(): typeof INDICES;
|
|
20
|
+
constructor(array?: Readonly<NumericArray>);
|
|
21
|
+
/** @deprecated */
|
|
22
|
+
constructor(...args: number[]);
|
|
23
|
+
copy(array: Readonly<NumericArray>): this;
|
|
24
|
+
identity(): this;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @param object
|
|
28
|
+
* @returns self
|
|
29
|
+
*/
|
|
30
|
+
fromObject(object: {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}): this;
|
|
33
|
+
fromQuaternion(q: Readonly<NumericArray>): this;
|
|
34
|
+
/**
|
|
35
|
+
* accepts column major order, stores in column major order
|
|
36
|
+
*/
|
|
37
|
+
set(m00: number, m10: number, m20: number, m01: number, m11: number, m21: number, m02: number, m12: number, m22: number): this;
|
|
38
|
+
/**
|
|
39
|
+
* accepts row major order, stores as column major
|
|
40
|
+
*/
|
|
41
|
+
setRowMajor(m00: number, m01: number, m02: number, m10: number, m11: number, m12: number, m20: number, m21: number, m22: number): this;
|
|
42
|
+
determinant(): number;
|
|
43
|
+
transpose(): this;
|
|
44
|
+
/** Invert a matrix. Note that this can fail if the matrix is not invertible */
|
|
45
|
+
invert(): this;
|
|
46
|
+
multiplyLeft(a: NumericArray): this;
|
|
47
|
+
multiplyRight(a: NumericArray): this;
|
|
48
|
+
rotate(radians: number): NumericArray;
|
|
49
|
+
scale(factor: NumericArray | number): this;
|
|
50
|
+
translate(vec: NumericArray): this;
|
|
51
|
+
transform(vector: Readonly<NumericArray>, result?: NumericArray): NumericArray;
|
|
52
|
+
/** @deprecated */
|
|
53
|
+
transformVector(vector: Readonly<NumericArray>, result?: NumericArray): NumericArray;
|
|
54
|
+
/** @deprecated */
|
|
55
|
+
transformVector2(vector: Readonly<NumericArray>, result?: NumericArray): NumericArray;
|
|
56
|
+
/** @deprecated */
|
|
57
|
+
transformVector3(vector: Readonly<NumericArray>, result?: NumericArray): NumericArray;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
43
60
|
//# sourceMappingURL=matrix3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix3.d.ts","sourceRoot":"","sources":["../../src/classes/matrix3.
|
|
1
|
+
{"version":3,"file":"matrix3.d.ts","sourceRoot":"","sources":["../../src/classes/matrix3.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,eAAe,CAAC;AAOnC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,aAAK,OAAO;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;CACb;AAID,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,MAAM;IACzC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAEvC;IAED,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAEnC;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,OAAO,OAAO,CAE5B;gBAEW,KAAK,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;IAC1C,kBAAkB;gBACN,GAAG,IAAI,EAAE,MAAM,EAAE;IAc7B,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI;IAgBzC,QAAQ,IAAI,IAAI;IAIhB;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAAG,IAAI;IAM9C,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI;IAK/C;;OAEG;IAEH,GAAG,CACD,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,IAAI;IAaP;;OAEG;IAEH,WAAW,CACT,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,IAAI;IAeP,WAAW,IAAI,MAAM;IAKrB,SAAS,IAAI,IAAI;IAKjB,+EAA+E;IAC/E,MAAM,IAAI,IAAI;IAMd,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAKnC,aAAa,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAKpC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAKrC,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAS1C,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAMlC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY;IAkB9E,kBAAkB;IAClB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY;IAIpF,kBAAkB;IAClB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY;IAIrF,kBAAkB;IAClB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY;CAGtF"}
|