+++ /dev/null
-
-/*] Copyright (c) 2009-2010, Charles McGarvey [**************************
-**] All rights reserved.
-*
-* vi:ts=4 sw=4 tw=75
-*
-* Distributable under the terms and conditions of the 2-clause BSD license;
-* see the file COPYING for a complete text of the license.
-*
-**************************************************************************/
-
-#ifndef _MOOF_RECTANGLE_HH_
-#define _MOOF_RECTANGLE_HH_
-
-#include <Moof/Math.hh>
-
-
-namespace Mf {
-
-
-/**
- * Axis-aligned Bounding Box
- */
-
-struct Rectangle
-{
- Vector2 min;
- Vector2 max;
-
-
- Rectangle() {}
-
- Rectangle(const Vector2& a, const Vector2& b)
- {
- init(a, b);
- }
-
- Rectangle(Scalar ax, Scalar ay, Scalar bx, Scalar by)
- {
- Vector2 a(ax, ay);
- Vector2 b(bx, by);
-
- init(a, b);
- }
-
- void init(const Vector2& a, const Vector2& b)
- {
- if (a[0] < b[0])
- {
- min[0] = a[0];
- max[0] = b[0];
- }
- else
- {
- min[0] = b[0];
- max[0] = a[0];
- }
- if (a[1] < b[1])
- {
- min[1] = a[1];
- max[1] = b[1];
- }
- else
- {
- min[1] = b[1];
- max[1] = a[1];
- }
- }
-
- Vector2 getCenter() const
- {
- return Vector2((min[0] + max[0]) / 2.0,
- (min[1] + max[1]) / 2.0);
- }
-
- void getCorners(Vector2 corners[4]) const;
-};
-
-
-} // namespace Mf
-
-#endif // _MOOF_RECTANGLE_HH_
-