export module Core.Quaternion; export import Core.Vector; export namespace Core { class Quaternion final { Vector4 v; public: Quaternion() noexcept; Quaternion(const Vector3& axis, float angle) noexcept; Quaternion lerp(float f, const Quaternion& other) const noexcept; Quaternion& operator*=(const Quaternion& other) noexcept; Quaternion operator*(const Quaternion& other) const noexcept; Vector3 operator*(const Vector3& v) const noexcept; size_t toString(StringBase& b) const noexcept; }; }