diff options
Diffstat (limited to 'vector.cpp')
-rw-r--r-- | vector.cpp | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/vector.cpp b/vector.cpp deleted file mode 100644 index 2da8c99..0000000 --- a/vector.cpp +++ /dev/null @@ -1,146 +0,0 @@ -#include "vector.h" - -#include <boost/format.hpp> - -#include <cmath> -#include <string> - -Vector2::Vector2() { - x = y = 0; -} - -Vector2::Vector2(const Vector2& v) { - x = v.x; - y = v.y; -} - -Vector2::Vector2(float x, float y) { - this->x = x; - this->y = y; -} - -bool Vector2::operator==(const Vector2& v) const { - return 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 float f) { - x *= f; - y *= f; - return *this; -} - -Vector2& Vector2::operator/=(const float f) { - x /= f; - y /= f; - return *this; -} - -float Vector2::length() { - return sqrtf(x*x + y*y); -} - -std::string Vector2::str() { - return (boost::format("[%.2f %.2f]") % x % y).str(); -} - -/** - * Vector3 - */ - -Vector3::Vector3() { - x = y = z = 0; -} - -Vector3::Vector3(const Vector3& v) : Vector2(v) { - z = v.z; -} - -Vector3::Vector3(float x, float y, float z) : Vector2(x, y) { - this->z = z; -} - -bool Vector3::operator==(const Vector3& v) { - return 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) { - 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; -} - -Vector3& Vector3::operator*=(const float f) { - x *= f; - y *= f; - z *= f; - return *this; -} - -Vector3 Vector3::operator*(const float f) { - return Vector3(*this) *= f; -} - -Vector3& Vector3::operator/=(const float f) { - x /= f; - y /= f; - z /= f; - return *this; -} - -Vector3 Vector3::operator/(const float f) { - return Vector3(*this) /= f; -} - -Vector3 Vector3::cross(const Vector3& v) { - return Vector3(y*v.z - z*v.y, - z*v.x - x*v.z, - x*v.y - y*v.x); -} - -float Vector3::dot(const Vector3& v) { - return x*v.x + y*v.y + z*v.z; -} - -Vector2 Vector3::xz() { - return Vector2(x, z); -} - -float Vector3::length() { - return sqrtf(x*x + y*y + z*z); -} - -std::string Vector3::str() { - return (boost::format("[%.2f %.2f %.2f]") % x % y % z).str(); -} |