From cf7eff7aab751fd1b599d967ee156c7ebb61cbbd Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Mon, 4 Feb 2019 18:16:49 -0500 Subject: Work on adding toroid --- vec3.h | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'vec3.h') diff --git a/vec3.h b/vec3.h index abfc6c3..cb51f23 100644 --- a/vec3.h +++ b/vec3.h @@ -1,30 +1,34 @@ #ifndef VEC3_H #define VEC3_H #include + +typedef float scalar; + class vec3 { public: - double v[3]; + scalar v[3]; public: vec3(); - vec3(double x); - vec3(double x, double y, double z); - double &operator[](int index); - double operator[](int index) const; - vec3 operator*(double scale) const; - vec3 operator/(double scale) const; + vec3(scalar x); + vec3(scalar x, scalar y, scalar z); + scalar &operator[](int index); + scalar operator[](int index) const; + vec3 operator*(scalar scale) const; + vec3 operator/(scalar scale) const; vec3 operator+(const vec3 &other) const; vec3 operator-(const vec3 &other) const; vec3 operator-() const; - const vec3 &operator*=(double scale); - const vec3 &operator/=(double scale); + const vec3 &operator*=(scalar scale); + const vec3 &operator/=(scalar scale); const vec3 &operator+=(const vec3 &other); const vec3 &operator-=(const vec3 &other); - double magnitude() const; - double magnitudeSquared() const; + scalar magnitude() const; + scalar magnitudeSquared() const; vec3 normalize() const; - double dot(const vec3 &other) const; + scalar dot(const vec3 &other) const; vec3 cross(const vec3 &other) const; }; +vec3 operator*(scalar scale, const vec3 &v); std::ostream &operator<<(std::ostream &output, const vec3 &v); #endif -- cgit v1.1