@lakuna/umath 1.3.9 → 1.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 (162) hide show
  1. package/README.md +1 -1
  2. package/dist/algorithms/approx.d.ts +9 -0
  3. package/dist/algorithms/approx.d.ts.map +1 -0
  4. package/dist/algorithms/approx.js +12 -0
  5. package/dist/algorithms/approx.js.map +1 -0
  6. package/dist/algorithms/approxRelative.d.ts +9 -0
  7. package/dist/algorithms/approxRelative.d.ts.map +1 -0
  8. package/dist/algorithms/approxRelative.js +12 -0
  9. package/dist/algorithms/approxRelative.js.map +1 -0
  10. package/dist/algorithms/combinations.d.ts +2 -1
  11. package/dist/algorithms/combinations.d.ts.map +1 -1
  12. package/dist/algorithms/combinations.js +2 -1
  13. package/dist/algorithms/combinations.js.map +1 -1
  14. package/dist/algorithms/degreesToRadians.d.ts +3 -2
  15. package/dist/algorithms/degreesToRadians.d.ts.map +1 -1
  16. package/dist/algorithms/degreesToRadians.js +5 -3
  17. package/dist/algorithms/degreesToRadians.js.map +1 -1
  18. package/dist/algorithms/factorial.d.ts +2 -1
  19. package/dist/algorithms/factorial.d.ts.map +1 -1
  20. package/dist/algorithms/factorial.js +2 -1
  21. package/dist/algorithms/factorial.js.map +1 -1
  22. package/dist/algorithms/fibonacci.d.ts +2 -1
  23. package/dist/algorithms/fibonacci.d.ts.map +1 -1
  24. package/dist/algorithms/fibonacci.js +6 -2
  25. package/dist/algorithms/fibonacci.js.map +1 -1
  26. package/dist/algorithms/greatestCommonDivisor.d.ts +4 -2
  27. package/dist/algorithms/greatestCommonDivisor.d.ts.map +1 -1
  28. package/dist/algorithms/greatestCommonDivisor.js +5 -2
  29. package/dist/algorithms/greatestCommonDivisor.js.map +1 -1
  30. package/dist/algorithms/hypergeometricPmf.d.ts +3 -2
  31. package/dist/algorithms/hypergeometricPmf.d.ts.map +1 -1
  32. package/dist/algorithms/hypergeometricPmf.js +3 -2
  33. package/dist/algorithms/hypergeometricPmf.js.map +1 -1
  34. package/dist/algorithms/isPrime.d.ts +2 -1
  35. package/dist/algorithms/isPrime.d.ts.map +1 -1
  36. package/dist/algorithms/isPrime.js +2 -1
  37. package/dist/algorithms/isPrime.js.map +1 -1
  38. package/dist/algorithms/permutations.d.ts +2 -1
  39. package/dist/algorithms/permutations.d.ts.map +1 -1
  40. package/dist/algorithms/permutations.js +2 -1
  41. package/dist/algorithms/permutations.js.map +1 -1
  42. package/dist/algorithms/primeFactorization.d.ts +2 -1
  43. package/dist/algorithms/primeFactorization.d.ts.map +1 -1
  44. package/dist/algorithms/primeFactorization.js +2 -1
  45. package/dist/algorithms/primeFactorization.js.map +1 -1
  46. package/dist/algorithms/radiansToDegrees.d.ts +3 -2
  47. package/dist/algorithms/radiansToDegrees.d.ts.map +1 -1
  48. package/dist/algorithms/radiansToDegrees.js +5 -3
  49. package/dist/algorithms/radiansToDegrees.js.map +1 -1
  50. package/dist/algorithms/summation.d.ts +2 -1
  51. package/dist/algorithms/summation.d.ts.map +1 -1
  52. package/dist/algorithms/summation.js +2 -1
  53. package/dist/algorithms/summation.js.map +1 -1
  54. package/dist/linalg/DualQuaternion.d.ts +102 -32
  55. package/dist/linalg/DualQuaternion.d.ts.map +1 -1
  56. package/dist/linalg/DualQuaternion.js +243 -272
  57. package/dist/linalg/DualQuaternion.js.map +1 -1
  58. package/dist/linalg/Matrix.d.ts +14 -10
  59. package/dist/linalg/Matrix.d.ts.map +1 -1
  60. package/dist/linalg/Matrix2.d.ts +74 -51
  61. package/dist/linalg/Matrix2.d.ts.map +1 -1
  62. package/dist/linalg/Matrix2.js +95 -171
  63. package/dist/linalg/Matrix2.js.map +1 -1
  64. package/dist/linalg/Matrix3.d.ts +122 -72
  65. package/dist/linalg/Matrix3.d.ts.map +1 -1
  66. package/dist/linalg/Matrix3.js +186 -355
  67. package/dist/linalg/Matrix3.js.map +1 -1
  68. package/dist/linalg/Matrix4.d.ts +266 -149
  69. package/dist/linalg/Matrix4.d.ts.map +1 -1
  70. package/dist/linalg/Matrix4.js +512 -852
  71. package/dist/linalg/Matrix4.js.map +1 -1
  72. package/dist/linalg/Quaternion.d.ts +252 -34
  73. package/dist/linalg/Quaternion.d.ts.map +1 -1
  74. package/dist/linalg/Quaternion.js +436 -166
  75. package/dist/linalg/Quaternion.js.map +1 -1
  76. package/dist/linalg/SlowMatrix.d.ts +10 -9
  77. package/dist/linalg/SlowMatrix.d.ts.map +1 -1
  78. package/dist/linalg/SlowMatrix.js +10 -9
  79. package/dist/linalg/SlowMatrix.js.map +1 -1
  80. package/dist/linalg/SlowSquareMatrix.d.ts +10 -9
  81. package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
  82. package/dist/linalg/SlowSquareMatrix.js +10 -9
  83. package/dist/linalg/SlowSquareMatrix.js.map +1 -1
  84. package/dist/linalg/SquareMatrix.d.ts +6 -5
  85. package/dist/linalg/SquareMatrix.d.ts.map +1 -1
  86. package/dist/linalg/Vector.d.ts +8 -4
  87. package/dist/linalg/Vector.d.ts.map +1 -1
  88. package/dist/linalg/Vector2.d.ts +82 -31
  89. package/dist/linalg/Vector2.d.ts.map +1 -1
  90. package/dist/linalg/Vector2.js +112 -154
  91. package/dist/linalg/Vector2.js.map +1 -1
  92. package/dist/linalg/Vector3.d.ts +93 -41
  93. package/dist/linalg/Vector3.d.ts.map +1 -1
  94. package/dist/linalg/Vector3.js +171 -282
  95. package/dist/linalg/Vector3.js.map +1 -1
  96. package/dist/linalg/Vector4.d.ts +71 -21
  97. package/dist/linalg/Vector4.d.ts.map +1 -1
  98. package/dist/linalg/Vector4.js +121 -195
  99. package/dist/linalg/Vector4.js.map +1 -1
  100. package/dist/types/AxisAngle.d.ts +4 -1
  101. package/dist/types/AxisAngle.d.ts.map +1 -1
  102. package/dist/types/FieldOfView.d.ts +4 -1
  103. package/dist/types/FieldOfView.d.ts.map +1 -1
  104. package/dist/utility/BigNumber.d.ts +4 -1
  105. package/dist/utility/BigNumber.d.ts.map +1 -1
  106. package/dist/utility/BigNumber.js +4 -1
  107. package/dist/utility/BigNumber.js.map +1 -1
  108. package/dist/utility/MagnitudeError.d.ts +4 -1
  109. package/dist/utility/MagnitudeError.d.ts.map +1 -1
  110. package/dist/utility/MagnitudeError.js +4 -1
  111. package/dist/utility/MagnitudeError.js.map +1 -1
  112. package/dist/utility/MatrixSizeError.d.ts +4 -1
  113. package/dist/utility/MatrixSizeError.d.ts.map +1 -1
  114. package/dist/utility/MatrixSizeError.js +4 -1
  115. package/dist/utility/MatrixSizeError.js.map +1 -1
  116. package/dist/utility/PartialMatrixError.d.ts +4 -1
  117. package/dist/utility/PartialMatrixError.d.ts.map +1 -1
  118. package/dist/utility/PartialMatrixError.js +4 -1
  119. package/dist/utility/PartialMatrixError.js.map +1 -1
  120. package/dist/utility/SingularMatrixError.d.ts +2 -1
  121. package/dist/utility/SingularMatrixError.d.ts.map +1 -1
  122. package/dist/utility/SingularMatrixError.js +2 -1
  123. package/dist/utility/SingularMatrixError.js.map +1 -1
  124. package/dist/utility/epsilon.d.ts +4 -1
  125. package/dist/utility/epsilon.d.ts.map +1 -1
  126. package/dist/utility/epsilon.js +4 -1
  127. package/dist/utility/epsilon.js.map +1 -1
  128. package/package.json +11 -11
  129. package/src/algorithms/approx.ts +12 -0
  130. package/src/algorithms/approxRelative.ts +12 -0
  131. package/src/algorithms/combinations.ts +2 -1
  132. package/src/algorithms/degreesToRadians.ts +6 -3
  133. package/src/algorithms/factorial.ts +3 -1
  134. package/src/algorithms/fibonacci.ts +7 -2
  135. package/src/algorithms/greatestCommonDivisor.ts +9 -4
  136. package/src/algorithms/hypergeometricPmf.ts +3 -2
  137. package/src/algorithms/isPrime.ts +2 -1
  138. package/src/algorithms/permutations.ts +2 -1
  139. package/src/algorithms/primeFactorization.ts +2 -1
  140. package/src/algorithms/radiansToDegrees.ts +6 -3
  141. package/src/algorithms/summation.ts +2 -1
  142. package/src/linalg/DualQuaternion.ts +424 -289
  143. package/src/linalg/Matrix.ts +14 -10
  144. package/src/linalg/Matrix2.ts +141 -188
  145. package/src/linalg/Matrix3.ts +400 -375
  146. package/src/linalg/Matrix4.ts +1083 -905
  147. package/src/linalg/Quaternion.ts +706 -188
  148. package/src/linalg/SlowMatrix.ts +10 -9
  149. package/src/linalg/SlowSquareMatrix.ts +10 -9
  150. package/src/linalg/SquareMatrix.ts +6 -5
  151. package/src/linalg/Vector.ts +8 -4
  152. package/src/linalg/Vector2.ts +146 -173
  153. package/src/linalg/Vector3.ts +293 -326
  154. package/src/linalg/Vector4.ts +227 -215
  155. package/src/types/AxisAngle.ts +4 -1
  156. package/src/types/FieldOfView.ts +4 -1
  157. package/src/utility/BigNumber.ts +6 -3
  158. package/src/utility/MagnitudeError.ts +4 -1
  159. package/src/utility/MatrixSizeError.ts +4 -1
  160. package/src/utility/PartialMatrixError.ts +4 -1
  161. package/src/utility/SingularMatrixError.ts +2 -1
  162. package/src/utility/epsilon.ts +4 -1
