From f1c0772af07f0339bda5a9abeaf4f869de9868e1 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Sun, 13 Jun 2010 16:02:07 +0200 Subject: Added vector- and matrix-classes. --- vector.cpp | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 vector.cpp (limited to 'vector.cpp') diff --git a/vector.cpp b/vector.cpp new file mode 100644 index 0000000..6c71991 --- /dev/null +++ b/vector.cpp @@ -0,0 +1,133 @@ +#include "vector.h" + +Vector2::Vector2() { + x = y = 0; +} + +Vector2::Vector2(float p1, float p2) { + x = p1; + y = p2; +} + +Vector2::Vector2(const Vector2& v) { + x = v.x; + y = v.y; +} + +Vector2& Vector2::operator=(const Vector2& v) { + x = v.x; + y = v.y; + return *this; +} + +Vector2& Vector2::operator+=(const Vector2& v) { + x += v.x; + y += v.y; + 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; +} + +Vector3::Vector3(float p1, float p2, float p3) { + x = p1; + y = p2; + z = p3; +} + +Vector3::Vector3(const Vector3& v) { + x = v.x; + y = v.y; + z = v.z; +} + +Vector3& Vector3::operator=(const Vector3& v) { + x = v.x; + y = v.y; + z = v.z; + 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; +} + +Vector4::Vector4(float p1, float p2, float p3, float p4) : Vector3(p1, p2, p3) { + w = p4; +} + +Vector4::Vector4(const Vector4& v) { + x = v.x; + y = v.y; + z = v.z; + w = v.w; +} + +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) { + 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