docs: updated extension methods to inherit the original method's documentation

This commit is contained in:
2025-03-21 23:01:47 +03:00
parent 30caa202dc
commit 95ddba0230
10 changed files with 108 additions and 471 deletions

View File

@@ -252,121 +252,48 @@ public readonly struct Quaternion(float x, float y, float z, float w)
/// </summary>
public static class QuaternionExtensions
{
/// <summary>
/// Calculates the length of the <see cref="Quaternion"/>.
/// </summary>
/// <param name="quaternion">The <see cref="Quaternion"/>.</param>
/// <returns>The length of the <see cref="Quaternion"/>.</returns>
/// <inheritdoc cref="Quaternion.Length(Quaternion)" />
public static float Length(this Quaternion quaternion) => Quaternion.Length(quaternion);
/// <summary>
/// Calculates the squared length of the <see cref="Quaternion"/>.
/// </summary>
/// <param name="quaternion">The <see cref="Quaternion"/>.</param>
/// <returns>The squared length of the <see cref="Quaternion"/>.</returns>
/// <inheritdoc cref="Quaternion.LengthSquared(Quaternion)" />
public static float LengthSquared(this Quaternion quaternion) => Quaternion.LengthSquared(quaternion);
/// <summary>
/// Adds two <see cref="Quaternion"/>s.
/// </summary>
/// <param name="left">The first <see cref="Quaternion"/>.</param>
/// <param name="right">The second <see cref="Quaternion"/>.</param>
/// <returns>The sum of the two <see cref="Quaternion"/>s.</returns>
/// <inheritdoc cref="Quaternion.Add(Quaternion, Quaternion)" />
public static Quaternion Add(this Quaternion left, Quaternion right) => Quaternion.Add(left, right);
/// <summary>
/// Subtracts one <see cref="Quaternion"/> from another.
/// </summary>
/// <param name="left">The <see cref="Quaternion"/> to subtract from.</param>
/// <param name="right">The <see cref="Quaternion"/> to subtract.</param>
/// <returns>The result of subtracting the second <see cref="Quaternion"/> from the first.</returns>
/// <inheritdoc cref="Quaternion.Subtract(Quaternion, Quaternion)" />
public static Quaternion Subtract(this Quaternion left, Quaternion right) => Quaternion.Subtract(left, right);
/// <summary>
/// Multiplies a <see cref="Quaternion"/> by a scalar value.
/// </summary>
/// <param name="quaternion">The <see cref="Quaternion"/>.</param>
/// <param name="value">The scalar value.</param>
/// <returns>The result of multiplying the <see cref="Quaternion"/> by the scalar value.</returns>
/// <inheritdoc cref="Quaternion.Multiply(Quaternion, float)" />
public static Quaternion Multiply(this Quaternion quaternion, float value) => Quaternion.Multiply(quaternion, value);
/// <summary>
/// Divides a <see cref="Quaternion"/> by a scalar value.
/// </summary>
/// <param name="quaternion">The <see cref="Quaternion"/>.</param>
/// <param name="value">The scalar value.</param>
/// <returns>The result of dividing the <see cref="Quaternion"/> by the scalar value.</returns>
/// <inheritdoc cref="Quaternion.Divide(Quaternion, float)" />
public static Quaternion Divide(this Quaternion quaternion, float value) => Quaternion.Divide(quaternion, value);
/// <summary>
/// Normalizes the <see cref="Quaternion"/> (creates a unit <see cref="Quaternion"/> with the same direction).
/// </summary>
/// <param name="quaternion">The <see cref="Quaternion"/> to normalize.</param>
/// <returns>The normalized <see cref="Quaternion"/>.</returns>
/// <inheritdoc cref="Quaternion.Normalize(Quaternion)" />
public static Quaternion Normalize(this Quaternion quaternion) => Quaternion.Normalize(quaternion);
/// <summary>
/// Inverts the direction of the <see cref="Quaternion"/>.
/// </summary>
/// <param name="quaternion">The <see cref="Quaternion"/>.</param>
/// <returns>The inverted <see cref="Quaternion"/>.</returns>
/// <inheritdoc cref="Quaternion.Invert(Quaternion)" />
public static Quaternion Invert(this Quaternion quaternion) => Quaternion.Invert(quaternion);
/// <summary>
/// Conjugate of the <see cref="Quaternion"/>.
/// </summary>
/// <param name="quaternion">The <see cref="Quaternion"/>.</param>
/// <returns>The inverted <see cref="Quaternion"/>.</returns>
/// <inheritdoc cref="Quaternion.Conjugate(Quaternion)" />
public static Quaternion Conjugate(this Quaternion quaternion) => Quaternion.Conjugate(quaternion);
/// <summary>
/// Rotates a <see cref="Vector3D"/> by applying the provided <see cref="Quaternion"/>.
/// </summary>
/// <param name="vector">The <see cref="Vector3D"/> to be rotated.</param>
/// <param name="quaternion">The <see cref="Quaternion"/> to used for applying rotation.</param>
/// <returns>The rotated <see cref="Vector3D"/>.</returns>
/// <inheritdoc cref="Quaternion.RotateVector(Vector3D, Quaternion)" />
public static Vector3D RotateVector(this Vector3D vector, Quaternion quaternion) => Quaternion.RotateVector(vector, quaternion);
/// <summary>
/// Performs spherical linear interpolation between two <see cref="Quaternion"/>s.
/// </summary>
/// <param name="from">The starting <see cref="Quaternion"/> (t = 0).</param>
/// <param name="to">The target <see cref="Quaternion"/> (t = 1).</param>
/// <param name="t">The interpolation parameter.</param>
/// <returns>The interpolated <see cref="Quaternion"/>.</returns>
/// <inheritdoc cref="Quaternion.SLerp(Quaternion, Quaternion, float)" />
public static Quaternion SLerp(this Quaternion from, Quaternion to, float t) => Quaternion.SLerp(from, to, t);
/// <summary>
/// Performs linear interpolation between two <see cref="Quaternion"/>s.
/// </summary>
/// <param name="from">The starting <see cref="Quaternion"/> (t = 0).</param>
/// <param name="to">The target <see cref="Quaternion"/> (t = 1).</param>
/// <param name="t">The interpolation parameter.</param>
/// <returns>The interpolated <see cref="Quaternion"/>.</returns>
/// <inheritdoc cref="Quaternion.Lerp(Quaternion, Quaternion, float)" />
public static Quaternion Lerp(this Quaternion from, Quaternion to, float t) => Quaternion.Lerp(from, to, t);
/// <summary>
/// Calculates the dot product of two <see cref="Quaternion"/>s.
/// </summary>
/// <param name="left">The first <see cref="Quaternion"/>.</param>
/// <param name="right">The second <see cref="Quaternion"/>.</param>
/// <returns>The dot product of the two <see cref="Quaternion"/>s.</returns>
/// <inheritdoc cref="Quaternion.Dot(Quaternion, Quaternion)" />
public static float Dot(this Quaternion left, Quaternion right) => Quaternion.Dot(left, right);
/// <summary>
/// Calculates the <see cref="Quaternion"/> from given axis and angle.
/// </summary>
/// <param name="axis">The axis of the rotation in <see cref="Vector3D"/>.</param>
/// <param name="angle">The angle in radians.</param>
/// <returns>The rotation <see cref="Quaternion"/> calculated by the given parameters.</returns>
public static Quaternion CreateRotationFromAxis(this Vector3D axis, float angle) => Quaternion.FromAxisAngle(axis, angle);
/// <inheritdoc cref="Quaternion.FromAxisAngle(Vector3D, float)" />
public static Quaternion CreateRotation(this Vector3D axis, float angle) => Quaternion.FromAxisAngle(axis, angle);
/// <summary>
/// Checks if two <see cref="Quaternion"/>s are approximately equal within a specified epsilon range.
/// </summary>
/// <param name="left">The first <see cref="Quaternion"/>.</param>
/// <param name="right">The second <see cref="Quaternion"/>.</param>
/// <param name="epsilon">The epsilon range.</param>
/// <returns><see cref="true"/> if the <see cref="Quaternion"/>s are approximately equal; otherwise, <see cref="false"/>.</returns>
/// <inheritdoc cref="Quaternion.ApproximatelyEquals(Quaternion, Quaternion, float)" />
public static bool ApproximatelyEquals(this Quaternion left, Quaternion right, float epsilon = float.Epsilon) => Quaternion.ApproximatelyEquals(left, right, epsilon);
}