@@ -1,7 +1,10 @@
1
1
  import { type Matrix4Like } from "./Matrix4.js";
2
2
  import Quaternion, { type QuaternionLike } from "./Quaternion.js";
3
3
  import Vector3, { type Vector3Like } from "./Vector3.js";
4
- /** A complex number that is commonly used to describe transformations. */
4
+ /**
5
+ * A complex number that is commonly used to describe transformations.
6
+ * @public
7
+ */
5
8
  export interface DualQuaternionLike extends Record<number, number> {
6
9
  /** The first real component of this dual quaternion. */
7
10
  0: number;
@@ -23,6 +26,7 @@ export interface DualQuaternionLike extends Record<number, number> {
23
26
  /**
24
27
  * Create a dual quaternion-like object.
25
28
  * @returns A dual quaternion-like object.
29
+ * @public
26
30
  */
27
31
  export declare const createDualQuaternionLike: () => Float32Array & DualQuaternionLike;
28
32
  /**
@@ -37,6 +41,7 @@ export declare const createDualQuaternionLike: () => Float32Array & DualQuaterni
37
41
  * @param w2 - The fourth dual component.
38
42
  * @param out - The dual quaternion to store the result in.
39
43
  * @returns A new dual quaternion.
44
+ * @public
40
45
  */
41
46
  export declare const fromValues: <T extends DualQuaternionLike>(x1: number, y1: number, z1: number, w1: number, x2: number, y2: number, z2: number, w2: number, out: T) => T;
42
47
  /**
@@ -44,62 +49,87 @@ export declare const fromValues: <T extends DualQuaternionLike>(x1: number, y1:
44
49
  * @param dualQuaternion - The dual quaternion to copy.
45
50
  * @param out - The dual quaternion to store the result in.
46
51
  * @returns The copy.
52
+ * @public
47
53
  */
48
54
  export declare const copy: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T) => T;
49
55
  /**
50
- * Create a dual quaternion from the given quaternion and translation.
51
- * @param quaternion - The quaternion.
52
- * @param translation - The translation.
56
+ * Create a dual quaternion from the given rotation and translation.
57
+ * @param quaternion - The rotation quaternion.
58
+ * @param translation - The translation vector.
53
59
  * @param out - The dual quaternion to store the result in.
54
60
  * @returns The dual quaternion.
61
+ * @public
55
62
  */
56
63
  export declare const fromRotationTranslation: <T extends DualQuaternionLike>(quaternion: QuaternionLike, translation: Vector3Like, out: T) => T;
57
64
  /**
58
65
  * Create a dual quaternion from the given translation.
59
- * @param translation - The translation.
66
+ * @param translation - The translation vector.
60
67
  * @param out - The dual quaternion to store the result in.
61
68
  * @returns The dual quaternion.
69
+ * @public
62
70
  */
63
71
  export declare const fromTranslation: <T extends DualQuaternionLike>(translation: Vector3Like, out: T) => T;
64
72
  /**
65
- * Create a dual quaternion from the given quaternion.
66
- * @param quaternion - The quaternion.
73
+ * Create a dual quaternion from the given rotation.
74
+ * @param quaternion - The rotation quaternion.
67
75
  * @param out - The dual quaternion to store the result in.
68
76
  * @returns The dual quaternion.
77
+ * @public
69
78
  */
70
79
  export declare const fromRotation: <T extends DualQuaternionLike>(quaternion: QuaternionLike, out: T) => T;
71
80
  /**
72
- * Create a dual quaternion from the given four-by-four matrix.
81
+ * Create a dual quaternion from the given four-by-four matrix. Equivalent to (but faster than) `fromRotationTranslation(getRotation(matrix, createQuaternionLike()), getTranslation(matrix, createVector3Like()), out)`.
73
82
  * @param matrix - The matrix.
74
83
  * @param out - The dual quaternion to store the result in.
75
84
  * @returns The dual quaternion.
85
+ * @public
76
86
  */
77
87
  export declare const fromMatrix4: <T extends DualQuaternionLike>(matrix: Matrix4Like, out: T) => T;
78
88
  /**
79
89
  * Set a dual quaternion to the identity dual quaternion.
80
90
  * @param out - The dual quaternion to store the result in.
81
91
  * @returns The identity dual quaternion.
92
+ * @public
82
93
  */
83
94
  export declare const identity: <T extends DualQuaternionLike>(out: T) => T;
95
+ /**
96
+ * Get the real part of a dual quaternion.
97
+ * @param dualQuaternion - The dual quaternion.
98
+ * @param out - The quaternion to store the result in.
99
+ * @returns The real part.
100
+ * @public
101
+ */
102
+ export declare const getReal: <T extends QuaternionLike>(dualQuaternion: DualQuaternionLike, out: T) => T;
84
103
  /**
85
104
  * Get the dual part of a dual quaternion.
86
105
  * @param dualQuaternion - The dual quaternion.
87
106
  * @param out - The quaternion to store the result in.
88
107
  * @returns The dual part.
108
+ * @public
89
109
  */
90
110
  export declare const getDual: <T extends QuaternionLike>(dualQuaternion: DualQuaternionLike, out: T) => T;
111
+ /**
112
+ * Set the real part of a dual quaternion.
113
+ * @param quaternion - The quaternion to set as the real part.
114
+ * @param out - The dual quaternion to store the result in.
115
+ * @returns The dual quaternion.
116
+ * @public
117
+ */
118
+ export declare const setReal: <T extends DualQuaternionLike>(quaternion: QuaternionLike, out: T) => T;
91
119
  /**
92
120
  * Set the dual part of a dual quaternion.
93
121
  * @param quaternion - The quaternion to set as the dual part.
94
122
  * @param out - The dual quaternion to store the result in.
95
123
  * @returns The dual quaternion.
124
+ * @public
96
125
  */
97
126
  export declare const setDual: <T extends DualQuaternionLike>(quaternion: QuaternionLike, out: T) => T;
98
127
  /**
99
128
  * Get the translation of a normalized dual quaternion.
100
129
  * @param dualQuaternion - The dual quaternion.
101
130
  * @param out - The vector to store the result in.
102
- * @returns The translation.
131
+ * @returns The translation vector.
132
+ * @public
103
133
  */
104
134
  export declare const getTranslation: <T extends Vector3Like>(dualQuaternion: DualQuaternionLike, out: T) => T;
105
135
  /**
@@ -108,6 +138,7 @@ export declare const getTranslation: <T extends Vector3Like>(dualQuaternion: Dua
108
138
  * @param vector - The vector.
109
139
  * @param out - The dual quaternion to store the result in.
110
140
  * @returns The translated dual quaternion.
141
+ * @public
111
142
  */
112
143
  export declare const translate: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, vector: Vector3Like, out: T) => T;
