public float Intersects(BoundingPolygon polygon) { float result; polygon.Intersects(ref this, out result); return(result); }
public bool Intersects(BoundingPolygon polygon) { bool result; Intersects(ref polygon, out result); return(result); }
public bool Intersects(BoundingPolygon polygon) { bool result; polygon.Intersects(ref this, out result); return(result); }
public Containment Contains(BoundingPolygon polygon) { Containment result; Contains(ref polygon, out result); return(result); }
public static void FromVectors(Vector2[] vertices, out BoundingCircle result) { BoundingPolygon.GetCentroid(vertices, out result.Center); result.Radius = -1; for (var index = 0; index < vertices.Length; ++index) { float distSq; Vector2Helper.DistanceSq(ref result.Center, ref vertices[index], out distSq); if (result.Radius == -1 || (distSq < result.Radius)) { result.Radius = distSq; } } result.Radius = MathF.Sqrt(result.Radius); }
// Duplicates with BoundingCircle. public void Contains(ref BoundingPolygon polygon, out Containment result) { var vertices = polygon.Vertices; result = Containment.Unknown; for (var index = 0; index < vertices.Length && result != Containment.Intersects; ++index) { Containment con; Contains(ref vertices[index], out con); result |= con; } if (result == Containment.Disjoint) { bool test; polygon.Intersects(ref this, out test); if (test) { result = Containment.Intersects; } } }
public void Intersects(ref BoundingPolygon polygon, out float result) { polygon.Intersects(ref this, out result); }
public void Intersects(ref BoundingPolygon polygon, out bool result) { var vertices = polygon.Vertices; CheckVerticesForIntersection(vertices, out result); }