@woosh/meep-engine 2.122.4 → 2.122.5
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/package.json +1 -1
- package/src/core/geom/2d/Rectangle.d.ts +8 -2
- package/src/core/geom/2d/Rectangle.d.ts.map +1 -1
- package/src/core/geom/ConicRay.d.ts +5 -1
- package/src/core/geom/ConicRay.d.ts.map +1 -1
- package/src/core/geom/Quaternion.d.ts +508 -100
- package/src/core/geom/Vector2.d.ts +385 -60
- package/src/core/geom/Vector3.d.ts +569 -135
- package/src/core/model/node-graph/visual/NodeVisualData.d.ts +8 -2
- package/src/core/model/node-graph/visual/NodeVisualData.d.ts.map +1 -1
- package/src/core/model/node-graph/visual/PortVisualData.d.ts +4 -1
- package/src/core/model/node-graph/visual/PortVisualData.d.ts.map +1 -1
- package/src/engine/ecs/components/Motion.d.ts +5 -1
- package/src/engine/ecs/components/Motion.d.ts.map +1 -1
- package/src/engine/ecs/gui/GUIElement.d.ts.map +1 -1
- package/src/engine/ecs/gui/hud/HeadsUpDisplay.d.ts +5 -1
- package/src/engine/ecs/gui/hud/HeadsUpDisplay.d.ts.map +1 -1
- package/src/engine/ecs/gui/position/ViewportPosition.d.ts +15 -6
- package/src/engine/ecs/gui/position/ViewportPosition.d.ts.map +1 -1
- package/src/engine/ecs/terrain/TerrainPreview.d.ts +8 -2
- package/src/engine/ecs/terrain/TerrainPreview.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.d.ts +4 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.d.ts +4 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts +4 -1
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform.d.ts +16 -3
- package/src/engine/ecs/transform/Transform.d.ts.map +1 -1
- package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts +5 -1
- package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts +15 -3
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts.map +1 -1
- package/src/engine/grid/grid2transform/GridPosition2Transform.d.ts +4 -1
- package/src/engine/grid/grid2transform/GridPosition2Transform.d.ts.map +1 -1
- package/src/engine/grid/obstacle/GridObstacle.d.ts +4 -1
- package/src/engine/grid/obstacle/GridObstacle.d.ts.map +1 -1
- package/src/generation/theme/TerrainLayerDescription.d.ts +4 -1
- package/src/generation/theme/TerrainLayerDescription.d.ts.map +1 -1
- package/src/core/geom/Vector3.schema.json +0 -16
package/package.json
CHANGED
|
@@ -132,8 +132,14 @@ declare class Rectangle {
|
|
|
132
132
|
*/
|
|
133
133
|
toArray(target: Array<number> | Float32Array | Float64Array | Uint8Array, targetOffset?: number): void;
|
|
134
134
|
toJSON(): {
|
|
135
|
-
position:
|
|
136
|
-
|
|
135
|
+
position: {
|
|
136
|
+
x: number;
|
|
137
|
+
y: number;
|
|
138
|
+
};
|
|
139
|
+
size: {
|
|
140
|
+
x: number;
|
|
141
|
+
y: number;
|
|
142
|
+
};
|
|
137
143
|
};
|
|
138
144
|
fromJSON(json: any): void;
|
|
139
145
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/2d/Rectangle.js"],"names":[],"mappings":";AAOA;IACI;;;;;;;OAOG;IACH,gBANW,MAAM,MACN,MAAM,UACN,MAAM,WACN,MAAM,EAgBhB;IAXG;;;OAGG;IACH,mBAFU,OAAO,CAEgB;IAEjC;;;OAGG;IACH,eAFU,OAAO,CAEqB;IAG1C;;;OAGG;IACH,UAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,UAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,UAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,UAFY,MAAM,CAIjB;IAED;;;;;;OAMG;IACH,OALW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,QAKhB;IAED;;;OAGG;IACH,SAFa,SAAS,CAUrB;IAED;;;OAGG;IACH,YAFW,SAAS,QAKnB;IAED;;;;;;;OAOG;IACH,gBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAUnB;IAED;;;;OAIG;IACH,kBAHW,SAAS,GACP,OAAO,CAQnB;IAED;;;;;;;OAOG;IACH,cANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAenB;IAED;;;;OAIG;IACH,gBAHW,SAAS,GACP,OAAO,CASnB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAyBhB;IAED;;;OAGG;IACH,mBAFW,SAAS,QASnB;IAED;;;;;;;OAOG;IACH,cANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAiBnB;IAED;;;;OAIG;IACH,gBAHW,SAAS,GACP,OAAO,CAUnB;IAED;;;OAGG;IACH,sBAFW,OAAO,QAUjB;IAED;;;OAGG;IACH,eAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,gBAHW,KAAK,CAAE,MAAM,CAAC,GAAC,YAAY,GAAC,YAAY,GAAC,UAAU,iBACnD,MAAM,QAOhB;IAED
|
|
1
|
+
{"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/2d/Rectangle.js"],"names":[],"mappings":";AAOA;IACI;;;;;;;OAOG;IACH,gBANW,MAAM,MACN,MAAM,UACN,MAAM,WACN,MAAM,EAgBhB;IAXG;;;OAGG;IACH,mBAFU,OAAO,CAEgB;IAEjC;;;OAGG;IACH,eAFU,OAAO,CAEqB;IAG1C;;;OAGG;IACH,UAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,UAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,UAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,UAFY,MAAM,CAIjB;IAED;;;;;;OAMG;IACH,OALW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,QAKhB;IAED;;;OAGG;IACH,SAFa,SAAS,CAUrB;IAED;;;OAGG;IACH,YAFW,SAAS,QAKnB;IAED;;;;;;;OAOG;IACH,gBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAUnB;IAED;;;;OAIG;IACH,kBAHW,SAAS,GACP,OAAO,CAQnB;IAED;;;;;;;OAOG;IACH,cANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAenB;IAED;;;;OAIG;IACH,gBAHW,SAAS,GACP,OAAO,CASnB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAyBhB;IAED;;;OAGG;IACH,mBAFW,SAAS,QASnB;IAED;;;;;;;OAOG;IACH,cANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAiBnB;IAED;;;;OAIG;IACH,gBAHW,SAAS,GACP,OAAO,CAUnB;IAED;;;OAGG;IACH,sBAFW,OAAO,QAUjB;IAED;;;OAGG;IACH,eAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,gBAHW,KAAK,CAAE,MAAM,CAAC,GAAC,YAAY,GAAC,YAAY,GAAC,UAAU,iBACnD,MAAM,QAOhB;IAED;;;;;;;;;MAKC;IAED,0BAGC;IAGL;;;OAGG;IACH,sBAFU,OAAO,CAEc;CAN9B;oBArSmB,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConicRay.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/ConicRay.js"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH;IAkLI;;;;;;;OAOG;IACH,sBANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,GACJ,QAAQ,CAkBpB;IAxMD;;;;OAIG;IACH,oBAFU,OAAO,CAEgB;IAEjC;;;;OAIG;IACH,OAFU,MAAM,CAEN;IAEV
|
|
1
|
+
{"version":3,"file":"ConicRay.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/ConicRay.js"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH;IAkLI;;;;;;;OAOG;IACH,sBANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,GACJ,QAAQ,CAkBpB;IAxMD;;;;OAIG;IACH,oBAFU,OAAO,CAEgB;IAEjC;;;;OAIG;IACH,OAFU,MAAM,CAEN;IAEV;;;;;;;MAKC;IAED,0BAGC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAKtB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAQtB;IAED;;;;OAIG;IACH,cAHW,QAAQ,GACN,OAAO,CAMnB;IAED;;;;;OAKG;IACH,qBAJW,QAAQ,cACR,MAAM,GACJ,OAAO,CAKnB;IAED;;;OAGG;IACH,QAFY,MAAM,CAOjB;IAED;;;OAGG;IACH,YAFW,QAAQ,QAKlB;IAED;;;;OAIG;IACH,4BAHW,OAAO,GACL,OAAO,CAMnB;IAED;;;;;OAKG;IACH,gDAFW,OAAO,QAsEjB;IA6BL;;;OAGG;IACH,qBAFU,OAAO,CAEY;CAN5B;;kBAUS,MAAM;;oBA/NI,cAAc"}
|
|
@@ -1,100 +1,508 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Rotation representation in 3d space
|
|
3
|
+
* @see https://en.wikipedia.org/wiki/Quaternion
|
|
4
|
+
*
|
|
5
|
+
* @author Alex Goldring
|
|
6
|
+
* @copyright Company Named Limited (c) 2025
|
|
7
|
+
*/
|
|
8
|
+
export class Quaternion {
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param {Vector3} axis
|
|
12
|
+
* @param {number} angle
|
|
13
|
+
* @returns {Quaternion}
|
|
14
|
+
*/
|
|
15
|
+
static fromAxisAngle(axis: Vector3, angle: number): Quaternion;
|
|
16
|
+
/**
|
|
17
|
+
* Create a randomly oriented quaternion
|
|
18
|
+
* @param {function} [random] random number generator function
|
|
19
|
+
* @returns {Quaternion}
|
|
20
|
+
*/
|
|
21
|
+
static random(random?: Function): Quaternion;
|
|
22
|
+
/**
|
|
23
|
+
* Convenience constructor
|
|
24
|
+
* Used XYZ angle order (see {@link fromEulerAnglesXYZ})
|
|
25
|
+
* @param {number} x in radians
|
|
26
|
+
* @param {number} y in radians
|
|
27
|
+
* @param {number} z in radians
|
|
28
|
+
* @returns {Quaternion}
|
|
29
|
+
*/
|
|
30
|
+
static fromEulerAngles(x: number, y: number, z: number): Quaternion;
|
|
31
|
+
/**
|
|
32
|
+
* Behaves similarly to Unity's Quaternion `RotateToward` method
|
|
33
|
+
* @param {Quaternion} result
|
|
34
|
+
* @param {Quaternion} from
|
|
35
|
+
* @param {Quaternion} to
|
|
36
|
+
* @param {number} max_delta in radians
|
|
37
|
+
*/
|
|
38
|
+
static rotateTowards(result: Quaternion, from: Quaternion, to: Quaternion, max_delta: number): void;
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @param {number} [x=0]
|
|
42
|
+
* @param {number} [y=0]
|
|
43
|
+
* @param {number} [z=0]
|
|
44
|
+
* @param {number} [w=1]
|
|
45
|
+
* @constructor
|
|
46
|
+
*/
|
|
47
|
+
constructor(x?: number, y?: number, z?: number, w?: number);
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {number}
|
|
51
|
+
*/
|
|
52
|
+
x: number;
|
|
53
|
+
/**
|
|
54
|
+
*
|
|
55
|
+
* @type {number}
|
|
56
|
+
*/
|
|
57
|
+
y: number;
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @type {number}
|
|
61
|
+
*/
|
|
62
|
+
z: number;
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* @type {number}
|
|
66
|
+
*/
|
|
67
|
+
w: number;
|
|
68
|
+
/**
|
|
69
|
+
* Fired when value of the quaternion changes
|
|
70
|
+
* Signature of the signal data is as follows:
|
|
71
|
+
* (new_x, new_y, new_z, new_w, old_x, old_y, old_z, old_w)
|
|
72
|
+
* @readonly
|
|
73
|
+
* @type {Signal<number, number, number, number, number, number, number, number>}
|
|
74
|
+
*/
|
|
75
|
+
readonly onChanged: Signal<number, number, number, number, number, number, number, number>;
|
|
76
|
+
set 0(v: number);
|
|
77
|
+
get 0(): number;
|
|
78
|
+
set 1(v: number);
|
|
79
|
+
get 1(): number;
|
|
80
|
+
set 2(v: number);
|
|
81
|
+
get 2(): number;
|
|
82
|
+
set 3(v: number);
|
|
83
|
+
get 3(): number;
|
|
84
|
+
/**
|
|
85
|
+
* Orient quaternion on a `forward` vector, with the spin matching `up` vector
|
|
86
|
+
* Useful for `lookAt` operations, such as for camera or inverse kinematics
|
|
87
|
+
* @param {number} fx forward vector
|
|
88
|
+
* @param {number} fy forward vector
|
|
89
|
+
* @param {number} fz forward vector
|
|
90
|
+
* @param {number} ux up vector
|
|
91
|
+
* @param {number} uy up vector
|
|
92
|
+
* @param {number} uz up vector
|
|
93
|
+
*/
|
|
94
|
+
_lookRotation(fx: number, fy: number, fz: number, ux: number, uy: number, uz: number): void;
|
|
95
|
+
/**
|
|
96
|
+
*
|
|
97
|
+
* @param {Vector3} forward
|
|
98
|
+
* @param {Vector3} [up=Vector3.up]
|
|
99
|
+
*/
|
|
100
|
+
lookRotation(forward: Vector3, up?: Vector3): void;
|
|
101
|
+
/**
|
|
102
|
+
* Vector dot product in 4 dimensions
|
|
103
|
+
* @param {Quaternion} other
|
|
104
|
+
* @return {number}
|
|
105
|
+
*/
|
|
106
|
+
dot(other: Quaternion): number;
|
|
107
|
+
/**
|
|
108
|
+
* Makes this quaternion into an inverse of the other
|
|
109
|
+
* @param {Quaternion} other
|
|
110
|
+
*/
|
|
111
|
+
copyInverse(other: Quaternion): void;
|
|
112
|
+
/**
|
|
113
|
+
* Calculates the inverse
|
|
114
|
+
*/
|
|
115
|
+
invert(): void;
|
|
116
|
+
/**
|
|
117
|
+
* Returns angle between this orientation and another
|
|
118
|
+
* @param {Quaternion} other
|
|
119
|
+
* @return {number} angle in radians
|
|
120
|
+
*/
|
|
121
|
+
angleTo(other: Quaternion): number;
|
|
122
|
+
/**
|
|
123
|
+
*
|
|
124
|
+
* @param {Vector3} axis
|
|
125
|
+
* @param {number} angle
|
|
126
|
+
*/
|
|
127
|
+
fromAxisAngle(axis: Vector3, angle: number): void;
|
|
128
|
+
/**
|
|
129
|
+
*
|
|
130
|
+
* @param {number} ax
|
|
131
|
+
* @param {number} ay
|
|
132
|
+
* @param {number} az
|
|
133
|
+
* @param {number} angle
|
|
134
|
+
*/
|
|
135
|
+
_fromAxisAngle(ax: number, ay: number, az: number, angle: number): void;
|
|
136
|
+
/**
|
|
137
|
+
* @see https://stackoverflow.com/questions/3684269/component-of-a-quaternion-rotation-around-an-axis
|
|
138
|
+
* @param {Vector3} axis
|
|
139
|
+
* @param {Quaternion} swing
|
|
140
|
+
* @param {Quaternion} twist
|
|
141
|
+
*/
|
|
142
|
+
computeSwingAndTwist(axis: Vector3, swing: Quaternion, twist: Quaternion): void;
|
|
143
|
+
/**
|
|
144
|
+
* Compute rotation (twist) around input axis
|
|
145
|
+
* @param {Vector3} axis
|
|
146
|
+
* @returns {number} in radians
|
|
147
|
+
*/
|
|
148
|
+
computeTwistAngle(axis: Vector3): number;
|
|
149
|
+
/**
|
|
150
|
+
*
|
|
151
|
+
* @param {Vector3} axis
|
|
152
|
+
* @returns {number} angle in radians
|
|
153
|
+
*/
|
|
154
|
+
toAxisAngle(axis: Vector3): number;
|
|
155
|
+
/**
|
|
156
|
+
*
|
|
157
|
+
* @returns {this}
|
|
158
|
+
*/
|
|
159
|
+
normalize(): this;
|
|
160
|
+
/**
|
|
161
|
+
*
|
|
162
|
+
* @param {number} val
|
|
163
|
+
* @return {this}
|
|
164
|
+
*/
|
|
165
|
+
multiplyScalar(val: number): this;
|
|
166
|
+
/**
|
|
167
|
+
* @param {Quaternion} other
|
|
168
|
+
* @returns {this}
|
|
169
|
+
*/
|
|
170
|
+
multiply(other: Quaternion): this;
|
|
171
|
+
/**
|
|
172
|
+
*
|
|
173
|
+
* @param {Quaternion} first
|
|
174
|
+
* @param {Quaternion} second
|
|
175
|
+
* @returns {this}
|
|
176
|
+
*/
|
|
177
|
+
multiplyQuaternions(first: Quaternion, second: Quaternion): this;
|
|
178
|
+
/**
|
|
179
|
+
*
|
|
180
|
+
* @param {number} ax
|
|
181
|
+
* @param {number} ay
|
|
182
|
+
* @param {number} az
|
|
183
|
+
* @param {number} aw
|
|
184
|
+
* @param {number} bx
|
|
185
|
+
* @param {number} by
|
|
186
|
+
* @param {number} bz
|
|
187
|
+
* @param {number} bw
|
|
188
|
+
* @returns {this}
|
|
189
|
+
*/
|
|
190
|
+
_multiplyQuaternions(ax: number, ay: number, az: number, aw: number, bx: number, by: number, bz: number, bw: number): this;
|
|
191
|
+
/**
|
|
192
|
+
*
|
|
193
|
+
* @return {number}
|
|
194
|
+
*/
|
|
195
|
+
length(): number;
|
|
196
|
+
/**
|
|
197
|
+
*
|
|
198
|
+
* @param {Quaternion} other
|
|
199
|
+
* @param {number} max_delta in radians
|
|
200
|
+
* @returns {this}
|
|
201
|
+
*/
|
|
202
|
+
rotateTowards(other: Quaternion, max_delta: number): this;
|
|
203
|
+
/**
|
|
204
|
+
*
|
|
205
|
+
* @param {Vector3} source
|
|
206
|
+
* @param {Vector3} target
|
|
207
|
+
* @param {Vector3} [up]
|
|
208
|
+
*/
|
|
209
|
+
lookAt(source: Vector3, target: Vector3, up?: Vector3): void;
|
|
210
|
+
/**
|
|
211
|
+
* @deprecated use {@link random} instead
|
|
212
|
+
* @param {function():number} random
|
|
213
|
+
*/
|
|
214
|
+
setRandom(random: () => number): Quaternion;
|
|
215
|
+
/**
|
|
216
|
+
*
|
|
217
|
+
* @param {number} x
|
|
218
|
+
* @param {number} y
|
|
219
|
+
* @param {number} z
|
|
220
|
+
* @param {String} [order] a combination of capital letters X,Y,Z. Examples: XYZ, YXZ
|
|
221
|
+
* @returns {Quaternion}
|
|
222
|
+
*/
|
|
223
|
+
__setFromEuler(x: number, y: number, z: number, order?: string): Quaternion;
|
|
224
|
+
/**
|
|
225
|
+
* @see https://localcoder.org/euler-angle-to-quaternion-then-quaternion-to-euler-angle
|
|
226
|
+
* @see https://discourse.mcneel.com/t/what-is-the-right-method-to-convert-quaternion-to-plane-using-rhinocommon/92411/21?page=2
|
|
227
|
+
* @param {Vector3} result
|
|
228
|
+
*/
|
|
229
|
+
toEulerAnglesXYZ(result: Vector3): void;
|
|
230
|
+
/**
|
|
231
|
+
* Adapted from http://bediyap.com/programming/convert-quaternion-to-euler-rotations/
|
|
232
|
+
* @param {Vector3} result
|
|
233
|
+
*/
|
|
234
|
+
toEulerAnglesYXZ(result: Vector3): void;
|
|
235
|
+
/**
|
|
236
|
+
* Adapted from http://bediyap.com/programming/convert-quaternion-to-euler-rotations/
|
|
237
|
+
* @param {Vector3} result
|
|
238
|
+
*/
|
|
239
|
+
toEulerAnglesZYX(result: Vector3): void;
|
|
240
|
+
/**
|
|
241
|
+
* XYZ order
|
|
242
|
+
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
243
|
+
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
244
|
+
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
245
|
+
* @param {number} x angle in X axis in radians
|
|
246
|
+
* @param {number} y angle in Y axis in radians
|
|
247
|
+
* @param {number} z angle in Z axis in radians
|
|
248
|
+
* @returns {this}
|
|
249
|
+
*/
|
|
250
|
+
fromEulerAnglesXYZ(x: number, y: number, z: number): this;
|
|
251
|
+
/**
|
|
252
|
+
* YXZ order
|
|
253
|
+
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
254
|
+
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
255
|
+
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
256
|
+
* @param {number} x angle in X axis in radians
|
|
257
|
+
* @param {number} y angle in Y axis in radians
|
|
258
|
+
* @param {number} z angle in Z axis in radians
|
|
259
|
+
* @returns {this}
|
|
260
|
+
*/
|
|
261
|
+
fromEulerAnglesYXZ(x: number, y: number, z: number): this;
|
|
262
|
+
/**
|
|
263
|
+
* ZXY order
|
|
264
|
+
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
265
|
+
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
266
|
+
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
267
|
+
* @param {number} x angle in X axis in radians
|
|
268
|
+
* @param {number} y angle in Y axis in radians
|
|
269
|
+
* @param {number} z angle in Z axis in radians
|
|
270
|
+
* @returns {this}
|
|
271
|
+
*/
|
|
272
|
+
fromEulerAnglesZXY(x: number, y: number, z: number): this;
|
|
273
|
+
/**
|
|
274
|
+
* ZYX order
|
|
275
|
+
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
276
|
+
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
277
|
+
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
278
|
+
* @param {number} x angle in X axis in radians
|
|
279
|
+
* @param {number} y angle in Y axis in radians
|
|
280
|
+
* @param {number} z angle in Z axis in radians
|
|
281
|
+
* @returns {this}
|
|
282
|
+
*/
|
|
283
|
+
fromEulerAnglesZYX(x: number, y: number, z: number): this;
|
|
284
|
+
/**
|
|
285
|
+
* YZX order
|
|
286
|
+
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
287
|
+
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
288
|
+
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
289
|
+
* @param {number} x angle in X axis in radians
|
|
290
|
+
* @param {number} y angle in Y axis in radians
|
|
291
|
+
* @param {number} z angle in Z axis in radians
|
|
292
|
+
* @returns {this}
|
|
293
|
+
*/
|
|
294
|
+
fromEulerAnglesYZX(x: number, y: number, z: number): this;
|
|
295
|
+
/**
|
|
296
|
+
* XZY order
|
|
297
|
+
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
298
|
+
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
299
|
+
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
300
|
+
* @param {number} x angle in X axis in radians
|
|
301
|
+
* @param {number} y angle in Y axis in radians
|
|
302
|
+
* @param {number} z angle in Z axis in radians
|
|
303
|
+
* @returns {this}
|
|
304
|
+
*/
|
|
305
|
+
fromEulerAnglesXZY(x: number, y: number, z: number): this;
|
|
306
|
+
/**
|
|
307
|
+
* NOTE: Vectors need to be normalized
|
|
308
|
+
*
|
|
309
|
+
* @param {Vector3} from
|
|
310
|
+
* @param {Vector3} to
|
|
311
|
+
* @returns {this}
|
|
312
|
+
*/
|
|
313
|
+
fromUnitVectors(from: Vector3, to: Vector3): this;
|
|
314
|
+
/**
|
|
315
|
+
* @param {number[]} m4x4
|
|
316
|
+
* @returns {this}
|
|
317
|
+
*/
|
|
318
|
+
setFromRotationMatrix(m4x4: number[]): this;
|
|
319
|
+
/**
|
|
320
|
+
* This algorithm comes from "Quaternion Calculus and Fast Animation",
|
|
321
|
+
* Ken Shoemake, 1987 SIGGRAPH course notes
|
|
322
|
+
* @see https://gitlab.com/libeigen/eigen/-/blob/master/Eigen/src/Geometry/Quaternion.h#L813
|
|
323
|
+
* @param {number} m11
|
|
324
|
+
* @param {number} m12
|
|
325
|
+
* @param {number} m13
|
|
326
|
+
* @param {number} m21
|
|
327
|
+
* @param {number} m22
|
|
328
|
+
* @param {number} m23
|
|
329
|
+
* @param {number} m31
|
|
330
|
+
* @param {number} m32
|
|
331
|
+
* @param {number} m33
|
|
332
|
+
* @returns {this}
|
|
333
|
+
*/
|
|
334
|
+
__setFromRotationMatrix(m11: number, m12: number, m13: number, m21: number, m22: number, m23: number, m31: number, m32: number, m33: number): this;
|
|
335
|
+
/**
|
|
336
|
+
* Linear interpolation
|
|
337
|
+
* @param {Quaternion} other
|
|
338
|
+
* @param {number} t fractional value between 0 and 1
|
|
339
|
+
* @returns {this}
|
|
340
|
+
*/
|
|
341
|
+
lerp(other: Quaternion, t: number): this;
|
|
342
|
+
/**
|
|
343
|
+
* Linear interpolation of two quaternions
|
|
344
|
+
* Pretty good, not as good as slerp, but close enough for most application
|
|
345
|
+
* @param {Quaternion} first
|
|
346
|
+
* @param {Quaternion} second
|
|
347
|
+
* @param {number} t
|
|
348
|
+
* @returns {this}
|
|
349
|
+
*/
|
|
350
|
+
lerpQuaternions(first: Quaternion, second: Quaternion, t: number): this;
|
|
351
|
+
/**
|
|
352
|
+
* Spherical linear interpolation
|
|
353
|
+
* @param {Quaternion} from
|
|
354
|
+
* @param {Quaternion} to
|
|
355
|
+
* @param {number} t coefficient, how much between the input quats?
|
|
356
|
+
* @returns {this}
|
|
357
|
+
*/
|
|
358
|
+
slerpQuaternions(from: Quaternion, to: Quaternion, t: number): this;
|
|
359
|
+
/**
|
|
360
|
+
* @see https://github.com/toji/gl-matrix/blob/master/src/gl-matrix/quat.js
|
|
361
|
+
* @param {Quaternion} other
|
|
362
|
+
* @param {number} t
|
|
363
|
+
* @returns {this}
|
|
364
|
+
*/
|
|
365
|
+
slerp(other: Quaternion, t: number): this;
|
|
366
|
+
/**
|
|
367
|
+
*
|
|
368
|
+
* @param {function(x:number,y:number,z:number,w:number)} handler
|
|
369
|
+
* @param {*} [thisArg]
|
|
370
|
+
* @returns {this}
|
|
371
|
+
*/
|
|
372
|
+
process(handler: any, thisArg?: any): this;
|
|
373
|
+
/**
|
|
374
|
+
*
|
|
375
|
+
* @param {Quaternion} other
|
|
376
|
+
* @returns {this}
|
|
377
|
+
*/
|
|
378
|
+
copy(other: Quaternion): this;
|
|
379
|
+
/**
|
|
380
|
+
*
|
|
381
|
+
* @returns {Quaternion}
|
|
382
|
+
*/
|
|
383
|
+
clone(): Quaternion;
|
|
384
|
+
/**
|
|
385
|
+
* Set current value of the quaternion
|
|
386
|
+
* You *MUST* use this method in order for {@link Quaternion#onChanged} signal to be fired
|
|
387
|
+
* @param {number} x
|
|
388
|
+
* @param {number} y
|
|
389
|
+
* @param {number} z
|
|
390
|
+
* @param {number} w
|
|
391
|
+
* @returns {this}
|
|
392
|
+
*/
|
|
393
|
+
set(x: number, y: number, z: number, w: number): this;
|
|
394
|
+
/**
|
|
395
|
+
*
|
|
396
|
+
* @returns {this}
|
|
397
|
+
*/
|
|
398
|
+
conjugate(): this;
|
|
399
|
+
toJSON(): {
|
|
400
|
+
x: number;
|
|
401
|
+
y: number;
|
|
402
|
+
z: number;
|
|
403
|
+
w: number;
|
|
404
|
+
};
|
|
405
|
+
fromJSON(obj: any): void;
|
|
406
|
+
/**
|
|
407
|
+
*
|
|
408
|
+
* @param {BinaryBuffer} buffer
|
|
409
|
+
*/
|
|
410
|
+
toBinaryBuffer(buffer: BinaryBuffer): void;
|
|
411
|
+
/**
|
|
412
|
+
*
|
|
413
|
+
* @param {BinaryBuffer} buffer
|
|
414
|
+
*/
|
|
415
|
+
fromBinaryBuffer(buffer: BinaryBuffer): void;
|
|
416
|
+
/**
|
|
417
|
+
*
|
|
418
|
+
* @param {BinaryBuffer} buffer
|
|
419
|
+
*/
|
|
420
|
+
toBinaryBufferFloat32(buffer: BinaryBuffer): void;
|
|
421
|
+
/**
|
|
422
|
+
*
|
|
423
|
+
* @param {BinaryBuffer} buffer
|
|
424
|
+
*/
|
|
425
|
+
fromBinaryBufferFloat32(buffer: BinaryBuffer): void;
|
|
426
|
+
/**
|
|
427
|
+
* Based on GDC talk from Bungie on destiny, compressing quaternions for animation
|
|
428
|
+
* @deprecated use `quat_decode_from_uint32` instead
|
|
429
|
+
* @param {number} value
|
|
430
|
+
*/
|
|
431
|
+
decodeFromUint32(value: number): void;
|
|
432
|
+
/**
|
|
433
|
+
* Based on GDC talk from Bungie on destiny, compressing quaternions for animation
|
|
434
|
+
* @deprecated use `quat_encode_to_uint32` instead
|
|
435
|
+
* @returns {number}
|
|
436
|
+
*/
|
|
437
|
+
encodeToUint32(): number;
|
|
438
|
+
/**
|
|
439
|
+
*
|
|
440
|
+
* @param {number[]} array
|
|
441
|
+
* @param {number} offset
|
|
442
|
+
*/
|
|
443
|
+
readFromArray(array: number[], offset?: number): void;
|
|
444
|
+
/**
|
|
445
|
+
*
|
|
446
|
+
* @param {number[]} [array]
|
|
447
|
+
* @param {number} [offset]
|
|
448
|
+
* @returns {number[]}
|
|
449
|
+
*/
|
|
450
|
+
writeToArray(array?: number[], offset?: number): number[];
|
|
451
|
+
/**
|
|
452
|
+
*
|
|
453
|
+
* @param {Quaternion} other
|
|
454
|
+
* @returns {boolean}
|
|
455
|
+
*/
|
|
456
|
+
equals(other: Quaternion): boolean;
|
|
457
|
+
/**
|
|
458
|
+
*
|
|
459
|
+
* @returns {number} integer hash
|
|
460
|
+
*/
|
|
461
|
+
hash(): number;
|
|
462
|
+
/**
|
|
463
|
+
* Check for approximate equality between two quaternions
|
|
464
|
+
* @param {Quaternion} other
|
|
465
|
+
* @param {number} [tolerance]
|
|
466
|
+
* @return {boolean}
|
|
467
|
+
*/
|
|
468
|
+
roughlyEquals(other: Quaternion, tolerance?: number): boolean;
|
|
469
|
+
/**
|
|
470
|
+
*
|
|
471
|
+
* @param {number} x
|
|
472
|
+
* @param {number} y
|
|
473
|
+
* @param {number} z
|
|
474
|
+
* @param {number} w
|
|
475
|
+
* @param {number} [tolerance]
|
|
476
|
+
* @return {boolean}
|
|
477
|
+
*/
|
|
478
|
+
_roughlyEquals(x: number, y: number, z: number, w: number, tolerance?: number): boolean;
|
|
479
|
+
/**
|
|
480
|
+
* Randomly orient current quaternion
|
|
481
|
+
* @param {function():number} [random] Defaults to {@link Math.random}
|
|
482
|
+
* @return {Quaternion}
|
|
483
|
+
*/
|
|
484
|
+
random(random?: () => number): Quaternion;
|
|
485
|
+
toString(): string;
|
|
486
|
+
fromArray: (array: number[], offset?: number) => void;
|
|
487
|
+
toArray: (array?: number[], offset?: number) => number[];
|
|
488
|
+
asArray: (array?: number[], offset?: number) => number[];
|
|
489
|
+
fromEulerAngles: (x: number, y: number, z: number) => Quaternion;
|
|
490
|
+
/**
|
|
491
|
+
* Shortcut for type checking
|
|
492
|
+
* @readonly
|
|
493
|
+
* @type {boolean}
|
|
494
|
+
*/
|
|
495
|
+
readonly isQuaternion: boolean;
|
|
496
|
+
/**
|
|
497
|
+
* Making quaternion iterable
|
|
498
|
+
*/
|
|
499
|
+
[Symbol.iterator](): Generator<number, void, unknown>;
|
|
500
|
+
}
|
|
501
|
+
export namespace Quaternion {
|
|
502
|
+
let identity: Quaternion;
|
|
503
|
+
let typeName: string;
|
|
504
|
+
}
|
|
505
|
+
export default Quaternion;
|
|
506
|
+
import Signal from "../events/signal/Signal.js";
|
|
507
|
+
import Vector3 from "./Vector3.js";
|
|
508
|
+
//# sourceMappingURL=Quaternion.d.ts.map
|