113
144
  /**
@@ -116,6 +147,7 @@ export declare const translate: <T extends DualQuaternionLike>(dualQuaternion: D
116
147
  * @param radians - The angle to rotate by in radians.
117
148
  * @param out - The dual quaternion to store the result in.
118
149
  * @returns The rotated dual quaternion.
150
+ * @public
119
151
  */
120
152
  export declare const rotateX: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, radians: number, out: T) => T;
121
153
  /**
@@ -124,6 +156,7 @@ export declare const rotateX: <T extends DualQuaternionLike>(dualQuaternion: Dua
124
156
  * @param radians - The angle to rotate by in radians.
125
157
  * @param out - The dual quaternion to store the result in.
126
158
  * @returns The rotated dual quaternion.
159
+ * @public
127
160
  */
128
161
  export declare const rotateY: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, radians: number, out: T) => T;
129
162
  /**
@@ -132,22 +165,25 @@ export declare const rotateY: <T extends DualQuaternionLike>(dualQuaternion: Dua
132
165
  * @param radians - The angle to rotate by in radians.
133
166
  * @param out - The dual quaternion to store the result in.
134
167
  * @returns The rotated dual quaternion.
168
+ * @public
135
169
  */
136
170
  export declare const rotateZ: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, radians: number, out: T) => T;
