Added: Class Vec2i

~g2k
This commit is contained in:
2005-07-02 01:46:50 -04:00
parent de0c0682d2
commit 17565c41c1
2 changed files with 112 additions and 0 deletions

View File

@@ -161,3 +161,89 @@ Vec2f::Vec2f(double X, double Y)
x=(float)X;
y=(float)Y;
}
////////////
Vec2i::Vec2i()
{
x=0;
y=0;
}
Vec2i::Vec2i(const Vec2i& rtOp)
{
x=rtOp.x;
y=rtOp.y;
}
Vec2i Vec2i::cross(const Vec2i& rtOp) const
{
return Vec2i(y-rtOp.y, rtOp.x-x);
}
int Vec2i::length()const
{
return (int)sqrt(x*x+y*y);
}
int Vec2i::lengthsquared()const
{
return (x*x+y*y);
}
void Vec2i::normalize()
{
x/=length();
y/=length();
}
Vec2i Vec2i::normalized() const
{
return Vec2i(x/length(), y/length());
}
Vec2i Vec2i::operator*(int rtOp) const
{
return Vec2i(x*rtOp, y*rtOp);
}
Vec2i Vec2i::operator+(const Vec2i& rtOp) const
{
return Vec2i(x+rtOp.x, y+rtOp.y);
}
Vec2i Vec2i::operator*(const Vec2i& rtOp) const
{
return Vec2i(x*rtOp.x, y*rtOp.y);
}
Vec2i Vec2i::operator-(const Vec2i& rtOp) const
{
return Vec2i(x-rtOp.x, y-rtOp.y);
}
Vec2i Vec2i::operator/(int rtOp) const
{
return Vec2i(x/rtOp, y/rtOp);
}
Vec2i Vec2i::operator=(const Vec2i& rtOp)
{
x=rtOp.x;
y=rtOp.x;
return Vec2i(x,y);
}
Vec2i::Vec2i(int X, int Y)
{
x=X;
y=Y;
}
bool Vec2i::operator==(const Vec2i& rtOp) const
{
return x == rtOp.x && y == rtOp.y;
}
bool Vec2i::operator!=(const Vec2i& rtOp) const
{
return !(x == rtOp.x && y == rtOp.y);
}