diff --git a/Bonk/Shapes/Point.cs b/Bonk/Shapes/Point.cs index 83290e1..7daba13 100644 --- a/Bonk/Shapes/Point.cs +++ b/Bonk/Shapes/Point.cs @@ -26,7 +26,7 @@ namespace MoonTools.Core.Bonk public Vector2 Support(Vector2 direction, Transform2D transform) { - return position; + return Vector2.Transform(position.ToVector2(), transform.TransformMatrix); } public override bool Equals(object obj) @@ -64,4 +64,4 @@ namespace MoonTools.Core.Bonk return !(a == b); } } -} \ No newline at end of file +} diff --git a/Test/GJK2DTest.cs b/Test/GJK2DTest.cs index 1cab165..9fe83d5 100644 --- a/Test/GJK2DTest.cs +++ b/Test/GJK2DTest.cs @@ -11,7 +11,8 @@ namespace Tests [Test] public void PointLineOverlapping() { - var point = new Point(1, 1); + var point = new Point(-3, -3); + var pointTransform = new Transform2D(new Position2D(4, 4)); var line = new Line(new Position2D(-2, -2), new Position2D(2, 2)); GJK2D.TestCollision(point, Transform2D.DefaultTransform, line, Transform2D.DefaultTransform).Should().BeTrue(); @@ -41,10 +42,11 @@ namespace Tests [Test] public void PointCircleNotOverlapping() { - var point = new Point(3, 0); + var point = new Point(0, 0); + var pointTransform = new Transform2D(new Position2D(3, 0)); var circle = new Circle(1); - GJK2D.TestCollision(point, Transform2D.DefaultTransform, circle, Transform2D.DefaultTransform).Should().BeFalse(); + GJK2D.TestCollision(point, pointTransform, circle, Transform2D.DefaultTransform).Should().BeFalse(); } [Test]