137
171
  /**
138
- * Multiply a dual quaternion by a quaternion.
139
- * @param dualQuaternion - The dual quaternion.
140
- * @param quaternion - The quaternion.
172
+ * Rotate a dual quaternion by a quaternion (using the quaternion as the multiplicand).
173
+ * @param dualQuaternion - The dual quaternion to rotate.
174
+ * @param quaternion - The quaternion to rotate by.
141
175
  * @param out - The dual quaternion to store the result in.
142
176
  * @returns The rotated dual quaternion.
177
+ * @public
143
178
  */
144
179
  export declare const rotateByQuaternionAppend: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, quaternion: QuaternionLike, out: T) => T;
145
180
  /**
146
- * Multiply a quaternion by a dual quaternion.
147
- * @param quaternion - The quaternion.
148
- * @param dualQuaternion - The dual quaternion.
181
+ * Rotate a dual quaternion by a quaternion (using the quaternion as the multiplier).
182
+ * @param quaternion - The quaternion to rotate by.
183
+ * @param dualQuaternion - The dual quaternion to rotate.
149
184
  * @param out - The dual quaternion to store the result in.
150
185
  * @returns The rotated dual quaternion.
186
+ * @public
151
187
  */
152
188
  export declare const rotateByQuaternionPrepend: <T extends DualQuaternionLike>(quaternion: QuaternionLike, dualQuaternion: DualQuaternionLike, out: T) => T;
