#ifndef CORE_QUATERNION_HPP #define CORE_QUATERNION_HPP #include "core/math/Vector.hpp" #include "core/utils/ArrayString.hpp" namespace Core { class Quaternion final { Vector3 xyz; float w; public: Quaternion(); Quaternion(const Vector3& axis, float angle); Quaternion lerp(float f, const Quaternion& other) const; Quaternion& operator*=(const Quaternion& other); Quaternion operator*(const Quaternion& other) const; Vector3 operator*(const Vector3& v) const; void toString(BufferString& s) const; }; } #endif