Quaternion.cppm 573 B

123456789101112131415161718
  1. export module Core.Quaternion;
  2. export import Core.Vector;
  3. export namespace Core {
  4. class Quaternion final {
  5. Vector4 v;
  6. public:
  7. Quaternion() noexcept;
  8. Quaternion(const Vector3& axis, float angle) noexcept;
  9. Quaternion lerp(float f, const Quaternion& other) const noexcept;
  10. Quaternion& operator*=(const Quaternion& other) noexcept;
  11. Quaternion operator*(const Quaternion& other) const noexcept;
  12. Vector3 operator*(const Vector3& v) const noexcept;
  13. size_t toString(StringBase& b) const noexcept;
  14. };
  15. }