#ifndef _bounds_h_
#define _bounds_h_
//////////////////////////////////////////////////////////////////////////////
//
// Bounds2
//
//////////////////////////////////////////////////////////////////////////////
class Bounds2 {
private:
Rect m_rect;
public:
//
// Constructors
//
Bounds2() {}
Bounds2(const Rect& m_rect);
Bounds2(const Bounds2& Bounds2);
static const Bounds2& GetEmpty();
Bounds2 Transform(const Matrix2& mat) const;
friend Bounds2 Union(const Bounds2& Bounds21, const Bounds2& Bounds22);
friend Bounds2 Intersect(const Bounds2& Bounds21, const Bounds2& Bounds22);
//
// Accessors
//
const Rect& GetRect() const { return m_rect; }
//
// Methods
//
void SetRect(const Rect& rect);
};
//////////////////////////////////////////////////////////////////////////////
//
// Bounds
//
//////////////////////////////////////////////////////////////////////////////
/*
class Bounds {
private:
Vector m_vecMin;
Vector m_vecMax;
float m_diagonal;
void CalcDiagonal();
public:
//
// Constructors
//
Bounds(const Vector& vecMin, const Vector& vecMax);
Bounds(const Bounds& bounds);
Bounds() {}
static const Bounds& GetEmpty();
Bounds Transform(const Matrix& mat);
friend Bounds Union(const Bounds& bounds1, const Bounds& bounds2);
//
// Accessors
//
const Vector& GetMin() const { return m_vecMin; }
const Vector& GetMax() const { return m_vecMax; }
Vector GetCenter() const { return (m_vecMin + m_vecMax) * 0.5; }
float GetDiagonal() const { return m_diagonal; }
float GetRadius() const { return m_diagonal / 2; }
//
// Methods
//
void SetVectors(const Vector& vecMin, const Vector& vecMax);
};
*/
#endif