using Microsoft.Xna.Framework; namespace Syntriax.Engine.Physics2D.Primitives; public record AABB(Vector2 LowerBoundary, Vector2 UpperBoundary) { public bool Overlaps(Vector2 point) => point.X >= LowerBoundary.X && point.X <= UpperBoundary.X && point.Y >= LowerBoundary.Y && point.Y <= UpperBoundary.Y; public bool Overlaps(AABB other) => LowerBoundary.X <= other.UpperBoundary.X && UpperBoundary.X >= other.LowerBoundary.X && LowerBoundary.Y <= other.UpperBoundary.Y && UpperBoundary.Y >= other.LowerBoundary.Y; public bool ApproximatelyEquals(AABB other) => LowerBoundary.ApproximatelyEquals(other.LowerBoundary) && UpperBoundary.ApproximatelyEquals(other.UpperBoundary); }