@@ -98,6 +98,9 @@ struct Quaternion
Quaternion(float nx, float ny, float nz, float nw);
Quaternion(const Vector3& axis, float angle);
+ float& operator[](uint32_t i);
+ const float& operator[](uint32_t i) const;
+
Quaternion& operator*=(const Quaternion& a);
float x, y, z, w;
@@ -166,6 +166,18 @@ inline Quaternion::Quaternion(const Vector3& axis, float angle)
{
}
+//-----------------------------------------------------------------------------
+inline float& Quaternion::operator[](uint32_t i)
+{
+ return (&x)[i];
+}
+inline const float& Quaternion::operator[](uint32_t i) const
//-----------------------------------------------------------------------------
inline Quaternion& Quaternion::operator*=(const Quaternion& a)