153
189
  /**
@@ -157,6 +193,7 @@ export declare const rotateByQuaternionPrepend: <T extends DualQuaternionLike>(q
157
193
  * @param radians - The angle of the rotation in radians.
158
194
  * @param out - The dual quaternion to store the result in.
159
195
  * @returns A normalized dual quaternion.
196
+ * @public
160
197
  */
161
198
  export declare const rotateAroundAxis: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, axis: Vector3Like, radians: number, out: T) => T;
162
199
  /**
@@ -165,6 +202,7 @@ export declare const rotateAroundAxis: <T extends DualQuaternionLike>(dualQuater
165
202
  * @param b - The addend.
166
203
  * @param out - The dual quaternion to store the result in.
167
204
  * @returns The sum.
205
+ * @public
168
206
  */
169
207
  export declare const add: <T extends DualQuaternionLike>(a: DualQuaternionLike, b: DualQuaternionLike, out: T) => T;
170
208
  /**
@@ -173,30 +211,57 @@ export declare const add: <T extends DualQuaternionLike>(a: DualQuaternionLike,
173
211
  * @param b - The multiplicand.
174
212
  * @param out - The dual quaternion to store the result in.
175
213
  * @returns The product.
214
+ * @public
176
215
  */
177
216
  export declare const multiply: <T extends DualQuaternionLike>(a: DualQuaternionLike, b: DualQuaternionLike, out: T) => T;
