mirror of
https://github.com/AlexMacocian/MonoGame.Extended.git
synced 2026-07-25 08:22:15 +00:00
Fix circlef contains (#515)
* Fix CircleF.Contains * Added test for CircleF.Contains point
This commit is contained in:
@@ -261,8 +261,11 @@ namespace MonoGame.Extended
|
||||
/// </returns>
|
||||
public static bool Contains(ref CircleF circle, Point2 point)
|
||||
{
|
||||
var distance = circle.Center - point;
|
||||
return Math.Abs(distance.X) <= circle.Radius && Math.Abs(distance.Y) <= circle.Radius;
|
||||
var dx = circle.Center.X - point.X;
|
||||
var dy = circle.Center.Y - point.Y;
|
||||
var d2 = dx * dx + dy * dy;
|
||||
var r2 = circle.Radius * circle.Radius;
|
||||
return d2 <= r2;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,14 +1,23 @@
|
||||
//using System;
|
||||
//using System.Collections.Generic;
|
||||
//using System.Globalization;
|
||||
//using Microsoft.Xna.Framework;
|
||||
//using Xunit;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Xunit;
|
||||
|
||||
//namespace MonoGame.Extended.Tests.Primitives
|
||||
//{
|
||||
//
|
||||
// public class CircleFTests
|
||||
// {
|
||||
namespace MonoGame.Extended.Tests.Primitives
|
||||
{
|
||||
|
||||
public class CircleFTests
|
||||
{
|
||||
|
||||
[Fact]
|
||||
public void CircCircIntersectionDiagonalCircleTest()
|
||||
{
|
||||
var circle = new CircleF(new Point2(16.0f, 16.0f), 16.0f);
|
||||
var point = new Point2(0, 0);
|
||||
|
||||
Assert.False(circle.Contains(point));
|
||||
}
|
||||
// public IEnumerable<TestCaseData> ConstructorTestCases
|
||||
// {
|
||||
// get
|
||||
@@ -407,5 +416,5 @@
|
||||
// var actualString = circle.ToString();
|
||||
// Assert.Equal(expectedString, actualString);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user