Quaternion
-
class HPS::Quaternion
Public Functions
-
inline bool Equals(Quaternion const &q, int in_tolerance = 32) const
-
inline Quaternion Exp() const
-
inline Quaternion Lerp(Quaternion const &in_right, float in_fraction) const
-
inline Quaternion Log() const
-
inline float Norm() const
-
inline Quaternion const &Normalize()
-
inline bool operator!=(Quaternion const &q) const
-
inline Quaternion operator*(float in_right) const
-
inline Quaternion operator*(Quaternion const &in_right) const
-
inline Quaternion operator+(Quaternion const &in_right) const
-
inline Quaternion operator-(Quaternion const &in_right) const
-
inline Quaternion operator/(float in_right) const
-
inline bool operator==(Quaternion const &q) const
-
inline Quaternion()
-
inline Quaternion(float in_w, float in_x, float in_y, float in_z)
-
inline Quaternion(Quaternion const &that)
-
inline Quaternion Slerp(Quaternion const &in_right, float in_fraction, bool in_shortest_path_only = true) const
-
inline Quaternion Spline(Quaternion const &in_previous, Quaternion const &in_next) const
Calculate a control point to be used in spline interpolation
- Parameters
in_previous – The control point before this
in_next – The control point after this
- Returns
Resultant spline control point
-
inline Quaternion Squad(Quaternion const &in_right, Quaternion const &in_control1, Quaternion const &in_control2, float in_fraction) const
Spherical cubic interpolation between two Quaternions
- Parameters
in_right – The Quaternion for interpolation.
in_control1 – The first control point.
in_control2 – The second control point.
in_fraction – Interpolation distance (0 - 1).
- Returns
Result of interpolation.
Public Static Functions
-
static inline Quaternion ComputeRotation(float in_degrees, HPS::Vector const &in_axis)
Computes a quaternion from a rotation about an axis.
- Parameters
in_degrees – The angle in degrees to rotate.
in_axis – The axis to rotate about.
- Returns
The resulting Quaternion object.
-
static inline Quaternion ComputeRotation(float in_x, float in_y, float in_z)
Computes a quaternion from a rotation around the primary axes.
- Parameters
in_x – The number of degrees to rotate around the x-axis.
in_y – The number of degrees to rotate around the y-axis.
in_z – The number of degrees to rotate around the z-axis.
- Returns
The resulting Quaternion object.
Friends
-
inline friend Quaternion operator*(float in_left, Quaternion const &in_right)
-
inline bool Equals(Quaternion const &q, int in_tolerance = 32) const