178
217
  /**
179
218
  * Multiply a dual quaternion by a scalar.
180
- * @param dualQuaternion - The multiplicand.
181
- * @param scalar - The multiplier.
219
+ * @param dualQuaternion - The multiplicand (dual quaternion).
220
+ * @param scalar - The multiplier (scalar) to scale the dual quaternion by.
182
221
  * @param out - The dual quaternion to store the result in.
183
- * @returns The sum.
222
+ * @returns The product.
223
+ * @public
184
224
  */
185
225
  export declare const scale: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, scalar: number, out: T) => T;
226
+ /**
227
+ * Calculate the dot product of two dual quaternions.
228
+ * @param a - The multiplier.
229
+ * @param b - The multiplicand.
230
+ * @returns The dot product.
231
+ * @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
232
+ * @public
233
+ */
234
+ export declare const dot: (a: DualQuaternionLike, b: DualQuaternionLike) => number;
186
235
  /**
187
236
  * Perform a linear interpolation between two dual quaternions.
188
237
  * @param a - The first dual quaternion.
189
238
  * @param b - The second dual quaternion.
190
239
  * @param t - The interpolation amount in `[0,1]`.
191
- * @param out - The dual quaternion to store the result in.
240
+ * @param out - The dual quaternion to store the result in. Will not always be normalized (most noticeable when `t === 0.5`).
192
241
  * @returns The interpolated value.
242
+ * @public
193
243
  */
