Quaternion
-
class
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