From e1b9ae22b60cf919c64a62d6f665e38fa9638b6f Mon Sep 17 00:00:00 2001 From: Alex Evgrashin Date: Sun, 4 Sep 2022 18:49:16 +0200 Subject: [PATCH] Box2 from two points (#3211) --- Robust.Shared.Maths/Box2.cs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Robust.Shared.Maths/Box2.cs b/Robust.Shared.Maths/Box2.cs index 74fd0b7fb..e50994ba6 100644 --- a/Robust.Shared.Maths/Box2.cs +++ b/Robust.Shared.Maths/Box2.cs @@ -125,6 +125,34 @@ namespace Robust.Shared.Maths return FromDimensions(-size / 2, size); } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Box2 FromTwoPoints(Vector2 a, Vector2 b) + { + float minX, minY, maxX, maxY; + if (a.X < b.X) + { + minX = a.X; + maxX = b.X; + } + else + { + minX = b.X; + maxX = a.X; + } + if (a.Y < b.Y) + { + minY = a.Y; + maxY = b.Y; + } + else + { + minY = b.Y; + maxY = a.Y; + } + + return new Box2(minX, minY, maxX, maxY); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public readonly bool Intersects(in Box2 other) {