304 return m_x == 0 && m_y == 0;
315 void Parse(
char* buffer);
331 T x = MAX(lhs.m_x, rhs.m_x);
332 T y = MAX(lhs.m_y, rhs.m_y);
350 T x = MIN(lhs.m_x, rhs.m_x);
351 T y = MIN(lhs.m_y, rhs.m_y);
561 typedef Point<s32> SPoint;
566 typedef Point<u32> UPoint;
571 typedef Point <s16> SSPoint;
576 typedef Point <u16> USPoint;
587 UPoint MakeUnsigned(
const SPoint & spoint);
596 inline bool CanMakeUnsigned(
const SPoint & spoint)
598 return spoint.GetX() >= 0 && spoint.GetY() >= 0;
611 SPoint MakeSigned(
const UPoint & upoint);
620 inline bool CanMakeSigned(
const UPoint & upoint)
622 return upoint.GetX() <= (u32)
S32_MAX && upoint.GetY() <= (u32)
S32_MAX;
Point< T > & operator+=(const Point< T > &rhs)
Definition: Point.h:375
void Multiply(T scalar)
Definition: Point.tcc:92
void Mod(T scalar)
Definition: Point.tcc:106
friend Point< T > min(const Point< T > &lhs, const Point< T > &rhs)
Definition: Point.h:348
void Divide(T scalar)
Definition: Point.tcc:99
void Clear()
Definition: Point.h:141
bool Equals(const Point< T > &rhs) const
Definition: Point.tcc:205
bool BoundedBelow(const Point< T > &bound) const
Definition: Point.tcc:211
bool BoundedBy(const Point< T > &lowerBound, const Point< T > &upperBound) const
Definition: Point.tcc:223
void Set(T x, T y)
Definition: Point.tcc:183
~Point()
Definition: Point.h:95
Point< T > & operator*=(const s32 rhs)
Definition: Point.h:404
T GetY() const
Definition: Point.tcc:40
friend bool operator!=(const Point< T > &lhs, const Point< T > &rhs)
Definition: Point.h:490
friend bool operator==(const Point< T > &lhs, const Point< T > &rhs)
Definition: Point.h:474
Point()
Definition: Point.tcc:10
u32 GetManhattanLength() const
Definition: Point.tcc:46
friend Point< T > operator*(const Point< T > &lhs, const s32 rhs)
Definition: Point.h:508
void Subtract(const Point< T > &offset)
Definition: Point.tcc:78
u32 GetMaximumLength() const
Definition: Point.tcc:52
void SetX(T x)
Definition: Point.tcc:164
void Add(const Point< T > &offset)
Definition: Point.tcc:64
friend Point< T > operator/(const Point< T > &lhs, const s32 rhs)
Definition: Point.h:526
friend Point< T > operator+(const Point< T > &lhs, const Point< T > &rhs)
Definition: Point.h:436
bool BoundedAbove(const Point< T > &bound) const
Definition: Point.tcc:217
bool IsZero() const
Definition: Point.h:302
Point< T > & operator/=(const s32 rhs)
Definition: Point.h:419
friend Point< T > operator%(const Point< T > &lhs, const s32 rhs)
Definition: Point.h:545
void Parse(char *buffer)
Definition: Point.tcc:145
#define S32_MAX
Definition: itype.h:86
void SetY(T y)
Definition: Point.tcc:170
double GetEuclideanLength() const
Definition: Point.tcc:58
friend Point< T > operator-(const Point< T > &lhs, const Point< T > &rhs)
Definition: Point.h:456
Point< T > & operator=(const Point< T > &rhs)
Definition: Point.tcc:197
friend Point< T > max(const Point< T > &lhs, const Point< T > &rhs)
Definition: Point.h:329
Point< T > & operator-=(const Point< T > &rhs)
Definition: Point.h:389
T GetX() const
Definition: Point.tcc:34