Skip to content

Commit 0f2d43c

Browse files
authored
Merge pull request #4 from otac0n/feature/math-3.0
Feature/math 3.0
2 parents 7efc1eb + 41aa58d commit 0f2d43c

17 files changed

+2022
-1354
lines changed

sources/Maths/Maths/Legacy/Vector2D.Ops.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ public static Vector2D<T> TransformNormal<T>(Vector2D<T> normal, Matrix4X4<T> ma
213213
/// <param name="value">The source vector to be rotated.</param>
214214
/// <param name="rotation">The rotation to apply.</param>
215215
/// <returns>The transformed vector.</returns>
216-
public static Vector2D<T> Transform<T>(Vector2D<T> value, Quaternion<T> rotation)
216+
public static Vector2D<T> Transform<T>(Vector2D<T> value, Legacy.Quaternion<T> rotation)
217217
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
218218
{
219219
T x2 = Scalar.Add(rotation.X, rotation.X);
@@ -285,4 +285,4 @@ public static Vector2D<T> Multiply<T>(Vector2D<T> value1, Matrix2X2<T> value2)
285285
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
286286
=> value1 * value2;
287287
}
288-
}
288+
}

sources/Maths/Maths/Legacy/Vector3D.Ops.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ public static Vector3D<T> Transform<T>(Vector3D<T> position, Matrix4X4<T> matrix
254254
/// <param name="rotation">The rotation to apply.</param>
255255
/// <returns>The transformed vector.</returns>
256256
[MethodImpl((MethodImplOptions) 768)]
257-
public static Vector3D<T> Transform<T>(Vector3D<T> value, Quaternion<T> rotation)
257+
public static Vector3D<T> Transform<T>(Vector3D<T> value, Legacy.Quaternion<T> rotation)
258258
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
259259
{
260260
T x2 = Scalar.Add(rotation.X, rotation.X);
@@ -296,4 +296,4 @@ public static Vector3D<T> TransformNormal<T>(Vector3D<T> normal, Matrix4X4<T> ma
296296
);
297297
}
298298
}
299-
}
299+
}

