fart/util/Vector.h
Josh Holtrop 866f22a637 added operator*(Vector,double) and operator/(Vector,double) to util/Vector; added lookAt() to util/Transform (needs testing)
git-svn-id: svn://anubis/fart/trunk@63 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-28 23:47:46 +00:00

31 lines
817 B
C++

#ifndef VECTOR_H
#define VECTOR_H VECTOR_H
#include <iostream>
class Vector
{
public:
Vector();
Vector(double x, double y, double z);
double & operator[](int idx) { return m_array[idx]; }
double operator[](int idx) const { return m_array[idx]; }
Vector & normalize();
double mag() const;
double mag2() const;
private:
double m_array[3];
};
std::ostream & operator<<(std::ostream & out, const Vector & v);
double operator%(const Vector & v1, const Vector & v2);
Vector operator*(const Vector & v1, const Vector & v2);
Vector operator+(const Vector & v1, const Vector & v2);
Vector operator-(const Vector & v1, const Vector & v2);
Vector operator*(const Vector & v1, double scale);
Vector operator/(const Vector & v1, double scale);
#endif