From 8251be3e7ec0e381391c951fd4c8f1ab8080bef9 Mon Sep 17 00:00:00 2001 From: Julian T Date: Tue, 12 Jan 2021 18:48:40 +0100 Subject: Reorgranize source file structure --- src/core/vector.hpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/core/vector.hpp (limited to 'src/core/vector.hpp') diff --git a/src/core/vector.hpp b/src/core/vector.hpp new file mode 100644 index 0000000..20e8210 --- /dev/null +++ b/src/core/vector.hpp @@ -0,0 +1,33 @@ +#ifndef VECTOR_H +#define VECTOR_H + +#include + +class Vec3d { + public: + Vec3d(); + Vec3d(double x, double y, double z); + + void set(double x, double y, double z); + void normalize(); + + double length() const; + double dot(const Vec3d &vec) const; + + Vec3d cross(const Vec3d &vec) const; + + // Operators + Vec3d operator+(const Vec3d &vec) const; + Vec3d& operator+=(const Vec3d &vec); + Vec3d operator-(const Vec3d &vec) const; + Vec3d operator-() const; + Vec3d operator*(double) const; + Vec3d operator*(const Vec3d &vec) const; + Vec3d operator/(double) const; + + friend std::ostream& operator<<(std::ostream& os, const Vec3d &v); + + double m_x, m_y, m_z; +}; + +#endif -- cgit v1.2.3