acmi-parser 1.1.0 → 1.2.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.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +388 -0
  3. package/dist/acmi-parser.cjs +3 -2
  4. package/dist/acmi-parser.js +6093 -4191
  5. package/dist/types/acmi/acmiData.d.ts +41 -0
  6. package/dist/types/acmi/entity.d.ts +26 -0
  7. package/dist/types/acmi/frame.d.ts +17 -0
  8. package/dist/types/acmi/globalProperties.d.ts +30 -0
  9. package/dist/types/acmi/header.d.ts +7 -0
  10. package/dist/types/acmi/timeSpan.d.ts +12 -0
  11. package/dist/types/acmi/transform.d.ts +22 -0
  12. package/dist/types/index.d.ts +14 -0
  13. package/dist/types/math3d/core/classes/base/math-array.d.ts +66 -0
  14. package/dist/types/math3d/core/classes/base/matrix.d.ts +13 -0
  15. package/dist/types/math3d/core/classes/base/vector.d.ts +43 -0
  16. package/dist/types/math3d/core/classes/euler.d.ts +78 -0
  17. package/dist/types/math3d/core/classes/matrix3.d.ts +62 -0
  18. package/dist/types/math3d/core/classes/matrix4.d.ts +232 -0
  19. package/dist/types/math3d/core/classes/pose.d.ts +39 -0
  20. package/dist/types/math3d/core/classes/quaternion.d.ts +64 -0
  21. package/dist/types/math3d/core/classes/spherical-coordinates.d.ts +59 -0
  22. package/dist/types/math3d/core/classes/vector2.d.ts +54 -0
  23. package/dist/types/math3d/core/classes/vector3.d.ts +59 -0
  24. package/dist/types/math3d/core/classes/vector4.d.ts +40 -0
  25. package/dist/types/math3d/core/gl-matrix/common.d.ts +37 -0
  26. package/dist/types/math3d/core/gl-matrix/mat3.d.ts +286 -0
  27. package/dist/types/math3d/core/gl-matrix/mat4.d.ts +549 -0
  28. package/dist/types/math3d/core/gl-matrix/quat.d.ts +358 -0
  29. package/dist/types/math3d/core/gl-matrix/vec2.d.ts +362 -0
  30. package/dist/types/math3d/core/gl-matrix/vec3.d.ts +405 -0
  31. package/dist/types/math3d/core/gl-matrix/vec4.d.ts +329 -0
  32. package/dist/types/math3d/core/index.d.ts +29 -0
  33. package/dist/types/math3d/core/lib/assert.d.ts +1 -0
  34. package/dist/types/math3d/core/lib/common.d.ts +99 -0
  35. package/dist/types/math3d/core/lib/gl-matrix-extras.d.ts +6 -0
  36. package/dist/types/math3d/core/lib/math-utils.d.ts +24 -0
  37. package/dist/types/math3d/core/lib/validators.d.ts +5 -0
  38. package/dist/types/math3d/geoid/geoid.d.ts +73 -0
  39. package/dist/types/math3d/geoid/index.d.ts +2 -0
  40. package/dist/types/math3d/geoid/parse-pgm.d.ts +11 -0
  41. package/dist/types/math3d/geospatial/constants.d.ts +11 -0
  42. package/dist/types/math3d/geospatial/ellipsoid/ellipsoid.d.ts +69 -0
  43. package/dist/types/math3d/geospatial/ellipsoid/helpers/ellipsoid-transform.d.ts +4 -0
  44. package/dist/types/math3d/geospatial/ellipsoid/helpers/scale-to-geodetic-surface.d.ts +2 -0
  45. package/dist/types/math3d/geospatial/index.d.ts +2 -0
  46. package/dist/types/math3d/geospatial/type-utils.d.ts +23 -0
  47. package/dist/types/math3d/index.d.ts +4 -0
  48. package/dist/types/math3d/types/array-types.d.ts +14 -0
  49. package/dist/types/math3d/types/bigint.d.ts +20 -0
  50. package/dist/types/math3d/types/index.d.ts +2 -0
  51. package/dist/types/math3d/types/is-array.d.ts +13 -0
  52. package/dist/types/parser.d.ts +90 -0
  53. package/dist/types/trajectory/stateVector.d.ts +30 -0
  54. package/dist/types/trajectory/trajectory.d.ts +40 -0
  55. package/dist/types/trajectory/trajectorySample.d.ts +11 -0
  56. package/package.json +20 -15
  57. package/dist/types/acmi-parser.d.ts +0 -422
