diff --git a/Engine.Physics2D/Primitives/LineEquation.cs b/Engine.Physics2D/Primitives/LineEquation.cs index a60977b..8c80782 100644 --- a/Engine.Physics2D/Primitives/LineEquation.cs +++ b/Engine.Physics2D/Primitives/LineEquation.cs @@ -2,7 +2,14 @@ namespace Syntriax.Engine.Physics2D.Primitives; public record LineEquation(float Slope, float OffsetY) { - public float Resolve(float x) => Slope * x + OffsetY; // y = mx + b - public bool ApproximatelyEquals(LineEquation other) - => Slope.ApproximatelyEquals(other.Slope) && OffsetY.ApproximatelyEquals(other.OffsetY); + public static float Resolve(LineEquation lineEquation, float x) => lineEquation.Slope * x + lineEquation.OffsetY; // y = mx + b + + public static bool ApproximatelyEquals(LineEquation left, LineEquation right) + => left.Slope.ApproximatelyEquals(right.Slope) && left.OffsetY.ApproximatelyEquals(right.OffsetY); +} + +public static class LineEquationExtensions +{ + public static float Resolve(this LineEquation lineEquation, float x) => LineEquation.Resolve(lineEquation, x); + public static bool ApproximatelyEquals(this LineEquation left, LineEquation right) => LineEquation.ApproximatelyEquals(left, right); }