sources/Maths/Maths/Legacy/Vector4D.Ops.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ public static Vector4D<T> Transform<T>(Vector2D<T> position, Matrix4X4<T> matrix
237237
/// <param name="rotation">The rotation to apply.</param>
238238
/// <returns>The transformed vector.</returns>
239239
[MethodImpl((MethodImplOptions) 768)]
240-
public static Vector4D<T> Transform<T>(Vector2D<T> value, Quaternion<T> rotation)
240+
public static Vector4D<T> Transform<T>(Vector2D<T> value, Silk.NET.Maths.Legacy.Quaternion<T> rotation)
241241
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
242242
{
243243
T x2 = Scalar.Add(rotation.X, rotation.X);
@@ -283,7 +283,7 @@ public static Vector4D<T> Transform<T>(Vector3D<T> position, Matrix4X4<T> matrix
283283
/// <param name="rotation">The rotation to apply.</param>
284284
/// <returns>The transformed vector.</returns>
285285
[MethodImpl((MethodImplOptions) 768)]
286-
public static Vector4D<T> Transform<T>(Vector3D<T> value, Quaternion<T> rotation)
286+
public static Vector4D<T> Transform<T>(Vector3D<T> value, Legacy.Quaternion<T> rotation)
287287
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
288288
{
289289
T x2 = Scalar.Add(rotation.X, rotation.X);
@@ -329,7 +329,7 @@ public static Vector4D<T> Transform<T>(Vector4D<T> vector, Matrix4X4<T> matrix)
329329
/// <param name="rotation">The rotation to apply.</param>
330330
/// <returns>The transformed vector.</returns>
331331
[MethodImpl((MethodImplOptions) 768)]
332-
public static Vector4D<T> Transform<T>(Vector4D<T> value, Quaternion<T> rotation)
332+
public static Vector4D<T> Transform<T>(Vector4D<T> value, Legacy.Quaternion<T> rotation)
333333
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
334334
{
335335
T x2 = Scalar.Add(rotation.X, rotation.X);
@@ -354,4 +354,4 @@ public static Vector4D<T> Transform<T>(Vector4D<T> value, Quaternion<T> rotation
354354
);
355355
}
356356
}
357-
}
357+
}

sources/Maths/Maths/Matrix2X3.Ops.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public static Matrix2X3<T> CreateFromAxisAngle<T>(Vector3D<T> axis, T angle)
104104
/// <summary>Creates a rotation matrix from the given Quaternion rotation value.</summary>
105105
/// <param name="quaternion">The source Quaternion.</param>
106106
/// <returns>The rotation matrix.</returns>
107-
public static Matrix2X3<T> CreateFromQuaternion<T>(Quaternion<T> quaternion)
107+
public static Matrix2X3<T> CreateFromQuaternion<T>(Silk.NET.Maths.Legacy.Quaternion<T> quaternion)
108108
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
109109
{
110110
Matrix2X3<T> result = Matrix2X3<T>.Identity;
@@ -140,7 +140,7 @@ public static Matrix2X3<T> CreateFromQuaternion<T>(Quaternion<T> quaternion)
140140
public static Matrix2X3<T> CreateFromYawPitchRoll<T>(T yaw, T pitch, T roll)
141141
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
142142
{
143-
Quaternion<T> q = Quaternion<T>.CreateFromYawPitchRoll(yaw, pitch, roll);
143+
Legacy.Quaternion<T> q = Legacy.Quaternion<T>.CreateFromYawPitchRoll(yaw, pitch, roll);
144144
return CreateFromQuaternion(q);
145145
}
146146

@@ -223,7 +223,7 @@ public static unsafe Matrix2X3<T> Lerp<T>(Matrix2X3<T> matrix1, Matrix2X3<T> mat
223223
/// <param name="value">The source matrix to transform.</param>
224224
/// <param name="rotation">The rotation to apply.</param>
225225
/// <returns>The transformed matrix.</returns>
226-
public static Matrix2X3<T> Transform<T>(Matrix2X3<T> value, Quaternion<T> rotation)
226+
public static Matrix2X3<T> Transform<T>(Matrix2X3<T> value, Legacy.Quaternion<T> rotation)
227227
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
228228
{
229229
// Compute rotation matrix.
@@ -260,4 +260,4 @@ public static Matrix2X3<T> Transform<T>(Matrix2X3<T> value, Quaternion<T> rotati
260260
return new(value.M11 * q1 + value.M12 * q2 + value.M13 * q3, value.M21 * q1 + value.M22 * q2 + value.M23 * q3);
261261
}
262262
}
263-
}
263+
}

sources/Maths/Maths/Matrix3X3.Ops.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public static Matrix3X3<T> CreateFromAxisAngle<T>(Vector3D<T> axis, T angle)
127127
/// <summary>Creates a rotation matrix from the given Quaternion rotation value.</summary>
128128
/// <param name="quaternion">The source Quaternion.</param>
129129
/// <returns>The rotation matrix.</returns>
130-
public static Matrix3X3<T> CreateFromQuaternion<T>(Quaternion<T> quaternion)
130+
public static Matrix3X3<T> CreateFromQuaternion<T>(Silk.NET.Maths.Legacy.Quaternion<T> quaternion)
131131
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
132132
{
133133
Matrix3X3<T> result = Matrix3X3<T>.Identity;
@@ -167,7 +167,7 @@ public static Matrix3X3<T> CreateFromQuaternion<T>(Quaternion<T> quaternion)
167167
public static Matrix3X3<T> CreateFromYawPitchRoll<T>(T yaw, T pitch, T roll)
168168
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
169169
{
170-
Quaternion<T> q = Quaternion<T>.CreateFromYawPitchRoll(yaw, pitch, roll);
170+
Legacy.Quaternion<T> q = Legacy.Quaternion<T>.CreateFromYawPitchRoll(yaw, pitch, roll);
171171
return CreateFromQuaternion(q);
172172
}
173173

@@ -373,7 +373,7 @@ public static Matrix3X3<T> Subtract<T>(Matrix3X3<T> value1, Matrix3X3<T> value2)
373373
/// <param name="scale">The scaling component of the transformation matrix.</param>
374374
/// <param name="rotation">The rotation component of the transformation matrix.</param>
375375
/// <returns>True if the source matrix was successfully decomposed; False otherwise.</returns>
376-
public static bool Decompose<T>(Matrix3X3<T> matrix, out Vector3D<T> scale, out Quaternion<T> rotation)
376+
public static bool Decompose<T>(Matrix3X3<T> matrix, out Vector3D<T> scale, out Silk.NET.Maths.Legacy.Quaternion<T> rotation)
377377
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
378378
{
379379
bool result = true;
@@ -546,13 +546,13 @@ public static bool Decompose<T>(Matrix3X3<T> matrix, out Vector3D<T> scale, out
546546
if (!Scalar.GreaterThanOrEqual(Scalar.As<float, T>(DecomposeEpsilon), det))
547547
{
548548
// Non-SRT matrix encountered
549-
rotation = Quaternion<T>.Identity;
549+
rotation = Legacy.Quaternion<T>.Identity;
550550
result = false;
551551
}
552552
else
553553
{
554554
// generate the quaternion from the matrix
555-
rotation = Quaternion<T>.CreateFromRotationMatrix(matTemp);
555+
rotation = Legacy.Quaternion<T>.CreateFromRotationMatrix(matTemp);
556556
}
557557
}
558558
}
@@ -579,7 +579,7 @@ public static unsafe Matrix3X3<T> Lerp<T>(Matrix3X3<T> matrix1, Matrix3X3<T> mat
579579
/// <param name="value">The source matrix to transform.</param>
580580
/// <param name="rotation">The rotation to apply.</param>
581581
/// <returns>The transformed matrix.</returns>
582-
public static Matrix3X3<T> Transform<T>(Matrix3X3<T> value, Quaternion<T> rotation)
582+
public static Matrix3X3<T> Transform<T>(Matrix3X3<T> value, Legacy.Quaternion<T> rotation)
583583
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
584584
{
585585
// Compute rotation matrix.
@@ -625,4 +625,4 @@ public static unsafe Matrix3X3<T> Transpose<T>(Matrix3X3<T> matrix)
625625
return new(matrix.Column1, matrix.Column2, matrix.Column3);
626626
}
627627
}
628-
}
628+
}

