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.
62 lines
1.4 KiB
62 lines
1.4 KiB
14 years ago
|
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
|