#ifndef VECTOR3D_H_ #define VECTOR3D_H_ #include #include "Matrix.hpp" template class V3D { public: V3D(const Matrix<1, 3> &other); V3D(const Matrix<3, 1> &other); V3D(const V3D &other); V3D(Type x = 0, Type y = 0, Type z = 0); template V3D(const V3D &other); std::array ToArray(); V3D operator+(const V3D &other); V3D operator-(const V3D &other); V3D operator*(Type scalar); void operator=(const V3D &other); V3D &operator+=(const V3D &other); V3D &operator-=(const V3D &other); V3D &operator/=(Type scalar); V3D &operator*=(Type scalar); bool operator==(const V3D &other); float magnitude(); Type x; Type y; Type z; }; #include "Vector3D.cpp" #endif // VECTOR3D_H_