Quaternion.cppm 523 B

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