@lakuna/umath 3.0.0 → 4.0.0
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/algorithms/hypergeometricPmf.d.ts.map +1 -1
- package/dist/algorithms/hypergeometricPmf.js +5 -1
- package/dist/algorithms/hypergeometricPmf.js.map +1 -1
- package/dist/algorithms/primeFactorization.d.ts +1 -1
- package/dist/algorithms/primeFactorization.d.ts.map +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/linalg/DualQuaternion.d.ts +46 -46
- package/dist/linalg/DualQuaternion.d.ts.map +1 -1
- package/dist/linalg/DualQuaternion.js.map +1 -1
- package/dist/linalg/Matrix.d.ts +7 -7
- package/dist/linalg/Matrix.d.ts.map +1 -1
- package/dist/linalg/Matrix2.d.ts +25 -25
- package/dist/linalg/Matrix2.d.ts.map +1 -1
- package/dist/linalg/Matrix2.js.map +1 -1
- package/dist/linalg/Matrix3.d.ts +35 -35
- package/dist/linalg/Matrix3.d.ts.map +1 -1
- package/dist/linalg/Matrix3.js.map +1 -1
- package/dist/linalg/Matrix4.d.ts +64 -59
- package/dist/linalg/Matrix4.d.ts.map +1 -1
- package/dist/linalg/Matrix4.js +17 -11
- package/dist/linalg/Matrix4.js.map +1 -1
- package/dist/linalg/Quaternion.d.ts +50 -48
- package/dist/linalg/Quaternion.d.ts.map +1 -1
- package/dist/linalg/Quaternion.js +11 -12
- package/dist/linalg/Quaternion.js.map +1 -1
- package/dist/linalg/SlowMatrix.d.ts +8 -8
- package/dist/linalg/SlowMatrix.d.ts.map +1 -1
- package/dist/linalg/SlowMatrix.js.map +1 -1
- package/dist/linalg/SlowSquareMatrix.d.ts +1 -1
- package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
- package/dist/linalg/SlowSquareMatrix.js.map +1 -1
- package/dist/linalg/SlowVector.d.ts +15 -15
- package/dist/linalg/SlowVector.d.ts.map +1 -1
- package/dist/linalg/SlowVector.js.map +1 -1
- package/dist/linalg/Vector.d.ts +14 -14
- package/dist/linalg/Vector.d.ts.map +1 -1
- package/dist/linalg/Vector2.d.ts +51 -51
- package/dist/linalg/Vector2.d.ts.map +1 -1
- package/dist/linalg/Vector2.js.map +1 -1
- package/dist/linalg/Vector3.d.ts +60 -60
- package/dist/linalg/Vector3.d.ts.map +1 -1
- package/dist/linalg/Vector3.js.map +1 -1
- package/dist/linalg/Vector4.d.ts +45 -45
- package/dist/linalg/Vector4.d.ts.map +1 -1
- package/dist/linalg/Vector4.js.map +1 -1
- package/dist/utility/BigNumber.d.ts +5 -5
- package/dist/utility/BigNumber.d.ts.map +1 -1
- package/dist/utility/BigNumber.js +13 -6
- package/dist/utility/BigNumber.js.map +1 -1
- package/package.json +36 -36
- package/src/algorithms/hypergeometricPmf.ts +2 -0
- package/src/algorithms/primeFactorization.ts +1 -1
- package/src/index.ts +0 -5
- package/src/linalg/DualQuaternion.ts +69 -58
- package/src/linalg/Matrix.ts +10 -7
- package/src/linalg/Matrix2.ts +43 -32
- package/src/linalg/Matrix3.ts +53 -41
- package/src/linalg/Matrix4.ts +127 -94
- package/src/linalg/Quaternion.ts +90 -75
- package/src/linalg/SlowMatrix.ts +12 -9
- package/src/linalg/SlowSquareMatrix.ts +1 -1
- package/src/linalg/SlowVector.ts +16 -16
- package/src/linalg/Vector.ts +14 -14
- package/src/linalg/Vector2.ts +104 -76
- package/src/linalg/Vector3.ts +125 -92
- package/src/linalg/Vector4.ts +93 -62
- package/src/utility/BigNumber.ts +22 -11
- package/dist/types/AxisAngle.d.ts +0 -12
- package/dist/types/AxisAngle.d.ts.map +0 -1
- package/dist/types/AxisAngle.js +0 -2
- package/dist/types/AxisAngle.js.map +0 -1
- package/dist/types/FieldOfView.d.ts +0 -15
- package/dist/types/FieldOfView.d.ts.map +0 -1
- package/dist/types/FieldOfView.js +0 -2
- package/dist/types/FieldOfView.js.map +0 -1
- package/dist/utility/createAxisAngleLike.d.ts +0 -10
- package/dist/utility/createAxisAngleLike.d.ts.map +0 -1
- package/dist/utility/createAxisAngleLike.js +0 -10
- package/dist/utility/createAxisAngleLike.js.map +0 -1
- package/src/types/AxisAngle.ts +0 -13
- package/src/types/FieldOfView.ts +0 -17
- package/src/utility/createAxisAngleLike.ts +0 -14
package/dist/linalg/Matrix4.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type FieldOfView from "../types/FieldOfView.js";
|
|
2
1
|
import type { DualQuaternionLike } from "./DualQuaternion.js";
|
|
3
2
|
import type { MatrixLike } from "./Matrix.js";
|
|
4
3
|
import type SquareMatrix from "./SquareMatrix.js";
|
|
@@ -80,7 +79,7 @@ export declare const fromValues: <T extends Matrix4Like>(c0r0: number, c0r1: num
|
|
|
80
79
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
81
80
|
* @public
|
|
82
81
|
*/
|
|
83
|
-
export declare const fromTranslation: <T extends Matrix4Like>(vector: Vector3Like
|
|
82
|
+
export declare const fromTranslation: <T extends Matrix4Like>(vector: Readonly<Vector3Like>, out: T) => T;
|
|
84
83
|
/**
|
|
85
84
|
* Create a transformation matrix that represents a scaling by the given vector. This is equivalent to (but faster than) `scale(identity(out), vector, out)`.
|
|
86
85
|
* @param vector - The scaling vector.
|
|
@@ -89,7 +88,7 @@ export declare const fromTranslation: <T extends Matrix4Like>(vector: Vector3Lik
|
|
|
89
88
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
90
89
|
* @public
|
|
91
90
|
*/
|
|
92
|
-
export declare const fromScaling: <T extends Matrix4Like>(vector: Vector3Like
|
|
91
|
+
export declare const fromScaling: <T extends Matrix4Like>(vector: Readonly<Vector3Like>, out: T) => T;
|
|
93
92
|
/**
|
|
94
93
|
* Reset a matrix to identity.
|
|
95
94
|
* @param out - The matrix to store the result in.
|
|
@@ -107,7 +106,7 @@ export declare const identity: <T extends Matrix4Like>(out: T) => T;
|
|
|
107
106
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
108
107
|
* @public
|
|
109
108
|
*/
|
|
110
|
-
export declare const fromRotation: <T extends Matrix4Like>(radians: number, axis: Vector3Like
|
|
109
|
+
export declare const fromRotation: <T extends Matrix4Like>(radians: number, axis: Readonly<Vector3Like>, out: T) => T;
|
|
111
110
|
/**
|
|
112
111
|
* Create a transformation matrix that represents a rotation by the given angle around the X-axis. This is equivalent to (but faster than) `rotateX(identity(out), radians, out)`.
|
|
113
112
|
* @param radians - The angle in radians.
|
|
@@ -146,7 +145,7 @@ export declare const fromZRotation: <T extends Matrix4Like>(radians: number, out
|
|
|
146
145
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
147
146
|
* @public
|
|
148
147
|
*/
|
|
149
|
-
export declare const fromRotationTranslation: <T extends Matrix4Like>(rotation: QuaternionLike
|
|
148
|
+
export declare const fromRotationTranslation: <T extends Matrix4Like>(rotation: Readonly<QuaternionLike>, translation: Readonly<Vector3Like>, out: T) => T;
|
|
150
149
|
/**
|
|
151
150
|
* Create a transformation matrix from the given rotation, translation, and scale. This is equivalent to (but faster than) `scale(multiply(translate(identity(out), translation, out), fromQuaternion(rotation, createMatrix4Like()), out), scaling, out)`.
|
|
152
151
|
* @param rotation - The rotation quaternion.
|
|
@@ -159,7 +158,7 @@ export declare const fromRotationTranslation: <T extends Matrix4Like>(rotation:
|
|
|
159
158
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
160
159
|
* @public
|
|
161
160
|
*/
|
|
162
|
-
export declare const fromRotationTranslationScale: <T extends Matrix4Like>(rotation: QuaternionLike
|
|
161
|
+
export declare const fromRotationTranslationScale: <T extends Matrix4Like>(rotation: Readonly<QuaternionLike>, translation: Readonly<Vector3Like>, scaling: Readonly<Vector3Like>, out: T) => T;
|
|
163
162
|
/**
|
|
164
163
|
* Create a transformation matrix from the given rotation, translation, and scale around the given origin. This is equivalent to (but faster than) `translate(scale(multiply(translate(translate(identity(out), translation, out), origin, out), fromQuaternion(rotation, createMatrix4Like()), out), scaling, out), negate(origin), out)`.
|
|
165
164
|
* @param rotation - The rotation quaternion.
|
|
@@ -173,7 +172,7 @@ export declare const fromRotationTranslationScale: <T extends Matrix4Like>(rotat
|
|
|
173
172
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
174
173
|
* @public
|
|
175
174
|
*/
|
|
176
|
-
export declare const fromRotationTranslationScaleOrigin: <T extends Matrix4Like>(rotation: QuaternionLike
|
|
175
|
+
export declare const fromRotationTranslationScaleOrigin: <T extends Matrix4Like>(rotation: Readonly<QuaternionLike>, translation: Readonly<Vector3Like>, scaling: Readonly<Vector3Like>, origin: Readonly<Vector3Like>, out: T) => T;
|
|
177
176
|
/**
|
|
178
177
|
* Create a transformation matrix from a quaternion.
|
|
179
178
|
* @param quaternion - The quaternion.
|
|
@@ -183,7 +182,7 @@ export declare const fromRotationTranslationScaleOrigin: <T extends Matrix4Like>
|
|
|
183
182
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
184
183
|
* @public
|
|
185
184
|
*/
|
|
186
|
-
export declare const fromQuaternion: <T extends Matrix4Like>(quaternion: QuaternionLike
|
|
185
|
+
export declare const fromQuaternion: <T extends Matrix4Like>(quaternion: Readonly<QuaternionLike>, out: T) => T;
|
|
187
186
|
/**
|
|
188
187
|
* Create a transformation matrix from a dual quaternion.
|
|
189
188
|
* @param quaternion - The dual quaternion.
|
|
@@ -194,7 +193,7 @@ export declare const fromQuaternion: <T extends Matrix4Like>(quaternion: Quatern
|
|
|
194
193
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
195
194
|
* @public
|
|
196
195
|
*/
|
|
197
|
-
export declare const fromDualQuaternion: <T extends Matrix4Like>(quaternion: DualQuaternionLike
|
|
196
|
+
export declare const fromDualQuaternion: <T extends Matrix4Like>(quaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
198
197
|
/**
|
|
199
198
|
* Generate a frustum matrix with the given bounds.
|
|
200
199
|
* @param left - The left bound of the frustum.
|
|
@@ -238,7 +237,10 @@ export declare const perspective: <T extends Matrix4Like>(fov: number, aspect: n
|
|
|
238
237
|
export declare const perspectiveGpu: <T extends Matrix4Like>(fov: number, aspect: number, near: number, far: number, out: T) => T;
|
|
239
238
|
/**
|
|
240
239
|
* Create a perspective projection matrix from a field of view. Useful for generating projection matrices to be used with the WebXR API.
|
|
241
|
-
* @param
|
|
240
|
+
* @param left - The angle to the left of the field of view in degrees.
|
|
241
|
+
* @param right - The angle to the right of the field of view in degrees.
|
|
242
|
+
* @param bottom - The angle to the bottom of the field of view in degrees.
|
|
243
|
+
* @param top - The angle to the top of the field of view in degrees.
|
|
242
244
|
* @param near - The near bound of the frustum.
|
|
243
245
|
* @param far - The far bound of the frustum.
|
|
244
246
|
* @param out - The matrix to store the result in.
|
|
@@ -248,7 +250,7 @@ export declare const perspectiveGpu: <T extends Matrix4Like>(fov: number, aspect
|
|
|
248
250
|
* @see {@link https://en.wikipedia.org/wiki/3D_projection | 3D projection}
|
|
249
251
|
* @public
|
|
250
252
|
*/
|
|
251
|
-
export declare const perspectiveFromFieldOfView: <T extends Matrix4Like>(
|
|
253
|
+
export declare const perspectiveFromFieldOfView: <T extends Matrix4Like>(left: number, right: number, bottom: number, top: number, near: number, far: number, out: T) => T;
|
|
252
254
|
/**
|
|
253
255
|
* Generate an orthogonal projection matrix with the given bounds such that the near and far clip planes correspond to a normalized device coordinate Z range of `[-1, 1]` (OpenGL/WebGL).
|
|
254
256
|
* @param left - The left bound of the frustum.
|
|
@@ -289,7 +291,7 @@ export declare const orthoGpu: <T extends Matrix4Like>(left: number, right: numb
|
|
|
289
291
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
290
292
|
* @public
|
|
291
293
|
*/
|
|
292
|
-
export declare const lookAt: <T extends Matrix4Like>(eye: Vector3Like
|
|
294
|
+
export declare const lookAt: <T extends Matrix4Like>(eye: Readonly<Vector3Like>, center: Readonly<Vector3Like>, up: Readonly<Vector3Like>, out: T) => T;
|
|
293
295
|
/**
|
|
294
296
|
* Create a matrix that makes something look at something else.
|
|
295
297
|
* @param eye - The position of the viewer.
|
|
@@ -300,7 +302,7 @@ export declare const lookAt: <T extends Matrix4Like>(eye: Vector3Like, center: V
|
|
|
300
302
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
301
303
|
* @public
|
|
302
304
|
*/
|
|
303
|
-
export declare const targetTo: <T extends Matrix4Like>(eye: Vector3Like
|
|
305
|
+
export declare const targetTo: <T extends Matrix4Like>(eye: Readonly<Vector3Like>, target: Readonly<Vector3Like>, up: Readonly<Vector3Like>, out: T) => T;
|
|
304
306
|
/**
|
|
305
307
|
* Add two matrices.
|
|
306
308
|
* @param a - The augend.
|
|
@@ -310,7 +312,7 @@ export declare const targetTo: <T extends Matrix4Like>(eye: Vector3Like, target:
|
|
|
310
312
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
311
313
|
* @public
|
|
312
314
|
*/
|
|
313
|
-
export declare const add: <T extends Matrix4Like>(a: Matrix4Like
|
|
315
|
+
export declare const add: <T extends Matrix4Like>(a: Readonly<Matrix4Like>, b: Readonly<Matrix4Like>, out: T) => T;
|
|
314
316
|
/**
|
|
315
317
|
* Determine whether or not two matrices are roughly equivalent.
|
|
316
318
|
* @param a - The first matrix.
|
|
@@ -318,7 +320,7 @@ export declare const add: <T extends Matrix4Like>(a: Matrix4Like, b: Matrix4Like
|
|
|
318
320
|
* @returns Whether or not the matrices are equivalent.
|
|
319
321
|
* @public
|
|
320
322
|
*/
|
|
321
|
-
export declare const equals: (a: Matrix4Like
|
|
323
|
+
export declare const equals: (a: Readonly<Matrix4Like>, b: Readonly<Matrix4Like>) => boolean;
|
|
322
324
|
/**
|
|
323
325
|
* Determine whether or not two matrices are exactly equivalent.
|
|
324
326
|
* @param a - The first matrix.
|
|
@@ -326,7 +328,7 @@ export declare const equals: (a: Matrix4Like, b: Matrix4Like) => boolean;
|
|
|
326
328
|
* @returns Whether the matrices are equivalent.
|
|
327
329
|
* @public
|
|
328
330
|
*/
|
|
329
|
-
export declare const exactEquals: (a: Matrix4Like
|
|
331
|
+
export declare const exactEquals: (a: Readonly<Matrix4Like>, b: Readonly<Matrix4Like>) => boolean;
|
|
330
332
|
/**
|
|
331
333
|
* Calculate the adjugate of a matrix.
|
|
332
334
|
* @param matrix - The matrix.
|
|
@@ -335,7 +337,7 @@ export declare const exactEquals: (a: Matrix4Like, b: Matrix4Like) => boolean;
|
|
|
335
337
|
* @see {@link https://en.wikipedia.org/wiki/Adjugate_matrix | Adjugate matrix}
|
|
336
338
|
* @public
|
|
337
339
|
*/
|
|
338
|
-
export declare const adjoint: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
340
|
+
export declare const adjoint: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, out: T) => T;
|
|
339
341
|
/**
|
|
340
342
|
* Copy the values of one matrix into another.
|
|
341
343
|
* @param matrix - The matrix to copy.
|
|
@@ -343,7 +345,7 @@ export declare const adjoint: <T extends Matrix4Like>(matrix: Matrix4Like, out:
|
|
|
343
345
|
* @returns This matrix.
|
|
344
346
|
* @public
|
|
345
347
|
*/
|
|
346
|
-
export declare const copy: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
348
|
+
export declare const copy: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, out: T) => T;
|
|
347
349
|
/**
|
|
348
350
|
* Calculate the Frobenius norm of a matrix.
|
|
349
351
|
* @param matrix - The matrix.
|
|
@@ -351,7 +353,7 @@ export declare const copy: <T extends Matrix4Like>(matrix: Matrix4Like, out: T)
|
|
|
351
353
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
|
|
352
354
|
* @public
|
|
353
355
|
*/
|
|
354
|
-
export declare const frob: (matrix: Matrix4Like) => number;
|
|
356
|
+
export declare const frob: (matrix: Readonly<Matrix4Like>) => number;
|
|
355
357
|
/**
|
|
356
358
|
* Multiply two matrices.
|
|
357
359
|
* @param a - The multiplier.
|
|
@@ -361,7 +363,7 @@ export declare const frob: (matrix: Matrix4Like) => number;
|
|
|
361
363
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
362
364
|
* @public
|
|
363
365
|
*/
|
|
364
|
-
export declare const multiply: <T extends Matrix4Like>(a: Matrix4Like
|
|
366
|
+
export declare const multiply: <T extends Matrix4Like>(a: Readonly<Matrix4Like>, b: Readonly<Matrix4Like>, out: T) => T;
|
|
365
367
|
/**
|
|
366
368
|
* Multiply a matrix by a scalar value.
|
|
367
369
|
* @param matrix - The multiplicand.
|
|
@@ -371,7 +373,7 @@ export declare const multiply: <T extends Matrix4Like>(a: Matrix4Like, b: Matrix
|
|
|
371
373
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
372
374
|
* @public
|
|
373
375
|
*/
|
|
374
|
-
export declare const multiplyScalar: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
376
|
+
export declare const multiplyScalar: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, scalar: number, out: T) => T;
|
|
375
377
|
/**
|
|
376
378
|
* Add a matrix to another after multiplying the other by a scalar.
|
|
377
379
|
* @param a - The augend.
|
|
@@ -383,7 +385,7 @@ export declare const multiplyScalar: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
|
383
385
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
384
386
|
* @public
|
|
385
387
|
*/
|
|
386
|
-
export declare const multiplyScalarAndAdd: <T extends Matrix4Like>(a: Matrix4Like
|
|
388
|
+
export declare const multiplyScalarAndAdd: <T extends Matrix4Like>(a: Readonly<Matrix4Like>, b: Readonly<Matrix4Like>, scalar: number, out: T) => T;
|
|
387
389
|
/**
|
|
388
390
|
* Subtract two matrices.
|
|
389
391
|
* @param a - The minuend.
|
|
@@ -393,7 +395,7 @@ export declare const multiplyScalarAndAdd: <T extends Matrix4Like>(a: Matrix4Lik
|
|
|
393
395
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
394
396
|
* @public
|
|
395
397
|
*/
|
|
396
|
-
export declare const subtract: <T extends Matrix4Like>(a: Matrix4Like
|
|
398
|
+
export declare const subtract: <T extends Matrix4Like>(a: Readonly<Matrix4Like>, b: Readonly<Matrix4Like>, out: T) => T;
|
|
397
399
|
/**
|
|
398
400
|
* Transpose a matrix.
|
|
399
401
|
* @param matrix - The matrix.
|
|
@@ -402,7 +404,7 @@ export declare const subtract: <T extends Matrix4Like>(a: Matrix4Like, b: Matrix
|
|
|
402
404
|
* @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
|
|
403
405
|
* @public
|
|
404
406
|
*/
|
|
405
|
-
export declare const transpose: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
407
|
+
export declare const transpose: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, out: T) => T;
|
|
406
408
|
/**
|
|
407
409
|
* Calculate the determinant of a matrix.
|
|
408
410
|
* @param matrix - The matrix.
|
|
@@ -410,7 +412,7 @@ export declare const transpose: <T extends Matrix4Like>(matrix: Matrix4Like, out
|
|
|
410
412
|
* @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
|
|
411
413
|
* @public
|
|
412
414
|
*/
|
|
413
|
-
export declare const determinant: (matrix: Matrix4Like) => number;
|
|
415
|
+
export declare const determinant: (matrix: Readonly<Matrix4Like>) => number;
|
|
414
416
|
/**
|
|
415
417
|
* Invert a matrix.
|
|
416
418
|
* @param matrix - The matrix.
|
|
@@ -419,7 +421,7 @@ export declare const determinant: (matrix: Matrix4Like) => number;
|
|
|
419
421
|
* @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
|
|
420
422
|
* @public
|
|
421
423
|
*/
|
|
422
|
-
export declare const invert: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
424
|
+
export declare const invert: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, out: T) => T;
|
|
423
425
|
/**
|
|
424
426
|
* Scale a matrix by the given vector.
|
|
425
427
|
* @param matrix - The matrix.
|
|
@@ -429,7 +431,7 @@ export declare const invert: <T extends Matrix4Like>(matrix: Matrix4Like, out: T
|
|
|
429
431
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
430
432
|
* @public
|
|
431
433
|
*/
|
|
432
|
-
export declare const scale: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
434
|
+
export declare const scale: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, vector: Readonly<Vector3Like>, out: T) => T;
|
|
433
435
|
/**
|
|
434
436
|
* Translate a matrix by the given vector.
|
|
435
437
|
* @param matrix - The matrix.
|
|
@@ -439,7 +441,7 @@ export declare const scale: <T extends Matrix4Like>(matrix: Matrix4Like, vector:
|
|
|
439
441
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
440
442
|
* @public
|
|
441
443
|
*/
|
|
442
|
-
export declare const translate: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
444
|
+
export declare const translate: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, vector: Readonly<Vector3Like>, out: T) => T;
|
|
443
445
|
/**
|
|
444
446
|
* Rotate a matrix by the given angle around the given axis.
|
|
445
447
|
* @param matrix - The matrix.
|
|
@@ -450,7 +452,7 @@ export declare const translate: <T extends Matrix4Like>(matrix: Matrix4Like, vec
|
|
|
450
452
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
451
453
|
* @public
|
|
452
454
|
*/
|
|
453
|
-
export declare const rotate: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
455
|
+
export declare const rotate: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, radians: number, axis: Readonly<Vector3Like>, out: T) => T;
|
|
454
456
|
/**
|
|
455
457
|
* Rotate a matrix by the given angle around the X-axis.
|
|
456
458
|
* @param matrix - The matrix.
|
|
@@ -460,7 +462,7 @@ export declare const rotate: <T extends Matrix4Like>(matrix: Matrix4Like, radian
|
|
|
460
462
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
461
463
|
* @public
|
|
462
464
|
*/
|
|
463
|
-
export declare const rotateX: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
465
|
+
export declare const rotateX: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, r: number, out: T) => T;
|
|
464
466
|
/**
|
|
465
467
|
* Rotate a matrix by the given angle around the Y-axis.
|
|
466
468
|
* @param matrix - The matrix.
|
|
@@ -470,7 +472,7 @@ export declare const rotateX: <T extends Matrix4Like>(matrix: Matrix4Like, r: nu
|
|
|
470
472
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
471
473
|
* @public
|
|
472
474
|
*/
|
|
473
|
-
export declare const rotateY: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
475
|
+
export declare const rotateY: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, r: number, out: T) => T;
|
|
474
476
|
/**
|
|
475
477
|
* Rotate a matrix by the given angle around the Z-axis.
|
|
476
478
|
* @param matrix - The matrix.
|
|
@@ -480,7 +482,7 @@ export declare const rotateY: <T extends Matrix4Like>(matrix: Matrix4Like, r: nu
|
|
|
480
482
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
481
483
|
* @public
|
|
482
484
|
*/
|
|
483
|
-
export declare const rotateZ: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
485
|
+
export declare const rotateZ: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, r: number, out: T) => T;
|
|
484
486
|
/**
|
|
485
487
|
* Get the translation vector component of a transformation matrix.
|
|
486
488
|
* @param matrix - The matrix.
|
|
@@ -489,7 +491,7 @@ export declare const rotateZ: <T extends Matrix4Like>(matrix: Matrix4Like, r: nu
|
|
|
489
491
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
490
492
|
* @public
|
|
491
493
|
*/
|
|
492
|
-
export declare const getTranslation: <T extends Vector3Like>(matrix: Matrix4Like
|
|
494
|
+
export declare const getTranslation: <T extends Vector3Like>(matrix: Readonly<Matrix4Like>, out: T) => T;
|
|
493
495
|
/**
|
|
494
496
|
* Set the translation vector component of a transformation matrix.
|
|
495
497
|
* @param matrix - The matrix.
|
|
@@ -499,7 +501,7 @@ export declare const getTranslation: <T extends Vector3Like>(matrix: Matrix4Like
|
|
|
499
501
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
500
502
|
* @public
|
|
501
503
|
*/
|
|
502
|
-
export declare const setTranslation: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
504
|
+
export declare const setTranslation: <T extends Matrix4Like>(matrix: Readonly<Matrix4Like>, translation: Readonly<Vector3Like>, out: T) => T;
|
|
503
505
|
/**
|
|
504
506
|
* Get the scaling factor of a transformation matrix.
|
|
505
507
|
* @param matrix - The matrix.
|
|
@@ -508,7 +510,7 @@ export declare const setTranslation: <T extends Matrix4Like>(matrix: Matrix4Like
|
|
|
508
510
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
509
511
|
* @public
|
|
510
512
|
*/
|
|
511
|
-
export declare const getScaling: <T extends Vector3Like>(matrix: Matrix4Like
|
|
513
|
+
export declare const getScaling: <T extends Vector3Like>(matrix: Readonly<Matrix4Like>, out: T) => T;
|
|
512
514
|
/**
|
|
513
515
|
* Get the rotational component of a transformation matrix.
|
|
514
516
|
* @param matrix - The matrix.
|
|
@@ -517,7 +519,7 @@ export declare const getScaling: <T extends Vector3Like>(matrix: Matrix4Like, ou
|
|
|
517
519
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
518
520
|
* @public
|
|
519
521
|
*/
|
|
520
|
-
export declare const getRotation: <T extends QuaternionLike>(matrix: Matrix4Like
|
|
522
|
+
export declare const getRotation: <T extends QuaternionLike>(matrix: Readonly<Matrix4Like>, out: T) => T;
|
|
521
523
|
/**
|
|
522
524
|
* A four-by-four matrix.
|
|
523
525
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_(mathematics) | Matrix}
|
|
@@ -600,7 +602,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
600
602
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
601
603
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
602
604
|
*/
|
|
603
|
-
static fromDualQuaternion(quaternion: DualQuaternionLike): Matrix4;
|
|
605
|
+
static fromDualQuaternion(quaternion: Readonly<DualQuaternionLike>): Matrix4;
|
|
604
606
|
/**
|
|
605
607
|
* Create a transformation matrix from a quaternion.
|
|
606
608
|
* @param quaternion - The quaternion.
|
|
@@ -608,7 +610,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
608
610
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
609
611
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
610
612
|
*/
|
|
611
|
-
static fromQuaternion(quaternion: QuaternionLike): Matrix4;
|
|
613
|
+
static fromQuaternion(quaternion: Readonly<QuaternionLike>): Matrix4;
|
|
612
614
|
/**
|
|
613
615
|
* Create a transformation matrix that represents a rotation by the given angle around the Z-axis.
|
|
614
616
|
* @param r - The angle in radians.
|
|
@@ -616,7 +618,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
616
618
|
* @returns The transformation matrix.
|
|
617
619
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
618
620
|
*/
|
|
619
|
-
static fromRotation(r: number, axis: Vector3Like): Matrix4;
|
|
621
|
+
static fromRotation(r: number, axis: Readonly<Vector3Like>): Matrix4;
|
|
620
622
|
/**
|
|
621
623
|
* Create a transformation matrix from the given rotation and translation.
|
|
622
624
|
* @param rotation - The rotation quaternion.
|
|
@@ -625,7 +627,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
625
627
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
626
628
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
627
629
|
*/
|
|
628
|
-
static fromRotationTranslation(rotation: QuaternionLike
|
|
630
|
+
static fromRotationTranslation(rotation: Readonly<QuaternionLike>, translation: Readonly<Vector3Like>): Matrix4;
|
|
629
631
|
/**
|
|
630
632
|
* Create a transformation matrix from the given rotation, translation, and scale.
|
|
631
633
|
* @param rotation - The rotation quaternion.
|
|
@@ -635,7 +637,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
635
637
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
636
638
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
637
639
|
*/
|
|
638
|
-
static fromRotationTranslationScale(rotation: QuaternionLike
|
|
640
|
+
static fromRotationTranslationScale(rotation: Readonly<QuaternionLike>, translation: Readonly<Vector3Like>, scaling: Readonly<Vector3Like>): Matrix4;
|
|
639
641
|
/**
|
|
640
642
|
* Create a transformation matrix from the given rotation, translation, and scale around the given origin.
|
|
641
643
|
* @param rotation - The rotation quaternion.
|
|
@@ -646,21 +648,21 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
646
648
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
647
649
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
648
650
|
*/
|
|
649
|
-
static fromRotationTranslationScaleOrigin(rotation: QuaternionLike
|
|
651
|
+
static fromRotationTranslationScaleOrigin(rotation: Readonly<QuaternionLike>, translation: Readonly<Vector3Like>, scaling: Readonly<Vector3Like>, origin: Readonly<Vector3Like>): Matrix4;
|
|
650
652
|
/**
|
|
651
653
|
* Create a transformation matrix that represents a scaling by the given vector.
|
|
652
654
|
* @param vector - The scaling vector.
|
|
653
655
|
* @returns The transformation matrix.
|
|
654
656
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
655
657
|
*/
|
|
656
|
-
static fromScaling(vector: Vector3Like): Matrix4;
|
|
658
|
+
static fromScaling(vector: Readonly<Vector3Like>): Matrix4;
|
|
657
659
|
/**
|
|
658
660
|
* Create a transformation matrix that represents a translation by the given vector.
|
|
659
661
|
* @param vector - The translation vector.
|
|
660
662
|
* @returns The transformation matrix.
|
|
661
663
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
662
664
|
*/
|
|
663
|
-
static fromTranslation(vector: Vector3Like): Matrix4;
|
|
665
|
+
static fromTranslation(vector: Readonly<Vector3Like>): Matrix4;
|
|
664
666
|
/**
|
|
665
667
|
* Create a two-by-two matrix with the given values.
|
|
666
668
|
* @param c0r0 - The value in the first column and first row.
|
|
@@ -724,7 +726,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
724
726
|
* @returns The look-at matrix.
|
|
725
727
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
726
728
|
*/
|
|
727
|
-
static lookAt(eye: Vector3Like
|
|
729
|
+
static lookAt(eye: Readonly<Vector3Like>, center: Readonly<Vector3Like>, up?: Readonly<Vector3Like>): Matrix4;
|
|
728
730
|
/**
|
|
729
731
|
* Generate an orthogonal projection matrix with the given bounds such that the near and far clip planes correspond to a normalized device coordinate Z range of `[-1, 1]` (OpenGL/WebGL).
|
|
730
732
|
* @param left - The left bound of the frustum.
|
|
@@ -764,7 +766,10 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
764
766
|
static perspective(fov: number, aspect: number, near: number, far: number): Matrix4;
|
|
765
767
|
/**
|
|
766
768
|
* Create a perspective projection matrix from a field of view. Useful for generating projection matrices to be used with the WebXR API.
|
|
767
|
-
* @param
|
|
769
|
+
* @param left - The angle to the left of the field of view in degrees.
|
|
770
|
+
* @param right - The angle to the right of the field of view in degrees.
|
|
771
|
+
* @param bottom - The angle to the bottom of the field of view in degrees.
|
|
772
|
+
* @param top - The angle to the top of the field of view in degrees.
|
|
768
773
|
* @param near - The near bound of the frustum.
|
|
769
774
|
* @param far - The far bound of the frustum.
|
|
770
775
|
* @returns The perspective projection matrix.
|
|
@@ -772,7 +777,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
772
777
|
* @see {@link https://en.wikipedia.org/wiki/3D_projection | 3D projection}
|
|
773
778
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API | WebXR API}
|
|
774
779
|
*/
|
|
775
|
-
static perspectiveFromFieldOfView(
|
|
780
|
+
static perspectiveFromFieldOfView(left: number, right: number, bottom: number, top: number, near: number, far: number): Matrix4;
|
|
776
781
|
/**
|
|
777
782
|
* Create a perspective projection matrix with the given bounds such that the near and far clip planes correspond to a normalized device coordinate Z range of `[0, 1]` (WebGPU/Vulkan/DirectX/Metal).
|
|
778
783
|
* @param fov - The vertical field of view in radians.
|
|
@@ -792,14 +797,14 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
792
797
|
* @returns The transformation matrix.
|
|
793
798
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
794
799
|
*/
|
|
795
|
-
static targetTo(eye: Vector3Like
|
|
800
|
+
static targetTo(eye: Readonly<Vector3Like>, target: Readonly<Vector3Like>, up?: Readonly<Vector3Like>): Matrix4;
|
|
796
801
|
/**
|
|
797
802
|
* Add two matrices of the same size.
|
|
798
803
|
* @param matrix - The other matrix.
|
|
799
804
|
* @returns The sum of the matrices.
|
|
800
805
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
801
806
|
*/
|
|
802
|
-
add(matrix: Matrix4Like): Matrix4;
|
|
807
|
+
add(matrix: Readonly<Matrix4Like>): Matrix4;
|
|
803
808
|
/**
|
|
804
809
|
* Calculate the adjugate of this matrix.
|
|
805
810
|
* @returns The adjugate of this matrix.
|
|
@@ -816,19 +821,19 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
816
821
|
* @param matrix - The matrix to copy.
|
|
817
822
|
* @returns This matrix.
|
|
818
823
|
*/
|
|
819
|
-
copy(matrix: Matrix4Like): this;
|
|
824
|
+
copy(matrix: Readonly<Matrix4Like>): this;
|
|
820
825
|
/**
|
|
821
826
|
* Determine whether or not this matrix is roughly equivalent to another.
|
|
822
827
|
* @param matrix - The other matrix.
|
|
823
828
|
* @returns Whether or not the matrices are equivalent.
|
|
824
829
|
*/
|
|
825
|
-
equals(matrix: Matrix4Like): boolean;
|
|
830
|
+
equals(matrix: Readonly<Matrix4Like>): boolean;
|
|
826
831
|
/**
|
|
827
832
|
* Determine whether or not this matrix is exactly equivalent to another.
|
|
828
833
|
* @param matrix - The other matrix.
|
|
829
834
|
* @returns Whether or not the matrices are equivalent.
|
|
830
835
|
*/
|
|
831
|
-
exactEquals(matrix: Matrix4Like): boolean;
|
|
836
|
+
exactEquals(matrix: Readonly<Matrix4Like>): boolean;
|
|
832
837
|
/**
|
|
833
838
|
* Reset this matrix to identity.
|
|
834
839
|
* @returns This matrix.
|
|
@@ -847,7 +852,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
847
852
|
* @returns The product of the matrices.
|
|
848
853
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
849
854
|
*/
|
|
850
|
-
multiply(matrix: Matrix4Like): Matrix4;
|
|
855
|
+
multiply(matrix: Readonly<Matrix4Like>): Matrix4;
|
|
851
856
|
/**
|
|
852
857
|
* Multiply this matrix by a scalar value.
|
|
853
858
|
* @param scalar - The scalar value.
|
|
@@ -863,7 +868,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
863
868
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
864
869
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
865
870
|
*/
|
|
866
|
-
multiplyScalarAndAdd(matrix: Matrix4Like
|
|
871
|
+
multiplyScalarAndAdd(matrix: Readonly<Matrix4Like>, scalar: number): Matrix4;
|
|
867
872
|
/**
|
|
868
873
|
* Rotate this matrix by the given angle around the given axis.
|
|
869
874
|
* @param r - The angle in radians.
|
|
@@ -871,7 +876,7 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
871
876
|
* @returns The rotated matrix.
|
|
872
877
|
* @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
|
|
873
878
|
*/
|
|
874
|
-
rotate(r: number, axis: Vector3Like): Matrix4;
|
|
879
|
+
rotate(r: number, axis: Readonly<Vector3Like>): Matrix4;
|
|
875
880
|
/**
|
|
876
881
|
* Rotate this matrix by the given angle around the X-axis.
|
|
877
882
|
* @param r - The angle in radians.
|
|
@@ -899,28 +904,28 @@ export default class Matrix4 extends Float32Array implements Matrix4Like, Square
|
|
|
899
904
|
* @returns The scaled matrix.
|
|
900
905
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
901
906
|
*/
|
|
902
|
-
scale(vector: Vector3Like): Matrix4;
|
|
907
|
+
scale(vector: Readonly<Vector3Like>): Matrix4;
|
|
903
908
|
/**
|
|
904
909
|
* Set the translation vector component of this transformation matrix.
|
|
905
910
|
* @param translation - The translation vector.
|
|
906
911
|
* @returns The transformation matrix.
|
|
907
912
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
908
913
|
*/
|
|
909
|
-
setTranslation(translation: Vector3Like): Matrix4;
|
|
914
|
+
setTranslation(translation: Readonly<Vector3Like>): Matrix4;
|
|
910
915
|
/**
|
|
911
916
|
* Subtract another matrix from this one.
|
|
912
917
|
* @param matrix - The other matrix.
|
|
913
918
|
* @returns The difference between the matrices.
|
|
914
919
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
915
920
|
*/
|
|
916
|
-
subtract(matrix: Matrix4Like): Matrix4;
|
|
921
|
+
subtract(matrix: Readonly<Matrix4Like>): Matrix4;
|
|
917
922
|
/**
|
|
918
923
|
* Translate this matrix by the given vector.
|
|
919
924
|
* @param vector - The translation vector.
|
|
920
925
|
* @returns The translated matrix.
|
|
921
926
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
922
927
|
*/
|
|
923
|
-
translate(vector: Vector3Like): Matrix4;
|
|
928
|
+
translate(vector: Readonly<Vector3Like>): Matrix4;
|
|
924
929
|
/**
|
|
925
930
|
* Transpose this matrix.
|
|
926
931
|
* @returns The transpose of this matrix.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matrix4.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix4.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAQlD,OAAO,UAAU,EAAE,EAElB,KAAK,cAAc,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,OAAO,EAAE,EAGf,KAAK,WAAW,EAChB,MAAM,cAAc,CAAC;AAEtB;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC9C,mDAAmD;IAEnD,CAAC,EAAE,MAAM,CAAC;IAEV,oDAAoD;IAEpD,CAAC,EAAE,MAAM,CAAC;IAEV,mDAAmD;IAEnD,CAAC,EAAE,MAAM,CAAC;IAEV,oDAAoD;IAEpD,CAAC,EAAE,MAAM,CAAC;IAEV,oDAAoD;IAEpD,CAAC,EAAE,MAAM,CAAC;IAEV,qDAAqD;IAErD,CAAC,EAAE,MAAM,CAAC;IAEV,oDAAoD;IAEpD,CAAC,EAAE,MAAM,CAAC;IAEV,qDAAqD;IAErD,CAAC,EAAE,MAAM,CAAC;IAEV,mDAAmD;IAEnD,CAAC,EAAE,MAAM,CAAC;IAEV,oDAAoD;IAEpD,CAAC,EAAE,MAAM,CAAC;IAEV,mDAAmD;IAEnD,EAAE,EAAE,MAAM,CAAC;IAEX,oDAAoD;IAEpD,EAAE,EAAE,MAAM,CAAC;IAEX,oDAAoD;IAEpD,EAAE,EAAE,MAAM,CAAC;IAEX,qDAAqD;IAErD,EAAE,EAAE,MAAM,CAAC;IAEX,oDAAoD;IAEpD,EAAE,EAAE,MAAM,CAAC;IAEX,qDAAqD;IAErD,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAO,YAAY,GAAG,WAED,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,WAAW,EAC/C,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,KAAK,CAAC,KACJ,CAkBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,WAAW,EACpD,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CAmBD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,WAAW,EAChD,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CAmBD,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,WAAW,EAAE,KAAK,CAAC,KAAG,CACO,CAAC;AAEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,WAAW,EACjD,SAAS,MAAM,EACf,MAAM,WAAW,EACjB,KAAK,CAAC,KACJ,CAsCF,CAAC;AAEF;;;;;;;GAOG;AAEH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,WAAW,EAClD,SAAS,MAAM,EACf,KAAK,CAAC,KACJ,CAKF,CAAC;AAEF;;;;;;;GAOG;AAEH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,WAAW,EAClD,SAAS,MAAM,EACf,KAAK,CAAC,KACJ,CAKF,CAAC;AAEF;;;;;;;GAOG;AAEH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,WAAW,EAClD,SAAS,MAAM,EACf,KAAK,CAAC,KACJ,CAKF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,WAAW,EAC5D,UAAU,cAAc,EACxB,aAAa,WAAW,EACxB,KAAK,CAAC,KACJ,CAsCF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,WAAW,EACjE,UAAU,cAAc,EACxB,aAAa,WAAW,EACxB,SAAS,WAAW,EACpB,KAAK,CAAC,KACJ,CA0CF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kCAAkC,GAAI,CAAC,SAAS,WAAW,EACvE,UAAU,cAAc,EACxB,aAAa,WAAW,EACxB,SAAS,WAAW,EACpB,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CAuDF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,WAAW,EACnD,YAAY,cAAc,EAC1B,KAAK,CAAC,KACJ,CAuCF,CAAC;AAKF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,WAAW,EACvD,YAAY,kBAAkB,EAC9B,KAAK,CAAC,KACJ,CA4BF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,WAAW,EAC5C,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,KAAK,MAAM,EACX,KAAK,CAAC,KACJ,CA6BF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,WAAW,EAChD,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,KAAK,MAAM,EACX,KAAK,CAAC,KACJ,CA4BF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,WAAW,EACnD,KAAK,MAAM,EACX,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,KAAK,MAAM,EACX,KAAK,CAAC,KACJ,CA4BF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,WAAW,EAC/D,KAAK,WAAW,EAChB,MAAM,MAAM,EACZ,KAAK,MAAM,EACX,KAAK,CAAC,KACJ,CA4BF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,WAAW,EAC1C,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,KAAK,MAAM,EACX,KAAK,CAAC,KACJ,CAwBF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,WAAW,EAC7C,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,KAAK,MAAM,EACX,KAAK,CAAC,KACJ,CAwBF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAC3C,KAAK,WAAW,EAChB,QAAQ,WAAW,EACnB,IAAI,WAAW,EACf,KAAK,CAAC,KACJ,CA0EF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,WAAW,EAC7C,KAAK,WAAW,EAChB,QAAQ,WAAW,EACnB,IAAI,WAAW,EACf,KAAK,CAAC,KACJ,CAkDF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,WAAW,EACxC,GAAG,WAAW,EACd,GAAG,WAAW,EACd,KAAK,CAAC,KACJ,CAmBD,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,WAAW,EAAE,GAAG,WAAW,KAAG,OAgB3B,CAAC;AAE9B;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,WAAW,EAAE,GAAG,WAAW,KAAG,OAgB7C,CAAC;AAEjB;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,WAAW,EAC5C,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CAkDF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,WAAW,EAAE,QAAQ,WAAW,EAAE,KAAK,CAAC,KAAG,CAmBxE,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GAAI,QAAQ,WAAW,KAAG,MAkBzC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,WAAW,EAC7C,GAAG,WAAW,EACd,GAAG,WAAW,EACd,KAAK,CAAC,KACJ,CAsDF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,WAAW,EACnD,QAAQ,WAAW,EACnB,QAAQ,MAAM,EACd,KAAK,CAAC,KACJ,CAmBD,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,WAAW,EACzD,GAAG,WAAW,EACd,GAAG,WAAW,EACd,QAAQ,MAAM,EACd,KAAK,CAAC,KACJ,CAmBD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,WAAW,EAC7C,GAAG,WAAW,EACd,GAAG,WAAW,EACd,KAAK,CAAC,KACJ,CAmBD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,WAAW,EAC9C,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CA0CF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,WAAW,KAAG,MA2BjD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAC3C,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CAyDF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,WAAW,EAC1C,QAAQ,WAAW,EACnB,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CAwBF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,WAAW,EAC9C,QAAQ,WAAW,EACnB,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CA6CF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAC3C,QAAQ,WAAW,EACnB,SAAS,MAAM,EACf,MAAM,WAAW,EACjB,KAAK,CAAC,KACJ,CAuEF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,WAAW,EAC5C,QAAQ,WAAW,EACnB,GAAG,MAAM,EACT,KAAK,CAAC,KACJ,CAiCF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,WAAW,EAC5C,QAAQ,WAAW,EACnB,GAAG,MAAM,EACT,KAAK,CAAC,KACJ,CAiCF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,WAAW,EAC5C,QAAQ,WAAW,EACnB,GAAG,MAAM,EACT,KAAK,CAAC,KACJ,CAiCF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,WAAW,EACnD,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CAA+D,CAAC;AAEnE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,WAAW,EACnD,QAAQ,WAAW,EACnB,aAAa,WAAW,EACxB,KAAK,CAAC,KACJ,CAqBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,WAAW,EAC/C,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CAMD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,cAAc,EACnD,QAAQ,WAAW,EACnB,KAAK,CAAC,KACJ,CA4DF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,OACpB,SAAQ,YACR,YAAW,WAAW,EAAE,YAAY;IAEpC,mDAAmD;IAE5C,CAAC,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IAE7C,CAAC,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IAE5C,CAAC,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IAE7C,CAAC,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IAE7C,CAAC,EAAE,MAAM,CAAC;IAEjB,qDAAqD;IAE9C,CAAC,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IAE7C,CAAC,EAAE,MAAM,CAAC;IAEjB,qDAAqD;IAE9C,CAAC,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IAE5C,CAAC,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IAE7C,CAAC,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IAE5C,EAAE,EAAE,MAAM,CAAC;IAElB,oDAAoD;IAE7C,EAAE,EAAE,MAAM,CAAC;IAElB,oDAAoD;IAE7C,EAAE,EAAE,MAAM,CAAC;IAElB,qDAAqD;IAE9C,EAAE,EAAE,MAAM,CAAC;IAElB,oDAAoD;IAE7C,EAAE,EAAE,MAAM,CAAC;IAElB,qDAAqD;IAE9C,EAAE,EAAE,MAAM,CAAC;IAElB,yCAAyC;IACzC,SAAgB,MAAM,EAAE,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,CAAC,CAAC;IAEzB;;;OAGG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,UAAU,CAEhC;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;OAGG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;;OAGG;;IAaH;;;;;;;OAOG;WACW,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAIzE;;;;;;OAMG;WACW,cAAc,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO;IAIjE;;;;;;OAMG;WACW,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO;IAIjE;;;;;;;OAOG;WACW,uBAAuB,CACpC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,GACtB,OAAO;IAIV;;;;;;;;OAQG;WACW,4BAA4B,CACzC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,WAAW,GAClB,OAAO;IASV;;;;;;;;;OASG;WACW,kCAAkC,CAC/C,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,WAAW,GACjB,OAAO;IAUV;;;;;OAKG;WACW,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAIvD;;;;;OAKG;WACW,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI3D;;;;;;;;;;;;;;;;;;;OAmBG;WACW,UAAU,CACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACV,OAAO;IAsBV;;;;;OAKG;WAEW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;;OAKG;WAEW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;;OAKG;WAEW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;;;;;;;;OAWG;WACW,OAAO,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACT,OAAO;IAIV;;;;;;;OAOG;WACW,MAAM,CACnB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,EAAE,GAAE,WAAuB,GACzB,OAAO;IAIV;;;;;;;;;;;OAWG;WACW,KAAK,CAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACT,OAAO;IAIV;;;;;;;;;;;OAWG;WACW,QAAQ,CACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACT,OAAO;IAIV;;;;;;;;;OASG;WACW,WAAW,CACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACT,OAAO;IAIV;;;;;;;;;OASG;WACW,0BAA0B,CACvC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACT,OAAO;IAIV;;;;;;;;;OASG;WACW,cAAc,CAC3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACT,OAAO;IAIV;;;;;;;OAOG;WACW,QAAQ,CACrB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,EAAE,GAAE,WAAuB,GACzB,OAAO;IAIV;;;;;OAKG;IACI,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAIxC;;;;OAIG;IACI,OAAO,IAAI,OAAO;IAIzB;;;OAGG;IACI,KAAK,IAAI,OAAO;IAIvB;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAItC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI3C;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAIhD;;;;OAIG;IACI,QAAQ,IAAI,IAAI;IAIvB;;;;OAIG;IACI,MAAM,IAAI,OAAO;IAIxB;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI7C;;;;;OAKG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI9C;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIzE;;;;;;OAMG;IACI,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO;IAIpD;;;;;OAKG;IACI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;;OAKG;IACI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;;OAKG;IACI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;;OAKG;IACI,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI1C;;;;;OAKG;IACI,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAIxD;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI7C;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI9C;;;;OAIG;IACI,SAAS,IAAI,OAAO;CAG3B"}
|
|
1
|
+
{"version":3,"file":"Matrix4.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix4.ts"],"names":[],"mappings":"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"}
|
package/dist/linalg/Matrix4.js
CHANGED
|
@@ -433,7 +433,10 @@ export const perspectiveGpu = (fov, aspect, near, far, out) => {
|
|
|
433
433
|
};
|
|
434
434
|
/**
|
|
435
435
|
* Create a perspective projection matrix from a field of view. Useful for generating projection matrices to be used with the WebXR API.
|
|
436
|
-
* @param
|
|
436
|
+
* @param left - The angle to the left of the field of view in degrees.
|
|
437
|
+
* @param right - The angle to the right of the field of view in degrees.
|
|
438
|
+
* @param bottom - The angle to the bottom of the field of view in degrees.
|
|
439
|
+
* @param top - The angle to the top of the field of view in degrees.
|
|
437
440
|
* @param near - The near bound of the frustum.
|
|
438
441
|
* @param far - The far bound of the frustum.
|
|
439
442
|
* @param out - The matrix to store the result in.
|
|
@@ -443,15 +446,15 @@ export const perspectiveGpu = (fov, aspect, near, far, out) => {
|
|
|
443
446
|
* @see {@link https://en.wikipedia.org/wiki/3D_projection | 3D projection}
|
|
444
447
|
* @public
|
|
445
448
|
*/
|
|
446
|
-
export const perspectiveFromFieldOfView = (
|
|
447
|
-
const
|
|
448
|
-
const
|
|
449
|
-
const
|
|
450
|
-
const
|
|
449
|
+
export const perspectiveFromFieldOfView = (left, right, bottom, top, near, far, out) => {
|
|
450
|
+
const leftTan = Math.tan(degreesToRadians(left));
|
|
451
|
+
const rightTan = Math.tan(degreesToRadians(right));
|
|
452
|
+
const bottomTan = Math.tan(degreesToRadians(bottom));
|
|
453
|
+
const topTan = Math.tan(degreesToRadians(top));
|
|
451
454
|
const xScale = 2 / (leftTan + rightTan);
|
|
452
|
-
const yScale = 2 / (
|
|
455
|
+
const yScale = 2 / (topTan + bottomTan);
|
|
453
456
|
const nf = near - far;
|
|
454
|
-
return fromValues(xScale, 0, 0, 0, 0, yScale, 0, 0, -(((leftTan - rightTan) * xScale) / 2), ((
|
|
457
|
+
return fromValues(xScale, 0, 0, 0, 0, yScale, 0, 0, -(((leftTan - rightTan) * xScale) / 2), ((topTan - bottomTan) * yScale) / 2, far / nf, -1, 0, 0, (far * near) / nf, 0, out);
|
|
455
458
|
};
|
|
456
459
|
/**
|
|
457
460
|
* Generate an orthogonal projection matrix with the given bounds such that the near and far clip planes correspond to a normalized device coordinate Z range of `[-1, 1]` (OpenGL/WebGL).
|
|
@@ -1532,7 +1535,10 @@ export default class Matrix4 extends Float32Array {
|
|
|
1532
1535
|
}
|
|
1533
1536
|
/**
|
|
1534
1537
|
* Create a perspective projection matrix from a field of view. Useful for generating projection matrices to be used with the WebXR API.
|
|
1535
|
-
* @param
|
|
1538
|
+
* @param left - The angle to the left of the field of view in degrees.
|
|
1539
|
+
* @param right - The angle to the right of the field of view in degrees.
|
|
1540
|
+
* @param bottom - The angle to the bottom of the field of view in degrees.
|
|
1541
|
+
* @param top - The angle to the top of the field of view in degrees.
|
|
1536
1542
|
* @param near - The near bound of the frustum.
|
|
1537
1543
|
* @param far - The far bound of the frustum.
|
|
1538
1544
|
* @returns The perspective projection matrix.
|
|
@@ -1540,8 +1546,8 @@ export default class Matrix4 extends Float32Array {
|
|
|
1540
1546
|
* @see {@link https://en.wikipedia.org/wiki/3D_projection | 3D projection}
|
|
1541
1547
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API | WebXR API}
|
|
1542
1548
|
*/
|
|
1543
|
-
static perspectiveFromFieldOfView(
|
|
1544
|
-
return perspectiveFromFieldOfView(
|
|
1549
|
+
static perspectiveFromFieldOfView(left, right, bottom, top, near, far) {
|
|
1550
|
+
return perspectiveFromFieldOfView(left, right, bottom, top, near, far, new Matrix4());
|
|
1545
1551
|
}
|
|
1546
1552
|
/**
|
|
1547
1553
|
* Create a perspective projection matrix with the given bounds such that the near and far clip planes correspond to a normalized device coordinate Z range of `[0, 1]` (WebGPU/Vulkan/DirectX/Metal).
|