| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- $#include "Math/Quaternion.h"
- class Quaternion
- {
- Quaternion();
- Quaternion(const Quaternion& quat);
- Quaternion(float w, float x, float y, float z);
- Quaternion(float angle, const Vector3& axis);
- Quaternion(float angle);
- Quaternion(float x, float y, float z);
- Quaternion(const Vector3& start, const Vector3& end);
- Quaternion(const Vector3& xAxis, const Vector3& yAxis, const Vector3& zAxis);
- Quaternion(const Matrix3& matrix);
- ~Quaternion();
- bool operator ==(const Quaternion& rhs) const;
- Quaternion operator * (float rhs) const;
- Quaternion operator - () const;
- bool operator ==(const Quaternion& rhs) const;
- Quaternion operator * (float rhs) const;
- Quaternion operator - () const;
- Quaternion operator + (const Quaternion& rhs) const;
- Quaternion operator - (const Quaternion& rhs) const;
- Quaternion operator * (const Quaternion& rhs) const;
- Vector3 operator * (const Vector3& rhs) const;
- void FromAngleAxis(float angle, const Vector3& axis);
- void FromEulerAngles(float x, float y, float z);
- void FromRotationTo(const Vector3& start, const Vector3& end);
- void FromAxes(const Vector3& xAxis, const Vector3& yAxis, const Vector3& zAxis);
- void FromRotationMatrix(const Matrix3& matrix);
- bool FromLookRotation(const Vector3& direction, const Vector3& up);
- void Normalize();
- Quaternion Normalized() const;
- Quaternion Inverse() const;
- float LengthSquared() const;
- float DotProduct(const Quaternion& rhs) const;
- bool Equals(const Quaternion& rhs) const;
- bool IsNaN() const;
- Quaternion Conjugate() const;
- Vector3 EulerAngles() const;
- float YawAngle() const;
- float PitchAngle() const;
- float RollAngle() const;
- Vector3 Axis() const;
- float Angle() const;
- Matrix3 RotationMatrix() const;
- Quaternion Slerp(const Quaternion& rhs, float t) const;
- Quaternion Nlerp(const Quaternion& rhs, float t, bool shortestPath) const;
- String ToString() const;
- float w_ @ w;
- float x_ @ x;
- float y_ @ y;
- float z_ @ z;
- static const Quaternion IDENTITY;
- };
|