Quaternion.cppm 514 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();
  8. Quaternion(const Vector3& axis, float angle);
  9. Quaternion lerp(float f, const Quaternion& other) const;
  10. Quaternion& operator*=(const Quaternion& other);
  11. Quaternion operator*(const Quaternion& other) const;
  12. Vector3 operator*(const Vector3& v) const;
  13. size_t toString(char* s, size_t n) const;
  14. };
  15. }