linearly 0.3.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/lib/{common.d.ts → cjs/common.d.ts} +1 -0
  2. package/lib/cjs/common.d.ts.map +1 -0
  3. package/lib/cjs/common.js +20 -0
  4. package/lib/{index.d.ts → cjs/index.d.ts} +1 -0
  5. package/lib/cjs/index.d.ts.map +1 -0
  6. package/lib/cjs/index.js +35 -0
  7. package/lib/{mat2.d.ts → cjs/mat2.d.ts} +1 -0
  8. package/lib/cjs/mat2.d.ts.map +1 -0
  9. package/lib/cjs/mat2.js +224 -0
  10. package/lib/{mat2d.d.ts → cjs/mat2d.d.ts} +1 -0
  11. package/lib/cjs/mat2d.d.ts.map +1 -0
  12. package/lib/cjs/mat2d.js +291 -0
  13. package/lib/{mat3.d.ts → cjs/mat3.d.ts} +1 -0
  14. package/lib/cjs/mat3.d.ts.map +1 -0
  15. package/lib/cjs/mat3.js +450 -0
  16. package/lib/{mat4.d.ts → cjs/mat4.d.ts} +1 -0
  17. package/lib/cjs/mat4.d.ts.map +1 -0
  18. package/lib/cjs/mat4.js +1250 -0
  19. package/lib/{quat.d.ts → cjs/quat.d.ts} +1 -0
  20. package/lib/cjs/quat.d.ts.map +1 -0
  21. package/lib/cjs/quat.js +504 -0
  22. package/lib/{vec2.d.ts → cjs/vec2.d.ts} +1 -0
  23. package/lib/cjs/vec2.d.ts.map +1 -0
  24. package/lib/cjs/vec2.js +205 -0
  25. package/lib/{vec3.d.ts → cjs/vec3.d.ts} +1 -0
  26. package/lib/cjs/vec3.d.ts.map +1 -0
  27. package/lib/cjs/vec3.js +409 -0
  28. package/lib/{vec4.d.ts → cjs/vec4.d.ts} +1 -0
  29. package/lib/cjs/vec4.d.ts.map +1 -0
  30. package/lib/cjs/vec4.js +319 -0
  31. package/lib/esm/common.d.ts +12 -0
  32. package/lib/esm/common.d.ts.map +1 -0
  33. package/lib/esm/common.js +16 -0
  34. package/lib/esm/index.d.ts +17 -0
  35. package/lib/esm/index.d.ts.map +1 -0
  36. package/lib/esm/index.js +9 -0
  37. package/lib/esm/mat2.d.ts +91 -0
  38. package/lib/esm/mat2.d.ts.map +1 -0
  39. package/lib/esm/mat2.js +179 -0
  40. package/lib/esm/mat2d.d.ts +102 -0
  41. package/lib/esm/mat2d.d.ts.map +1 -0
  42. package/lib/esm/mat2d.js +246 -0
  43. package/lib/esm/mat3.d.ts +120 -0
  44. package/lib/esm/mat3.d.ts.map +1 -0
  45. package/lib/esm/mat3.js +400 -0
  46. package/lib/esm/mat4.d.ts +313 -0
  47. package/lib/esm/mat4.d.ts.map +1 -0
  48. package/lib/esm/mat4.js +1183 -0
  49. package/lib/esm/quat.d.ts +220 -0
  50. package/lib/esm/quat.d.ts.map +1 -0
  51. package/lib/esm/quat.js +458 -0
  52. package/lib/esm/vec2.d.ts +66 -0
  53. package/lib/esm/vec2.d.ts.map +1 -0
  54. package/lib/esm/vec2.js +149 -0
  55. package/lib/esm/vec3.d.ts +167 -0
  56. package/lib/esm/vec3.d.ts.map +1 -0
  57. package/lib/esm/vec3.js +348 -0
  58. package/lib/esm/vec4.d.ts +116 -0
  59. package/lib/esm/vec4.d.ts.map +1 -0
  60. package/lib/esm/vec4.js +266 -0
  61. package/package.json +6 -4
  62. package/lib/common.js +0 -30
  63. package/lib/index.js +0 -45
  64. package/lib/mat2.js +0 -234
  65. package/lib/mat2d.js +0 -301
  66. package/lib/mat2d.test.d.ts +0 -1
  67. package/lib/mat2d.test.js +0 -123
  68. package/lib/mat3.js +0 -460
  69. package/lib/mat4.js +0 -1260
  70. package/lib/quat.js +0 -514
  71. package/lib/vec2.js +0 -215
  72. package/lib/vec2.test.d.ts +0 -1
  73. package/lib/vec2.test.js +0 -147
  74. package/lib/vec3.js +0 -419
  75. package/lib/vec3.test.d.ts +0 -1
  76. package/lib/vec3.test.js +0 -149
  77. package/lib/vec4.js +0 -329
  78. package/lib/vec4.test.d.ts +0 -1
  79. package/lib/vec4.test.js +0 -45