sources/Maths/Maths/Matrix4X4.Ops.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ public static Matrix4X4<T> CreateFromAxisAngle<T>(Vector3D<T> axis, T angle)
197197
/// <summary>Creates a rotation matrix from the given Quaternion rotation value.</summary>
198198
/// <param name="quaternion">The source Quaternion.</param>
199199
/// <returns>The rotation matrix.</returns>
200-
public static Matrix4X4<T> CreateFromQuaternion<T>(Quaternion<T> quaternion)
200+
public static Matrix4X4<T> CreateFromQuaternion<T>(Silk.NET.Maths.Legacy.Quaternion<T> quaternion)
201201
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
202202
{
203203
Matrix4X4<T> result = Matrix4X4<T>.Identity;
@@ -237,7 +237,7 @@ public static Matrix4X4<T> CreateFromQuaternion<T>(Quaternion<T> quaternion)
237237
public static Matrix4X4<T> CreateFromYawPitchRoll<T>(T yaw, T pitch, T roll)
238238
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
239239
{
240-
Quaternion<T> q = Quaternion<T>.CreateFromYawPitchRoll(yaw, pitch, roll);
240+
Legacy.Quaternion<T> q = Legacy.Quaternion<T>.CreateFromYawPitchRoll(yaw, pitch, roll);
241241
return CreateFromQuaternion(q);
242242
}
243243

@@ -1276,7 +1276,7 @@ private static Vector128<T> Permute(Vector128<T> value, byte control)
12761276
/// <param name="rotation">The rotation component of the transformation matrix.</param>
12771277
/// <param name="translation">The translation component of the transformation matrix</param>
12781278
/// <returns>True if the source matrix was successfully decomposed; False otherwise.</returns>
1279-
public static bool Decompose<T>(Matrix4X4<T> matrix, out Vector3D<T> scale, out Quaternion<T> rotation, out Vector3D<T> translation)
1279+
public static bool Decompose<T>(Matrix4X4<T> matrix, out Vector3D<T> scale, out Silk.NET.Maths.Legacy.Quaternion<T> rotation, out Vector3D<T> translation)
12801280
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
12811281
{
12821282
bool result = true;
@@ -1454,13 +1454,13 @@ public static bool Decompose<T>(Matrix4X4<T> matrix, out Vector3D<T> scale, out
14541454
if (!Scalar.GreaterThanOrEqual(Scalar.As<float, T>(DecomposeEpsilon), det))
14551455
{
14561456
// Non-SRT matrix encountered
1457-
rotation = Quaternion<T>.Identity;
1457+
rotation = Legacy.Quaternion<T>.Identity;
14581458
result = false;
14591459
}
14601460
else
14611461
{
14621462
// generate the quaternion from the matrix
1463-
rotation = Quaternion<T>.CreateFromRotationMatrix(matTemp);
1463+
rotation = Legacy.Quaternion<T>.CreateFromRotationMatrix(matTemp);
14641464
}
14651465
}
14661466
}
@@ -1488,7 +1488,7 @@ public static unsafe Matrix4X4<T> Lerp<T>(Matrix4X4<T> matrix1, Matrix4X4<T> mat
14881488
/// <param name="value">The source matrix to transform.</param>
14891489
/// <param name="rotation">The rotation to apply.</param>
14901490
/// <returns>The transformed matrix.</returns>
1491-
public static Matrix4X4<T> Transform<T>(Matrix4X4<T> value, Quaternion<T> rotation)
1491+
public static Matrix4X4<T> Transform<T>(Matrix4X4<T> value, Legacy.Quaternion<T> rotation)
14921492
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
14931493
{
14941494
// Compute rotation matrix.
@@ -1539,4 +1539,4 @@ public static unsafe Matrix4X4<T> Transpose<T>(Matrix4X4<T> matrix)
15391539
return new(matrix.Column1, matrix.Column2, matrix.Column3, matrix.Column4);
15401540
}
15411541
}
1542-
}
1542+
}

sources/Maths/Maths/Plane.Ops.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ public static Plane<T> Transform<T>(Plane<T> plane, Matrix4X4<T> matrix)
181181
/// <param name="rotation">The Quaternion rotation to apply to the Plane.</param>
182182
/// <returns>A new Plane that results from applying the rotation.</returns>
183183
[MethodImpl((MethodImplOptions) 768)]
184-
public static Plane<T> Transform<T>(Plane<T> plane, Quaternion<T> rotation)
184+
public static Plane<T> Transform<T>(Plane<T> plane, Legacy.Quaternion<T> rotation)
185185
where T : unmanaged, IFormattable, IEquatable<T>, IComparable<T>
186186
{
187187
// Compute rotation matrix.
@@ -220,4 +220,4 @@ public static Plane<T> Transform<T>(Plane<T> plane, Quaternion<T> rotation)
220220
plane.Distance);
221221
}
222222
}
223-
}
223+
}

0 commit comments

Comments
 (0)