From 12f709042181115db56bf7fc6e234aaaed751b9d Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Sun, 23 May 2010 22:36:59 +0200 Subject: Added operator overloaders to vector classes. --- engine/vector.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'engine/vector.cpp') diff --git a/engine/vector.cpp b/engine/vector.cpp index c23466e..6c71991 100644 --- a/engine/vector.cpp +++ b/engine/vector.cpp @@ -26,6 +26,20 @@ Vector2& Vector2::operator+=(const Vector2& v) { return *this; } +Vector2& Vector2::operator+(const Vector2& v) { + return Vector2(*this) += v; +} + +Vector2& Vector2::operator-=(const Vector2& v) { + x -= v.x; + y -= v.y; + return *this; +} + +Vector2& Vector2::operator-(const Vector2& v) { + return Vector2(*this) -= v; +} + Vector3::Vector3() : Vector2() { z = 0; } @@ -49,6 +63,28 @@ Vector3& Vector3::operator=(const Vector3& v) { return *this; } +Vector3& Vector3::operator+=(const Vector3& v) { + x += v.x; + y += v.y; + z += v.z; + return *this; +} + +Vector3& Vector3::operator+(const Vector3& v) { + return Vector3(*this) += v; +} + +Vector3& Vector3::operator-=(const Vector3& v) { + x -= v.x; + y -= v.y; + z -= v.z; + return *this; +} + +Vector3& Vector3::operator-(const Vector3& v) { + return Vector3(*this) -= v; +} + Vector4::Vector4() : Vector3() { w = 0; } @@ -71,3 +107,27 @@ Vector4& Vector4::operator=(const Vector4& v) { w = v.w; return *this; } + +Vector4& Vector4::operator+=(const Vector4& v) { + x += v.x; + y += v.y; + z += v.z; + w += v.w; + return *this; +} + +Vector4& Vector4::operator+(const Vector4& v) { + return Vector4(*this) += v; +} + +Vector4& Vector4::operator-=(const Vector4& v) { + x -= v.x; + y -= v.y; + z -= v.z; + w -= v.w; + return *this; +} + +Vector4& Vector4::operator-(const Vector4& v) { + return Vector4(*this) -= v; +} -- cgit v1.2.3