Quaternion
- 
class HPS::Quaternion
- Public Functions - 
inline bool Equals(Quaternion const &q, int in_tolerance = HPS::Float::default_tolerance) 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 = HPS::Float::default_tolerance) const
