public void CircleCircleIntersect_FullOverload_NegativeOnEdge() { var result = PolygonIntersection.CircleCircleIntersect(new Vector2(5.0f, 5.0f), 10.0f, new Vector2(5.0f, 25.0f), 10.0f, false); Assert.False(result.Intersecting); Assert.Equal(0.0f, result.Depth, 4); Assert.Equal(0.0f, result.Normal0To1.X, 4); Assert.Equal(0.0f, result.Normal0To1.Y, 4); Assert.Equal(0.0f, result.Point.X, 4); Assert.Equal(0.0f, result.Point.Y, 4); }
public void CircleCircleIntersect_FullOverload_Positive() { var result = PolygonIntersection.CircleCircleIntersect(new Vector2(4.0f, 4.0f), 10.0f, new Vector2(4.0f, 20.0f), 10.0f, true); Assert.True(result.Intersecting); Assert.Equal(4.0f, result.Depth, 4); Assert.Equal(0.0f, result.Normal0To1.X, 4); Assert.Equal(1.0f, result.Normal0To1.Y, 4); Assert.Equal(4.0f, result.Point.X, 4); Assert.Equal(10.0f, result.Point.Y, 4); }
public void CircleCircleIntersect_PositiveSimpleOverload() { Circle c0 = new Circle(new System.Numerics.Vector2(0.0f, 0.0f), 20.0f); Circle c1 = new Circle(new System.Numerics.Vector2(30.0f, 0.0f), 20.0f); var result = PolygonIntersection.CircleCircleIntersect(c0, c1); Assert.True(result.Intersecting); Assert.Equal(10.0f, result.Depth, 4); Assert.Equal(1.0f, result.Normal0To1.X, 4); Assert.Equal(0.0f, result.Normal0To1.Y, 4); Assert.Equal(10.0f, result.Point.X, 4); Assert.Equal(0.0f, result.Point.Y, 4); }
public void CircleCircleIntersect_NegativeSimpleBooleanOverload() { var result = PolygonIntersection.CircleCircleIntersect(new Vector2(0.0f, 0.0f), 20.0f, new Vector2(100.0f, 0.0f), 20.0f); Assert.False(result); }
public void CircleCircleIntersect_PositiveSimpleBooleanOverload() { var result = PolygonIntersection.CircleCircleIntersect(new Vector2(0.0f, 0.0f), 20.0f, new Vector2(30.0f, 0.0f), 20.0f); Assert.True(result); }