You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.3 KiB
61 lines
1.3 KiB
struct HS_POINT2_NAME { |
|
HS_POINT2_TYPE fX, fY; |
|
|
|
HS_POINT2_NAME& Set(HS_POINT2_TYPE x, HS_POINT2_TYPE y) |
|
{ |
|
fX = x; |
|
fY = y; |
|
return *this; |
|
} |
|
HS_POINT2_NAME& operator+=(const HS_POINT2_NAME& s) |
|
{ |
|
this->fX += s.fX; |
|
this->fY += s.fY; |
|
return *this; |
|
} |
|
HS_POINT2_NAME& operator-=(const HS_POINT2_NAME& s) |
|
{ |
|
this->fX -= s.fX; |
|
this->fY -= s.fY; |
|
return *this; |
|
} |
|
|
|
#if 0 // Havok reeks |
|
friend int operator==(const HS_POINT2_NAME& s, const HS_POINT2_NAME& t) |
|
{ |
|
return (s.fX == t.fX && s.fY == t.fY); |
|
} |
|
friend int operator!=(const HS_POINT2_NAME& s, const HS_POINT2_NAME& t) |
|
{ |
|
return !(s == t); |
|
} |
|
#else // Havok reeks |
|
int operator==(const HS_POINT2_NAME& ss) const |
|
{ |
|
return (ss.fX == fX && ss.fY == fY); |
|
} |
|
int operator!=(const HS_POINT2_NAME& ss) |
|
{ |
|
return !(ss == *this); |
|
} |
|
#endif // Havok reeks |
|
friend HS_POINT2_NAME operator+(const HS_POINT2_NAME& s, const HS_POINT2_NAME& t) |
|
{ |
|
HS_POINT2_NAME result; |
|
result.Set(s.fX + t.fX, s.fY + t.fY); |
|
return result; |
|
} |
|
friend HS_POINT2_NAME operator-(const HS_POINT2_NAME& s, const HS_POINT2_NAME& t) |
|
{ |
|
HS_POINT2_NAME result; |
|
result.Set(s.fX - t.fX, s.fY - t.fY); |
|
return result; |
|
} |
|
friend HS_POINT2_NAME operator-(const HS_POINT2_NAME& s) |
|
{ |
|
HS_POINT2_NAME result = { -s.fX, -s.fY }; |
|
return result; |
|
} |
|
|
|
#undef HS_POINT2_NAME |
|
#undef HS_POINT2_TYPE
|
|
|