feat: ensured all primitives have ToString, GetHashCode & Equals methods
This commit is contained in:
@@ -186,6 +186,25 @@ public readonly struct Line2D(Vector2D from, Vector2D to)
|
||||
/// <returns><see cref="true"/> if the <see cref="Line2D"/>s are approximately equal; otherwise, <see cref="false"/>.</returns>
|
||||
public static bool ApproximatelyEquals(Line2D left, Line2D right, float epsilon = float.Epsilon)
|
||||
=> left.From.ApproximatelyEquals(right.From, epsilon) && left.To.ApproximatelyEquals(right.To, epsilon);
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether the specified object is equal to the current <see cref="Line2D"/>.
|
||||
/// </summary>
|
||||
/// <param name="obj">The object to compare with the current <see cref="Line2D"/>.</param>
|
||||
/// <returns><see cref="true"/> if the specified object is equal to the current <see cref="Line2D"/>; otherwise, <see cref="false"/>.</returns>
|
||||
public override bool Equals(object? obj) => obj is Line2D line2D && From.Equals(line2D.From) && To.Equals(line2D.To);
|
||||
|
||||
/// <summary>
|
||||
/// Generates a hash code for the <see cref="Line2D"/>.
|
||||
/// </summary>
|
||||
/// <returns>A hash code for the <see cref="Line2D"/>.</returns>
|
||||
public override int GetHashCode() => System.HashCode.Combine(From, To);
|
||||
|
||||
/// <summary>
|
||||
/// Converts the <see cref="Line2D"/> to its string representation.
|
||||
/// </summary>
|
||||
/// <returns>A string representation of the <see cref="Line2D"/>.</returns>
|
||||
public override string ToString() => $"{nameof(Line2D)}({From}, {To})";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user