27 lines
591 B
C++
27 lines
591 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();
|
|
double mag2();
|
|
|
|
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);
|
|
|
|
#endif
|