diff options
Diffstat (limited to 'src/common/vector_math.h')
-rw-r--r-- | src/common/vector_math.h | 48 |
1 files changed, 9 insertions, 39 deletions
diff --git a/src/common/vector_math.h b/src/common/vector_math.h index 3f0057d9e..cca43bd4c 100644 --- a/src/common/vector_math.h +++ b/src/common/vector_math.h @@ -52,12 +52,8 @@ static inline Vec4<T> MakeVec(const T& x, const T& y, const T& z, const T& w); template <typename T> class Vec2 { public: - T x; - T y; - - T* AsArray() { - return &x; - } + T x{}; + T y{}; Vec2() = default; Vec2(const T& _x, const T& _y) : x(_x), y(_y) {} @@ -71,11 +67,6 @@ public: return Vec2<T>(f, f); } - void Write(T a[2]) { - a[0] = x; - a[1] = y; - } - Vec2<decltype(T{} + T{})> operator+(const Vec2& other) const { return MakeVec(x + other.x, y + other.y); } @@ -201,13 +192,9 @@ inline float Vec2<float>::Normalize() { template <typename T> class Vec3 { public: - T x; - T y; - T z; - - T* AsArray() { - return &x; - } + T x{}; + T y{}; + T z{}; Vec3() = default; Vec3(const T& _x, const T& _y, const T& _z) : x(_x), y(_y), z(_z) {} @@ -225,12 +212,6 @@ public: return MakeVec(f, f, f); } - void Write(T a[3]) { - a[0] = x; - a[1] = y; - a[2] = z; - } - Vec3<decltype(T{} + T{})> operator+(const Vec3& other) const { return MakeVec(x + other.x, y + other.y, z + other.z); } @@ -411,14 +392,10 @@ typedef Vec3<float> Vec3f; template <typename T> class Vec4 { public: - T x; - T y; - T z; - T w; - - T* AsArray() { - return &x; - } + T x{}; + T y{}; + T z{}; + T w{}; Vec4() = default; Vec4(const T& _x, const T& _y, const T& _z, const T& _w) : x(_x), y(_y), z(_z), w(_w) {} @@ -436,13 +413,6 @@ public: return Vec4<T>(f, f, f, f); } - void Write(T a[4]) { - a[0] = x; - a[1] = y; - a[2] = z; - a[3] = w; - } - Vec4<decltype(T{} + T{})> operator+(const Vec4& other) const { return MakeVec(x + other.x, y + other.y, z + other.z, w + other.w); } |