diff options
author | neoraider <devnull@localhost> | 2008-04-14 00:10:04 +0200 |
---|---|---|
committer | neoraider <devnull@localhost> | 2008-04-14 00:10:04 +0200 |
commit | 36d1bb8999ecfe305319c0f2b4313a169a368c13 (patch) | |
tree | f1cc3e3f4572c0140aa9e5ae319f8f7db7cbffff /src/Data/Vector.cpp | |
parent | 184c6305a677d968e60eb6cba9b29dd840cdce3c (diff) | |
download | zoomedit-36d1bb8999ecfe305319c0f2b4313a169a368c13.tar zoomedit-36d1bb8999ecfe305319c0f2b4313a169a368c13.zip |
zoomedit:
* Changed CPPFLAGS and LIBS handling
* Added cross and dot product to Vector class
* Added View classes
Diffstat (limited to 'src/Data/Vector.cpp')
-rw-r--r-- | src/Data/Vector.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Data/Vector.cpp b/src/Data/Vector.cpp index ad17447..8677fd1 100644 --- a/src/Data/Vector.cpp +++ b/src/Data/Vector.cpp @@ -39,6 +39,10 @@ Vector Vector::operator-(const Vector &v) const { return Vector(x - v.x, y - v.y, z - v.z); } +float Vector::operator*(const Vector &v) const { + return (x*v.x + y*v.y + z*v.z); +} + Vector Vector::operator*(float f) const { return Vector(x*f, y*f, z*f); } @@ -47,6 +51,10 @@ Vector Vector::operator/(float f) const { return Vector(x/f, y/f, z/f); } +Vector Vector::operator%(const Vector &v) const { + return Vector(y*v.z-z*v.y, z*v.x-x*v.z, x*v.y-y*v.x); +} + Vector& Vector::operator+=(const Vector &v) { x += v.x; y += v.y; @@ -79,5 +87,10 @@ Vector& Vector::operator/=(float f) { return *this; } +Vector& Vector::operator%=(const Vector &v) { + *this = *this % v; + return *this; +} + } } |