@@ -0,0 +1,313 @@
1
+ import { Quat } from './quat';
2
+ import { Vec3 } from './vec3';
3
+ /**
4
+ * 4x4 Matrix<br>Format: column-major, when typed out it looks like row-major<br>The matrices are being post multiplied.
5
+ */
6
+ export type Mat4 = readonly [
7
+ number,
8
+ number,
9
+ number,
10
+ number,
11
+ number,
12
+ number,
13
+ number,
14
+ number,
15
+ number,
16
+ number,
17
+ number,
18
+ number,
19
+ number,
20
+ number,
21
+ number,
22
+ number
23
+ ];
24
+ export declare function of(m00: number, m01: number, m02: number, m03: number, m10: number, m11: number, m12: number, m13: number, m20: number, m21: number, m22: number, m23: number, m30: number, m31: number, m32: number, m33: number): Mat4;
25
+ /**
26
+ * The identity matrix of mat4
27
+ */
28
+ export declare const identity: Mat4;
29
+ export declare const zero: Mat4;
30
+ /**
31
+ * Transpose the values of a mat4
32
+ */
33
+ export declare function transpose(a: Mat4): Mat4;
34
+ /**
35
+ * Inverts a mat4
36
+ */
37
+ export declare function invert(a: Mat4): Mat4 | null;
38
+ /**
39
+ * Calculates the adjugate of a mat4
40
+ */
41
+ export declare function adjoint(a: Mat4): Mat4;
42
+ /**
43
+ * Calculates the determinant of a mat4
44
+ */
45
+ export declare function determinant(a: Mat4): number;
46
+ /**
47
+ * Multiplies two mat4's
48
+ */
49
+ export declare function multiply(a: Mat4, b: Mat4): Mat4;
50
+ /**
51
+ * Translate a mat4 by the given vector
52
+ *
53
+ * @param a the matrix to translate
54
+ * @param v vector to translate by
55
+ */
56
+ export declare function translate(a: Mat4, v: Vec3): Mat4;
57
+ /**
58
+ * Scales the mat4 by the dimensions in the given vec3 not using vectorization
59
+ **/
60
+ export declare function scale(a: Mat4, v: Vec3): Mat4;
61
+ /**
62
+ * Rotates a mat4 by the given angle around the given axis
63
+ */
64
+ export declare function rotate(a: Mat4, rad: number, axis: Vec3): Mat4 | null;
65
+ /**
66
+ * Rotates a matrix by the given angle around the X axis
67
+ */
68
+ export declare function rotateX(a: Mat4, rad: number): Mat4;
69
+ /**
70
+ * Rotates a matrix by the given angle around the Y axis
71
+ */
72
+ export declare function rotateY(a: Mat4, rad: number): Mat4;
73
+ /**
74
+ * Rotates a matrix by the given angle around the Z axis
75
+ */
76
+ export declare function rotateZ(a: Mat4, rad: number): Mat4;
77
+ /**
78
+ * Creates a matrix from a vector translation
79
+ */
80
+ export declare function fromTranslation(v: Vec3): Mat4;
81
+ /**
82
+ * Creates a matrix from a vector scaling
83
+ */
84
+ export declare function fromScaling(v: Vec3): Mat4;
85
+ /**
86
+ * Creates a matrix from a given angle around a given axis
87
+ */
88
+ export declare function fromRotation(rad: number, axis: Vec3): Mat4 | null;
89
+ /**
90
+ * Creates a matrix from the given angle around the X axis
91
+ */
92
+ export declare function fromXRotation(rad: number): Mat4;
93
+ /**
94
+ * Creates a matrix from the given angle around the Y axis
95
+ */
96
+ export declare function fromYRotation(rad: number): Mat4;
97
+ /**
98
+ * Creates a matrix from the given angle around the Z axis
99
+ */
100
+ export declare function fromZRotation(rad: number): Mat4;
101
+ /**
102
+ * Creates a matrix from a quaternion rotation and vector translation
103
+ */
104
+ export declare function fromRotationTranslation(q: Quat, v: Vec3): Mat4;
105
+ /**
106
+ * Returns the translation vector component of a transformation
107
+ * matrix. If a matrix is built with fromRotationTranslation,
108
+ * the returned vector will be the same as the translation vector
109
+ * originally supplied.
110
+ */
111
+ export declare function getTranslation(mat: Mat4): Vec3;
112
+ /**
113
+ * Returns the scaling factor component of a transformation
114
+ * matrix. If a matrix is built with fromRotationTranslationScale
115
+ * with a normalized Quaternion paramter, the returned vector will be
116
+ * the same as the scaling vector
117
+ * originally supplied.
118
+ */
119
+ export declare function getScaling(mat: Mat4): Vec3;
120
+ /**
121
+ * Returns a quaternion representing the rotational component
122
+ * of a transformation matrix. If a matrix is built with
123
+ * fromRotationTranslation, the returned quaternion will be the
124
+ * same as the quaternion originally supplied.
125
+ */
126
+ export declare function getRotation(mat: Mat4): Quat;
127
+ interface DecomposedTRS {
128
+ rot: Quat;
129
+ trans: Vec3;
130
+ scale: Vec3;
131
+ }
132
+ /**
133
+ * Decomposes a transformation matrix into its rotation, translation
134
+ * and scale components. Returns only the rotation component
135
+ *
136
+ * @param mat Matrix to be decomposed (input)
137
+ */
138
+ export declare function decompose(mat: Mat4): DecomposedTRS;
139
+ /**
140
+ * Creates a matrix from a quaternion rotation, vector translation and vector scale
141
+ * This is equivalent to (but much faster than):
142
+ *
143
+ * mat4.identity(dest);
144
+ * mat4.translate(dest, vec);
145
+ * const quatMat = mat4.create();
146
+ * quat4.toMat4(quat, quatMat);
147
+ * mat4.multiply(dest, quatMat);
148
+ * mat4.scale(dest, scale)
149
+ *
150
+ * @param rot Rotation quaternion
151
+ * @param trans Translation vector
152
+ * @param scale Scaling vector
153
+ */
154
+ export declare function fromRotationTranslationScale(rot: Quat, trans: Vec3, scale: Vec3): Mat4;
155
+ /**
156
+ * Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin
157
+ * This is equivalent to (but much faster than):
158
+ *
159
+ * mat4.identity(dest);
160
+ * mat4.translate(dest, vec);
161
+ * mat4.translate(dest, origin);
162
+ * const quatMat = mat4.create();
163
+ * quat4.toMat4(quat, quatMat);
164
+ * mat4.multiply(dest, quatMat);
165
+ * mat4.scale(dest, scale)
166
+ * mat4.translate(dest, negativeOrigin);
167
+ *
168
+ * @param rot Rotation quaternion
169
+ * @param trans Translation vector
170
+ * @param scale Scaling vector
171
+ * @param origin The origin vector around which to scale and rotate
172
+ */
173
+ export declare function fromRotationTranslationScaleOrigin(rot: Quat, trans: Vec3, scale: Vec3, origin: Vec3): number[];
174
+ /**
175
+ * Calculates a 4x4 matrix from the given quaternion
176
+ *
177
+ * @param q Quaternion to create matrix from
178
+ */
179
+ export declare function fromQuat(q: Quat): Mat4;
180
+ /**
181
+ * Generates a frustum matrix with the given bounds
182
+ *
183
+ * @param left Left bound of the frustum
184
+ * @param right Right bound of the frustum
185
+ * @param bottom Bottom bound of the frustum
186
+ * @param top Top bound of the frustum
187
+ * @param near Near bound of the frustum
188
+ * @param far Far bound of the frustum
189
+ */
190
+ export declare function frustum(left: number, right: number, bottom: number, top: number, near: number, far: number): number[];
191
+ /**
192
+ * Generates a perspective projection matrix with the given bounds.
193
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],
194
+ * which matches WebGL/OpenGL's clip volume.
195
+ * Passing null/undefined/no value for far will generate infinite projection matrix.
196
+ *
197
+ * @param fovy Vertical field of view in radians
198
+ * @param aspect Aspect ratio. typically viewport width/height
199
+ * @param near Near bound of the frustum
200
+ * @param far Far bound of the frustum, can be null or Infinity
201
+ */
202
+ export declare function perspectiveNO(fovy: number, aspect: number, near: number, far: number): Mat4;
203
+ /**
204
+ * Alias for {@link mat4.perspectiveNO}
205
+ * @function
206
+ */
207
+ export declare const perspective: typeof perspectiveNO;
208
+ /**
209
+ * Generates a perspective projection matrix suitable for WebGPU with the given bounds.
210
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],
211
+ * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
212
+ * Passing null/undefined/no value for far will generate infinite projection matrix.
213
+ *
214
+ * @param fovy Vertical field of view in radians
215
+ * @param aspect Aspect ratio. typically viewport width/height
216
+ * @param near Near bound of the frustum
217
+ * @param far Far bound of the frustum, can be null or Infinity
218
+ */
219
+ export declare function perspectiveZO(fovy: number, aspect: number, near: number, far: number | null): Mat4;
220
+ interface FovDegrees {
221
+ upDegrees: number;
222
+ downDegrees: number;
223
+ leftDegrees: number;
224
+ rightDegrees: number;
225
+ }
226
+ /**
227
+ * Generates a perspective projection matrix with the given field of view.
228
+ * This is primarily useful for generating projection matrices to be used
229
+ * with the still experiemental WebVR API.
230
+ *
231
+ * @param fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees
232
+ * @param near Near bound of the frustum
233
+ * @param far Far bound of the frustum
234
+ */
235
+ export declare function perspectiveFromFieldOfView(fov: FovDegrees, near: number, far: number): Mat4;
236
+ /**
237
+ * Generates a orthogonal projection matrix with the given bounds.
238
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],
239
+ * which matches WebGL/OpenGL's clip volume.
240
+ *
241
+ * @param left Left bound of the frustum
242
+ * @param right Right bound of the frustum
243
+ * @param bottom Bottom bound of the frustum
244
+ * @param top Top bound of the frustum
245
+ * @param near Near bound of the frustum
246
+ * @param far Far bound of the frustum
247
+ */
248
+ export declare function orthoNO(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
249
+ /**
250
+ * Alias for {@link mat4.orthoNO}
251
+ * @function
252
+ */
253
+ export declare const ortho: typeof orthoNO;
254
+ /**
255
+ * Generates a orthogonal projection matrix with the given bounds.
256
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],
257
+ * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
258
+ *
259
+ * @param left Left bound of the frustum
260
+ * @param right Right bound of the frustum
261
+ * @param bottom Bottom bound of the frustum
262
+ * @param top Top bound of the frustum
263
+ * @param near Near bound of the frustum
264
+ * @param far Far bound of the frustum
265
+ */
266
+ export declare function orthoZO(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
267
+ /**
268
+ * Generates a look-at matrix with the given eye position, focal point, and up axis.
269
+ * If you want a matrix that actually makes an object look at another object, you should use targetTo instead.
270
+ *
271
+ * @param eye Position of the viewer
272
+ * @param center Point the viewer is looking at
273
+ * @param up vec3 pointing up
274
+ */
275
+ export declare function lookAt(eye: Vec3, center: Vec3, up: Vec3): Mat4;
276
+ /**
277
+ * Generates a matrix that makes something look at something else.
278
+ *
279
+ * @param eye Position of the viewer
280
+ * @param center Point the viewer is looking at
281
+ * @param up vec3 pointing up
282
+ */
283
+ export declare function targetTo(eye: Vec3, target: Vec3, up: Vec3): Mat4;
284
+ /**
285
+ * Returns Frobenius norm of a mat4
286
+ */
287
+ export declare function frob(a: Mat4): number;
288
+ /**
289
+ * Adds two mat4's
290
+ */
291
+ export declare function add(a: Mat4, b: Mat4): number[];
292
+ /**
293
+ * Subtracts matrix b from matrix a
294
+ */
295
+ export declare function subtract(a: Mat4, b: Mat4): Mat4;
296
+ /**
297
+ * Multiply each element of the matrix by a scalar.
298
+ */
299
+ export declare function multiplyScalar(a: Mat4, s: number): Mat4;
300
+ /**
301
+ * Adds two mat4's after multiplying each element of the second operand by a scalar value.
302
+ */
303
+ export declare function multiplyScalarAndAdd(a: Mat4, b: Mat4, scale: number): Mat4;
304
+ /**
305
+ * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
306
+ */
307
+ export declare function exactEquals(a: Mat4, b: Mat4): boolean;
308
+ /**
309
+ * Returns whether or not the matrices have approximately the same elements in the same position.
310
+ */
311
+ export declare function equals(a: Mat4, b: Mat4): boolean;
312
+ export {};
313
+ //# sourceMappingURL=mat4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mat4.d.ts","sourceRoot":"","sources":["../../src/mat4.ts"],"names":[],"mappings":"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"}