194
244
  export declare const lerp: <T extends DualQuaternionLike>(a: DualQuaternionLike, b: DualQuaternionLike, t: number, out: T) => T;
245
+ /**
246
+ * Calculate the magnitude (length) of a dual quaternion.
247
+ * @param dualQuaternion - The dual quaternion.
248
+ * @returns The magnitude.
249
+ * @public
250
+ */
251
+ export declare const getMagnitude: (dualQuaternion: DualQuaternionLike) => number;
252
+ /**
253
+ * Calculate the squared magnitude (length) of a dual quaternion.
254
+ * @param dualQuaternion - The dual quaternion.
255
+ * @returns The squared magnitude.
256
+ * @public
257
+ */
258
+ export declare const getSquaredMagnitude: (dualQuaternion: DualQuaternionLike) => number;
195
259
  /**
196
260
  * Calculate the inverse of a dual quaternion. If the dual quaternion is normalized, the conjugate is equivalent and faster to calculate.
197
261
  * @param dualQuaternion - The dual quaternion.
198
262
  * @param out - The dual quaternion to store the result in.
199
263
  * @returns The inverse.
264
+ * @public
200
265
  */
201
266
  export declare const invert: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T) => T;
202
267
  /**
@@ -204,6 +269,7 @@ export declare const invert: <T extends DualQuaternionLike>(dualQuaternion: Dual
204
269
  * @param dualQuaternion - The dual quaternion.
205
270
  * @param out - The dual quaternion to store the result in.
206
271
  * @returns The conjugate.
272
+ * @public
207
273
  */
208
274
  export declare const conjugate: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T) => T;
209
275
  /**
@@ -211,6 +277,7 @@ export declare const conjugate: <T extends DualQuaternionLike>(dualQuaternion: D
211
277
  * @param dualQuaternion - The dual quaternion.
212
278
  * @param out - The dual quaternion to store the result in.
213
279
  * @returns The normalized dual quaternion.
280
+ * @public
214
281
  */
215
282
  export declare const normalize: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike, out: T) => T;
216
283
  /**
@@ -218,6 +285,7 @@ export declare const normalize: <T extends DualQuaternionLike>(dualQuaternion: D
218
285
  * @param a - The first dual quaternion.
219
286
  * @param b - The second dual quaternion.
220
287
  * @returns Whether or not the dual quaternions are equivalent.
288
+ * @public
221
289
  */
222
290
  export declare const exactEquals: (a: DualQuaternionLike, b: DualQuaternionLike) => boolean;
223
291
  /**
@@ -225,11 +293,13 @@ export declare const exactEquals: (a: DualQuaternionLike, b: DualQuaternionLike)
225
293
  * @param a - The first dual quaternion.
226
294
  * @param b - The second dual quaternion.
227
295
  * @returns Whether or not the dual quaternions are equivalent.
296
+ * @public
228
297
  */
229
298
  export declare const equals: (a: DualQuaternionLike, b: DualQuaternionLike) => boolean;
230
299
  /**
231
300
  * A complex number that is commonly used to describe transformations.
232
- * @see [Dual quaternion](https://en.wikipedia.org/wiki/Dual_quaternion)
301
+ * @see {@link https://en.wikipedia.org/wiki/Dual_quaternion | Dual quaternion}
302
+ * @public
233
303
  */
