Quaternion.pkg 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. $#include "Quaternion.h"
  2. class Quaternion
  3. {
  4. Quaternion();
  5. Quaternion(const Quaternion& quat);
  6. Quaternion(float w, float x, float y, float z);
  7. Quaternion(float angle, const Vector3& axis);
  8. Quaternion(float x, float y, float z);
  9. Quaternion(const Vector3& start, const Vector3& end);
  10. Quaternion(const Vector3& xAxis, const Vector3& yAxis, const Vector3& zAxis);
  11. Quaternion(const Matrix3& matrix);
  12. ~Quaternion();
  13. bool operator == (const Quaternion& rhs) const;
  14. Quaternion operator * (float rhs) const;
  15. Quaternion operator - () const;
  16. bool operator == (const Quaternion& rhs) const;
  17. Quaternion operator * (float rhs) const;
  18. Quaternion operator - () const;
  19. Quaternion operator + (const Quaternion& rhs) const;
  20. Quaternion operator - (const Quaternion& rhs) const;
  21. Quaternion operator * (const Quaternion& rhs) const;
  22. Vector3 operator * (const Vector3& rhs) const;
  23. void FromAngleAxis(float angle, const Vector3& axis);
  24. void FromEulerAngles(float x, float y, float z);
  25. void FromRotationTo(const Vector3& start, const Vector3& end);
  26. void FromAxes(const Vector3& xAxis, const Vector3& yAxis, const Vector3& zAxis);
  27. void FromRotationMatrix(const Matrix3& matrix);
  28. void Normalize();
  29. Quaternion Normalized() const;
  30. Quaternion Inverse() const;
  31. float LengthSquared() const;
  32. float DotProduct(const Quaternion& rhs) const;
  33. bool Equals(const Quaternion& rhs) const;
  34. Quaternion Conjugate() const;
  35. Vector3 EulerAngles() const;
  36. float YawAngle() const;
  37. float PitchAngle() const;
  38. float RollAngle() const;
  39. Matrix3 RotationMatrix() const;
  40. Quaternion Slerp(Quaternion rhs, float t) const;
  41. String ToString() const;
  42. float w_ @ w;
  43. float x_ @ x;
  44. float y_ @ y;
  45. float z_ @ z;
  46. static const Quaternion IDENTITY;
  47. };