@@ -0,0 +1,549 @@
1
+ /**
2
+ * 4x4 Matrix<br>Format: column-major, when typed out it looks like row-major<br>The matrices are being post multiplied.
3
+ * @module mat4
4
+ */
5
+ /**
6
+ * Creates a new identity mat4
7
+ *
8
+ * @returns a new 4x4 matrix
9
+ */
10
+ export declare function create(): any[] | Float32Array<ArrayBuffer>;
11
+ /**
12
+ * Creates a new mat4 initialized with values from an existing matrix
13
+ *
14
+ * @param {ReadonlyMat4} a matrix to clone
15
+ * @returns {mat4} a new 4x4 matrix
16
+ */
17
+ export declare function clone(a: any): any[] | Float32Array<ArrayBuffer>;
18
+ /**
19
+ * Copy the values from one mat4 to another
20
+ *
21
+ * @param {mat4} out the receiving matrix
22
+ * @param {ReadonlyMat4} a the source matrix
23
+ * @returns {mat4} out
24
+ */
25
+ export declare function copy(out: any, a: any): any;
26
+ /**
27
+ * Create a new mat4 with the given values
28
+ *
29
+ * @param {Number} m00 Component in column 0, row 0 position (index 0)
30
+ * @param {Number} m01 Component in column 0, row 1 position (index 1)
31
+ * @param {Number} m02 Component in column 0, row 2 position (index 2)
32
+ * @param {Number} m03 Component in column 0, row 3 position (index 3)
33
+ * @param {Number} m10 Component in column 1, row 0 position (index 4)
34
+ * @param {Number} m11 Component in column 1, row 1 position (index 5)
35
+ * @param {Number} m12 Component in column 1, row 2 position (index 6)
36
+ * @param {Number} m13 Component in column 1, row 3 position (index 7)
37
+ * @param {Number} m20 Component in column 2, row 0 position (index 8)
38
+ * @param {Number} m21 Component in column 2, row 1 position (index 9)
39
+ * @param {Number} m22 Component in column 2, row 2 position (index 10)
40
+ * @param {Number} m23 Component in column 2, row 3 position (index 11)
41
+ * @param {Number} m30 Component in column 3, row 0 position (index 12)
42
+ * @param {Number} m31 Component in column 3, row 1 position (index 13)
43
+ * @param {Number} m32 Component in column 3, row 2 position (index 14)
44
+ * @param {Number} m33 Component in column 3, row 3 position (index 15)
45
+ * @returns {mat4} A new mat4
46
+ */
47
+ export declare function fromValues(m00: any, m01: any, m02: any, m03: any, m10: any, m11: any, m12: any, m13: any, m20: any, m21: any, m22: any, m23: any, m30: any, m31: any, m32: any, m33: any): any[] | Float32Array<ArrayBuffer>;
48
+ /**
49
+ * Set the components of a mat4 to the given values
50
+ *
51
+ * @param {mat4} out the receiving matrix
52
+ * @param {Number} m00 Component in column 0, row 0 position (index 0)
53
+ * @param {Number} m01 Component in column 0, row 1 position (index 1)
54
+ * @param {Number} m02 Component in column 0, row 2 position (index 2)
55
+ * @param {Number} m03 Component in column 0, row 3 position (index 3)
56
+ * @param {Number} m10 Component in column 1, row 0 position (index 4)
57
+ * @param {Number} m11 Component in column 1, row 1 position (index 5)
58
+ * @param {Number} m12 Component in column 1, row 2 position (index 6)
59
+ * @param {Number} m13 Component in column 1, row 3 position (index 7)
60
+ * @param {Number} m20 Component in column 2, row 0 position (index 8)
61
+ * @param {Number} m21 Component in column 2, row 1 position (index 9)
62
+ * @param {Number} m22 Component in column 2, row 2 position (index 10)
63
+ * @param {Number} m23 Component in column 2, row 3 position (index 11)
64
+ * @param {Number} m30 Component in column 3, row 0 position (index 12)
65
+ * @param {Number} m31 Component in column 3, row 1 position (index 13)
66
+ * @param {Number} m32 Component in column 3, row 2 position (index 14)
67
+ * @param {Number} m33 Component in column 3, row 3 position (index 15)
68
+ * @returns {mat4} out
69
+ */
70
+ export declare function set(out: any, m00: any, m01: any, m02: any, m03: any, m10: any, m11: any, m12: any, m13: any, m20: any, m21: any, m22: any, m23: any, m30: any, m31: any, m32: any, m33: any): any;
71
+ /**
72
+ * Set a mat4 to the identity matrix
73
+ *
74
+ * @param {mat4} out the receiving matrix
75
+ * @returns {mat4} out
76
+ */
77
+ export declare function identity(out: any): any;
78
+ /**
79
+ * Transpose the values of a mat4
80
+ *
81
+ * @param {mat4} out the receiving matrix
82
+ * @param {ReadonlyMat4} a the source matrix
83
+ * @returns {mat4} out
84
+ */
85
+ export declare function transpose(out: any, a: any): any;
86
+ /**
87
+ * Inverts a mat4
88
+ *
89
+ * @param {mat4} out the receiving matrix
90
+ * @param {ReadonlyMat4} a the source matrix
91
+ * @returns {mat4} out
92
+ */
93
+ export declare function invert(out: any, a: any): any;
94
+ /**
95
+ * Calculates the adjugate of a mat4
96
+ *
97
+ * @param {mat4} out the receiving matrix
98
+ * @param {ReadonlyMat4} a the source matrix
99
+ * @returns {mat4} out
100
+ */
101
+ export declare function adjoint(out: any, a: any): any;
102
+ /**
103
+ * Calculates the determinant of a mat4
104
+ *
105
+ * @param {ReadonlyMat4} a the source matrix
106
+ * @returns {Number} determinant of a
107
+ */
108
+ export declare function determinant(a: any): number;
109
+ /**
110
+ * Multiplies two mat4s
111
+ *
112
+ * @param {mat4} out the receiving matrix
113
+ * @param {ReadonlyMat4} a the first operand
114
+ * @param {ReadonlyMat4} b the second operand
115
+ * @returns {mat4} out
116
+ */
117
+ export declare function multiply(out: any, a: any, b: any): any;
118
+ /**
119
+ * Translate a mat4 by the given vector
120
+ *
121
+ * @param {mat4} out the receiving matrix
122
+ * @param {ReadonlyMat4} a the matrix to translate
123
+ * @param {ReadonlyVec3} v vector to translate by
124
+ * @returns {mat4} out
125
+ */
126
+ export declare function translate(out: any, a: any, v: any): any;
127
+ /**
128
+ * Scales the mat4 by the dimensions in the given vec3 not using vectorization
129
+ *
130
+ * @param {mat4} out the receiving matrix
131
+ * @param {ReadonlyMat4} a the matrix to scale
132
+ * @param {ReadonlyVec3} v the vec3 to scale the matrix by
133
+ * @returns {mat4} out
134
+ **/
135
+ export declare function scale(out: any, a: any, v: any): any;
136
+ /**
137
+ * Rotates a mat4 by the given angle around the given axis
138
+ *
139
+ * @param {mat4} out the receiving matrix
140
+ * @param {ReadonlyMat4} a the matrix to rotate
141
+ * @param {Number} rad the angle to rotate the matrix by
142
+ * @param {ReadonlyVec3} axis the axis to rotate around
143
+ * @returns {mat4} out
144
+ */
145
+ export declare function rotate(out: any, a: any, rad: any, axis: any): any;
146
+ /**
147
+ * Rotates a matrix by the given angle around the X axis
148
+ *
149
+ * @param {mat4} out the receiving matrix
150
+ * @param {ReadonlyMat4} a the matrix to rotate
151
+ * @param {Number} rad the angle to rotate the matrix by
152
+ * @returns {mat4} out
153
+ */
154
+ export declare function rotateX(out: any, a: any, rad: any): any;
155
+ /**
156
+ * Rotates a matrix by the given angle around the Y axis
157
+ *
158
+ * @param {mat4} out the receiving matrix
159
+ * @param {ReadonlyMat4} a the matrix to rotate
160
+ * @param {Number} rad the angle to rotate the matrix by
161
+ * @returns {mat4} out
162
+ */
163
+ export declare function rotateY(out: any, a: any, rad: any): any;
164
+ /**
165
+ * Rotates a matrix by the given angle around the Z axis
166
+ *
167
+ * @param {mat4} out the receiving matrix
168
+ * @param {ReadonlyMat4} a the matrix to rotate
169
+ * @param {Number} rad the angle to rotate the matrix by
170
+ * @returns {mat4} out
171
+ */
172
+ export declare function rotateZ(out: any, a: any, rad: any): any;
173
+ /**
174
+ * Creates a matrix from a vector translation
175
+ * This is equivalent to (but much faster than):
176
+ *
177
+ * mat4.identity(dest);
178
+ * mat4.translate(dest, dest, vec);
179
+ *
180
+ * @param {mat4} out mat4 receiving operation result
181
+ * @param {ReadonlyVec3} v Translation vector
182
+ * @returns {mat4} out
183
+ */
184
+ export declare function fromTranslation(out: any, v: any): any;
185
+ /**
186
+ * Creates a matrix from a vector scaling
187
+ * This is equivalent to (but much faster than):
188
+ *
189
+ * mat4.identity(dest);
190
+ * mat4.scale(dest, dest, vec);
191
+ *
192
+ * @param {mat4} out mat4 receiving operation result
193
+ * @param {ReadonlyVec3} v Scaling vector
194
+ * @returns {mat4} out
195
+ */
196
+ export declare function fromScaling(out: any, v: any): any;
197
+ /**
198
+ * Creates a matrix from a given angle around a given axis
199
+ * This is equivalent to (but much faster than):
200
+ *
201
+ * mat4.identity(dest);
202
+ * mat4.rotate(dest, dest, rad, axis);
203
+ *
204
+ * @param {mat4} out mat4 receiving operation result
205
+ * @param {Number} rad the angle to rotate the matrix by
206
+ * @param {ReadonlyVec3} axis the axis to rotate around
207
+ * @returns {mat4} out
208
+ */
209
+ export declare function fromRotation(out: any, rad: any, axis: any): any;
210
+ /**
211
+ * Creates a matrix from the given angle around the X axis
212
+ * This is equivalent to (but much faster than):
213
+ *
214
+ * mat4.identity(dest);
215
+ * mat4.rotateX(dest, dest, rad);
216
+ *
217
+ * @param {mat4} out mat4 receiving operation result
218
+ * @param {Number} rad the angle to rotate the matrix by
219
+ * @returns {mat4} out
220
+ */
221
+ export declare function fromXRotation(out: any, rad: any): any;
222
+ /**
223
+ * Creates a matrix from the given angle around the Y axis
224
+ * This is equivalent to (but much faster than):
225
+ *
226
+ * mat4.identity(dest);
227
+ * mat4.rotateY(dest, dest, rad);
228
+ *
229
+ * @param {mat4} out mat4 receiving operation result
230
+ * @param {Number} rad the angle to rotate the matrix by
231
+ * @returns {mat4} out
232
+ */
233
+ export declare function fromYRotation(out: any, rad: any): any;
234
+ /**
235
+ * Creates a matrix from the given angle around the Z axis
236
+ * This is equivalent to (but much faster than):
237
+ *
238
+ * mat4.identity(dest);
239
+ * mat4.rotateZ(dest, dest, rad);
240
+ *
241
+ * @param {mat4} out mat4 receiving operation result
242
+ * @param {Number} rad the angle to rotate the matrix by
243
+ * @returns {mat4} out
244
+ */
245
+ export declare function fromZRotation(out: any, rad: any): any;
246
+ /**
247
+ * Creates a matrix from a quaternion rotation and vector translation
248
+ * This is equivalent to (but much faster than):
249
+ *
250
+ * mat4.identity(dest);
251
+ * mat4.translate(dest, vec);
252
+ * let quatMat = mat4.create();
253
+ * quat4.toMat4(quat, quatMat);
254
+ * mat4.multiply(dest, quatMat);
255
+ *
256
+ * @param {mat4} out mat4 receiving operation result
257
+ * @param {quat4} q Rotation quaternion
258
+ * @param {ReadonlyVec3} v Translation vector
259
+ * @returns {mat4} out
260
+ */
261
+ export declare function fromRotationTranslation(out: any, q: any, v: any): any;
262
+ /**
263
+ * Creates a new mat4 from a dual quat.
264
+ *
265
+ * @param {mat4} out Matrix
266
+ * @param {ReadonlyQuat2} a Dual Quaternion
267
+ * @returns {mat4} mat4 receiving operation result
268
+ */
269
+ export declare function fromQuat2(out: any, a: any): any;
270
+ /**
271
+ * Returns the translation vector component of a transformation
272
+ * matrix. If a matrix is built with fromRotationTranslation,
273
+ * the returned vector will be the same as the translation vector
274
+ * originally supplied.
275
+ * @param {vec3} out Vector to receive translation component
276
+ * @param {ReadonlyMat4} mat Matrix to be decomposed (input)
277
+ * @return {vec3} out
278
+ */
279
+ export declare function getTranslation(out: any, mat: any): any;
280
+ /**
281
+ * Returns the scaling factor component of a transformation
282
+ * matrix. If a matrix is built with fromRotationTranslationScale
283
+ * with a normalized Quaternion paramter, the returned vector will be
284
+ * the same as the scaling vector
285
+ * originally supplied.
286
+ * @param {vec3} out Vector to receive scaling factor component
287
+ * @param {ReadonlyMat4} mat Matrix to be decomposed (input)
288
+ * @return {vec3} out
289
+ */
290
+ export declare function getScaling(out: any, mat: any): any;
291
+ /**
292
+ * Returns a quaternion representing the rotational component
293
+ * of a transformation matrix. If a matrix is built with
294
+ * fromRotationTranslation, the returned quaternion will be the
295
+ * same as the quaternion originally supplied.
296
+ * @param {quat} out Quaternion to receive the rotation component
297
+ * @param {ReadonlyMat4} mat Matrix to be decomposed (input)
298
+ * @return {quat} out
299
+ */
300
+ export declare function getRotation(out: any, mat: any): any;
301
+ /**
302
+ * Decomposes a transformation matrix into its rotation, translation
303
+ * and scale components. Returns only the rotation component
304
+ * @param {quat} out_r Quaternion to receive the rotation component
305
+ * @param {vec3} out_t Vector to receive the translation vector
306
+ * @param {vec3} out_s Vector to receive the scaling factor
307
+ * @param {ReadonlyMat4} mat Matrix to be decomposed (input)
308
+ * @returns {quat} out_r
309
+ */
310
+ export declare function decompose(out_r: any, out_t: any, out_s: any, mat: any): any;
311
+ /**
312
+ * Creates a matrix from a quaternion rotation, vector translation and vector scale
313
+ * This is equivalent to (but much faster than):
314
+ *
315
+ * mat4.identity(dest);
316
+ * mat4.translate(dest, vec);
317
+ * let quatMat = mat4.create();
318
+ * quat4.toMat4(quat, quatMat);
319
+ * mat4.multiply(dest, quatMat);
320
+ * mat4.scale(dest, scale)
321
+ *
322
+ * @param {mat4} out mat4 receiving operation result
323
+ * @param {quat4} q Rotation quaternion
324
+ * @param {ReadonlyVec3} v Translation vector
325
+ * @param {ReadonlyVec3} s Scaling vector
326
+ * @returns {mat4} out
327
+ */
328
+ export declare function fromRotationTranslationScale(out: any, q: any, v: any, s: any): any;
329
+ /**
330
+ * Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin
331
+ * This is equivalent to (but much faster than):
332
+ *
333
+ * mat4.identity(dest);
334
+ * mat4.translate(dest, vec);
335
+ * mat4.translate(dest, origin);
336
+ * let quatMat = mat4.create();
337
+ * quat4.toMat4(quat, quatMat);
338
+ * mat4.multiply(dest, quatMat);
339
+ * mat4.scale(dest, scale)
340
+ * mat4.translate(dest, negativeOrigin);
341
+ *
342
+ * @param {mat4} out mat4 receiving operation result
343
+ * @param {quat4} q Rotation quaternion
344
+ * @param {ReadonlyVec3} v Translation vector
345
+ * @param {ReadonlyVec3} s Scaling vector
346
+ * @param {ReadonlyVec3} o The origin vector around which to scale and rotate
347
+ * @returns {mat4} out
348
+ */
349
+ export declare function fromRotationTranslationScaleOrigin(out: any, q: any, v: any, s: any, o: any): any;
350
+ /**
351
+ * Calculates a 4x4 matrix from the given quaternion
352
+ *
353
+ * @param {mat4} out mat4 receiving operation result
354
+ * @param {ReadonlyQuat} q Quaternion to create matrix from
355
+ *
356
+ * @returns {mat4} out
357
+ */
358
+ export declare function fromQuat(out: any, q: any): any;
359
+ /**
360
+ * Generates a frustum matrix with the given bounds
361
+ *
362
+ * @param {mat4} out mat4 frustum matrix will be written into
363
+ * @param {Number} left Left bound of the frustum
364
+ * @param {Number} right Right bound of the frustum
365
+ * @param {Number} bottom Bottom bound of the frustum
366
+ * @param {Number} top Top bound of the frustum
367
+ * @param {Number} near Near bound of the frustum
368
+ * @param {Number} far Far bound of the frustum
369
+ * @returns {mat4} out
370
+ */
371
+ export declare function frustum(out: any, left: any, right: any, bottom: any, top: any, near: any, far: any): any;
372
+ /**
373
+ * Generates a perspective projection matrix with the given bounds.
374
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],
375
+ * which matches WebGL/OpenGL's clip volume.
376
+ * Passing null/undefined/no value for far will generate infinite projection matrix.
377
+ *
378
+ * @param {mat4} out mat4 frustum matrix will be written into
379
+ * @param {number} fovy Vertical field of view in radians
380
+ * @param {number} aspect Aspect ratio. typically viewport width/height
381
+ * @param {number} near Near bound of the frustum
382
+ * @param {number} far Far bound of the frustum, can be null or Infinity
383
+ * @returns {mat4} out
384
+ */
385
+ export declare function perspectiveNO(out: any, fovy: any, aspect: any, near: any, far: any): any;
386
+ /**
387
+ * Alias for {@link mat4.perspectiveNO}
388
+ * @function
389
+ */
390
+ export declare const perspective: typeof perspectiveNO;
391
+ /**
392
+ * Generates a perspective projection matrix suitable for WebGPU with the given bounds.
393
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],
394
+ * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
395
+ * Passing null/undefined/no value for far will generate infinite projection matrix.
396
+ *
397
+ * @param {mat4} out mat4 frustum matrix will be written into
398
+ * @param {number} fovy Vertical field of view in radians
399
+ * @param {number} aspect Aspect ratio. typically viewport width/height
400
+ * @param {number} near Near bound of the frustum
401
+ * @param {number} far Far bound of the frustum, can be null or Infinity
402
+ * @returns {mat4} out
403
+ */
404
+ export declare function perspectiveZO(out: any, fovy: any, aspect: any, near: any, far: any): any;
405
+ /**
406
+ * Generates a perspective projection matrix with the given field of view.
407
+ * This is primarily useful for generating projection matrices to be used
408
+ * with the still experiemental WebVR API.
409
+ *
410
+ * @param {mat4} out mat4 frustum matrix will be written into
411
+ * @param {Object} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees
412
+ * @param {number} near Near bound of the frustum
413
+ * @param {number} far Far bound of the frustum
414
+ * @returns {mat4} out
415
+ */
416
+ export declare function perspectiveFromFieldOfView(out: any, fov: any, near: any, far: any): any;
417
+ /**
418
+ * Generates a orthogonal projection matrix with the given bounds.
419
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],
420
+ * which matches WebGL/OpenGL's clip volume.
421
+ *
422
+ * @param {mat4} out mat4 frustum matrix will be written into
423
+ * @param {number} left Left bound of the frustum
424
+ * @param {number} right Right bound of the frustum
425
+ * @param {number} bottom Bottom bound of the frustum
426
+ * @param {number} top Top bound of the frustum
427
+ * @param {number} near Near bound of the frustum
428
+ * @param {number} far Far bound of the frustum
429
+ * @returns {mat4} out
430
+ */
431
+ export declare function orthoNO(out: any, left: any, right: any, bottom: any, top: any, near: any, far: any): any;
432
+ /**
433
+ * Alias for {@link mat4.orthoNO}
434
+ * @function
435
+ */
436
+ export declare const ortho: typeof orthoNO;
437
+ /**
438
+ * Generates a orthogonal projection matrix with the given bounds.
439
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],
440
+ * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
441
+ *
442
+ * @param {mat4} out mat4 frustum matrix will be written into
443
+ * @param {number} left Left bound of the frustum
444
+ * @param {number} right Right bound of the frustum
445
+ * @param {number} bottom Bottom bound of the frustum
446
+ * @param {number} top Top bound of the frustum
447
+ * @param {number} near Near bound of the frustum
448
+ * @param {number} far Far bound of the frustum
449
+ * @returns {mat4} out
450
+ */
451
+ export declare function orthoZO(out: any, left: any, right: any, bottom: any, top: any, near: any, far: any): any;
452
+ /**
453
+ * Generates a look-at matrix with the given eye position, focal point, and up axis.
454
+ * If you want a matrix that actually makes an object look at another object, you should use targetTo instead.
455
+ *
456
+ * @param {mat4} out mat4 frustum matrix will be written into
457
+ * @param {ReadonlyVec3} eye Position of the viewer
458
+ * @param {ReadonlyVec3} center Point the viewer is looking at
459
+ * @param {ReadonlyVec3} up vec3 pointing up
460
+ * @returns {mat4} out
461
+ */
462
+ export declare function lookAt(out: any, eye: any, center: any, up: any): any;
463
+ /**
464
+ * Generates a matrix that makes something look at something else.
465
+ *
466
+ * @param {mat4} out mat4 frustum matrix will be written into
467
+ * @param {ReadonlyVec3} eye Position of the viewer
468
+ * @param {ReadonlyVec3} center Point the viewer is looking at
469
+ * @param {ReadonlyVec3} up vec3 pointing up
470
+ * @returns {mat4} out
471
+ */
472
+ export declare function targetTo(out: any, eye: any, target: any, up: any): any;
473
+ /**
474
+ * Returns a string representation of a mat4
475
+ *
476
+ * @param {ReadonlyMat4} a matrix to represent as a string
477
+ * @returns {String} string representation of the matrix
478
+ */
479
+ export declare function str(a: any): string;
480
+ /**
481
+ * Returns Frobenius norm of a mat4
482
+ *
483
+ * @param {ReadonlyMat4} a the matrix to calculate Frobenius norm of
484
+ * @returns {Number} Frobenius norm
485
+ */
486
+ export declare function frob(a: any): number;
487
+ /**
488
+ * Adds two mat4's
489
+ *
490
+ * @param {mat4} out the receiving matrix
491
+ * @param {ReadonlyMat4} a the first operand
492
+ * @param {ReadonlyMat4} b the second operand
493
+ * @returns {mat4} out
494
+ */
495
+ export declare function add(out: any, a: any, b: any): any;
496
+ /**
497
+ * Subtracts matrix b from matrix a
498
+ *
499
+ * @param {mat4} out the receiving matrix
500
+ * @param {ReadonlyMat4} a the first operand
501
+ * @param {ReadonlyMat4} b the second operand
502
+ * @returns {mat4} out
503
+ */
504
+ export declare function subtract(out: any, a: any, b: any): any;
505
+ /**
506
+ * Multiply each element of the matrix by a scalar.
507
+ *
508
+ * @param {mat4} out the receiving matrix
509
+ * @param {ReadonlyMat4} a the matrix to scale
510
+ * @param {Number} b amount to scale the matrix's elements by
511
+ * @returns {mat4} out
512
+ */
513
+ export declare function multiplyScalar(out: any, a: any, b: any): any;
514
+ /**
515
+ * Adds two mat4's after multiplying each element of the second operand by a scalar value.
516
+ *
517
+ * @param {mat4} out the receiving vector
518
+ * @param {ReadonlyMat4} a the first operand
519
+ * @param {ReadonlyMat4} b the second operand
520
+ * @param {Number} scale the amount to scale b's elements by before adding
521
+ * @returns {mat4} out
522
+ */
523
+ export declare function multiplyScalarAndAdd(out: any, a: any, b: any, scale: any): any;
524
+ /**
525
+ * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
526
+ *
527
+ * @param {ReadonlyMat4} a The first matrix.
528
+ * @param {ReadonlyMat4} b The second matrix.
529
+ * @returns {Boolean} True if the matrices are equal, false otherwise.
530
+ */
531
+ export declare function exactEquals(a: any, b: any): boolean;
532
+ /**
533
+ * Returns whether or not the matrices have approximately the same elements in the same position.
534
+ *
535
+ * @param {ReadonlyMat4} a The first matrix.
536
+ * @param {ReadonlyMat4} b The second matrix.
537
+ * @returns {Boolean} True if the matrices are equal, false otherwise.
538
+ */
539
+ export declare function equals(a: any, b: any): boolean;
540
+ /**
541
+ * Alias for {@link mat4.multiply}
542
+ * @function
543
+ */
544
+ export declare const mul: typeof multiply;
545
+ /**
546
+ * Alias for {@link mat4.subtract}
547
+ * @function
548
+ */
549
+ export declare const sub: typeof subtract;