234
304
  export default class DualQuaternion extends Float32Array implements DualQuaternionLike {
235
305
  /**
@@ -247,23 +317,23 @@ export default class DualQuaternion extends Float32Array implements DualQuaterni
247
317
  */
248
318
  static fromValues<T extends DualQuaternionLike = DualQuaternion>(x1: number, y1: number, z1: number, w1: number, x2: number, y2: number, z2: number, w2: number, out?: T): T;
249
319
  /**
250
- * Create a dual quaternion from the given quaternion and translation.
251
- * @param q - The quaternion.
252
- * @param t - The translation.
320
+ * Create a dual quaternion from the given rotation and translation.
321
+ * @param q - The rotation quaternion.
322
+ * @param t - The translation vector.
253
323
  * @param out - The dual quaternion to store the result in.
254
324
  * @returns The dual quaternion.
255
325
  */
256
326
  static fromRotationTranslation<T extends DualQuaternionLike = DualQuaternion>(q: QuaternionLike, t: Vector3Like, out?: T): T;
257
327
  /**
258
328
  * Create a dual quaternion from the given translation.
259
- * @param t - The translation.
329
+ * @param t - The translation vector.
260
330
  * @param out - The dual quaternion to store the result in.
261
331
  * @returns The dual quaternion.
262
332
  */
263
333
  static fromTranslation<T extends DualQuaternionLike = DualQuaternion>(t: Vector3Like, out?: T): T;
264
334
  /**
265
- * Create a dual quaternion from the given quaternion.
266
- * @param q - The quaternion.
335
+ * Create a dual quaternion from the given rotation.
336
+ * @param q - The rotation quaternion.
267
337
  * @param out - The dual quaternion to store the result in.
268
338
  * @returns The dual quaternion.
269
339
  */
@@ -277,7 +347,7 @@ export default class DualQuaternion extends Float32Array implements DualQuaterni
277
347
  static fromMatrix4<T extends DualQuaternionLike = DualQuaternion>(matrix: Matrix4Like, out?: T): T;
278
348
  /**
279
349
  * Create an identity dual quaternion.
280
- * @see [Dual quaternion](https://en.wikipedia.org/wiki/Dual_quaternion)
350
+ * @see {@link https://en.wikipedia.org/wiki/Dual_quaternion | Dual quaternion}
281
351
  */
282
352
  constructor();
283
353
  /** The first real component of this dual quaternion. */
@@ -370,19 +440,19 @@ export default class DualQuaternion extends Float32Array implements DualQuaterni
370
440
  */
371
441
  rotateZ<T extends DualQuaternionLike = DualQuaternion>(r: number, out?: T): T;
372
442
  /**
373
- * Multiply this dual quaternion by a quaternion.
443
+ * Rotate this dual quaternion by a quaternion (using the quaternion as the multiplicand).
374
444
  * @param q - The quaternion.
375
445
  * @param out - The dual quaternion to store the result in.
376
446
  * @returns The rotated dual quaternion.
377
- * @see [Quaternion](https://en.wikipedia.org/wiki/Quaternion)
447
+ * @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
378
448
  */
379
449
  rotateByQuaternionAppend<T extends DualQuaternionLike = DualQuaternion>(q: QuaternionLike, out?: T): T;
380
450
  /**
381
- * Multiply a quaternion by this dual quaternion.
451
+ * Rotate this dual quaternion by a quaternion (using the quaternion as the multiplier).
382
452
  * @param q - The quaternion.
383
453
  * @param out - The dual quaternion to store the result in.
384
454
  * @returns The rotated dual quaternion.
385
- * @see [Quaternion](https://en.wikipedia.org/wiki/Quaternion)
455
+ * @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
386
456
  */
387
457
  rotateByQuaternionPrepend<T extends DualQuaternionLike = DualQuaternion>(q: QuaternionLike, out?: T): T;
388
458
  /**
@@ -418,7 +488,7 @@ export default class DualQuaternion extends Float32Array implements DualQuaterni
418
488
  * Calculate the dot product of this and another dual quaternion.
419
489
  * @param dq - The other dual quaternion.
420
490
  * @returns The dot product.
421
- * @see [Dot product](https://en.wikipedia.org/wiki/Dot_product)
491
+ * @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
422
492
  */
423
493
  dot(dq: DualQuaternionLike): number;
424
494
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DualQuaternion.d.ts","sourceRoot":"","sources":["../../src/linalg/DualQuaternion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DualQuaternion.d.ts","sourceRoot":"","sources":["../../src/linalg/DualQuaternion.ts"],"names":[],"mappings":"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"}