From d0fe38566c9cb7e6ba1689cdc3a91cdfe7e4b30c Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 8 Jul 2010 16:55:30 +0000 Subject: [PATCH] added mult() and div() to Vector git-svn-id: svn://anubis/fart/trunk@277 7f9b0f55-74a9-4bce-be96-3c2cd072584d --- util/Vector.cc | 24 +++++++++++++++++++++--- util/Vector.h | 2 ++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/util/Vector.cc b/util/Vector.cc index 6dae276..3c5065e 100644 --- a/util/Vector.cc +++ b/util/Vector.cc @@ -86,10 +86,22 @@ Vector Vector::getPerpendicular() const return p; } -std::ostream & operator<<(std::ostream & out, const Vector & v) +Vector Vector::mult(const Vector & v2) const { - out << "[" << v[0] << ", " << v[1] << ", " << v[2] << "]"; - return out; + Vector result; + result[0] = m_array[0] * v2.m_array[0]; + result[1] = m_array[1] * v2.m_array[1]; + result[2] = m_array[2] * v2.m_array[2]; + return result; +} + +Vector Vector::div(const Vector & v2) const +{ + Vector result; + result[0] = m_array[0] / v2.m_array[0]; + result[1] = m_array[1] / v2.m_array[1]; + result[2] = m_array[2] / v2.m_array[2]; + return result; } Vector Vector::operator-() const @@ -170,3 +182,9 @@ Vector & Vector::operator-=(const Vector & v2) m_array[2] -= v2.m_array[2]; return *this; } + +std::ostream & operator<<(std::ostream & out, const Vector & v) +{ + out << "[" << v[0] << ", " << v[1] << ", " << v[2] << "]"; + return out; +} diff --git a/util/Vector.h b/util/Vector.h index 0fb0414..7993441 100644 --- a/util/Vector.h +++ b/util/Vector.h @@ -20,6 +20,8 @@ class Vector Vector reflect(const Vector & target) const; Vector getPerpendicular() const; + Vector mult(const Vector & v2) const; + Vector div(const Vector & v2) const; Vector operator-() const; double operator%(const Vector & v2) const; Vector operator*(const Vector & v2) const;