diff options
Diffstat (limited to 'Vector.h')
-rw-r--r-- | Vector.h | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/Vector.h b/Vector.h deleted file mode 100644 index f03c4b4..0000000 --- a/Vector.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef _VECTOR_H_ -#define _VECTOR_H_ - -#include "Vertex.h" -#include <math.h> - -class Vector : public Vertex { - public: - Vector(float x0 = 0, float y0 = 0, float z0 = 0) : Vertex(x0, y0, z0) {} - Vector(const Vertex &v) : Vertex(v) {} - - Vector operator+(const Vector &v) const { - return Vector(x+v.x, y+v.y, z+v.z); - } - - Vector& operator+=(const Vector &v) { - x += v.x; - y += v.y; - z += v.z; - - return *this; - } - - Vector operator*(float f) const { - return Vector(x*f, y*f, z*f); - } - - Vector operator/(float f) const { - return (*this)*(1/f); - } - - Vector operator-() const { - return Vector(-x, -y, -z); - } - - Vector cross(const Vector &v) const { - return Vector(y*v.z - z*v.y, - z*v.x - x*v.z, - x*v.y - y*v.x); - } - - float dot(const Vector &v) const { - return x*v.x + y*v.y + z*v.z; - } - - float length() const { - return sqrtf(x*x+y*y+z*z); - } - - Vector normalize() const { - return *this/length(); - } -}; - -static inline Vector operator-(const Vertex &v1, const Vertex &v2) { - return Vector(v1.getX()-v2.getX(), v1.getY()-v2.getY(), v1.getZ()-v2.getZ()); -} - -#endif /*_VECTOR_H_*/ - |