![]() |
NDEVR
API Documentation
|
Logic for converting between Euler angles and basic rotations or normals. More...
Static Public Member Functions | |
| template<class t_angle_type, uint01 t_dims, class t_type> | |
| static constexpr Angle< t_angle_type > | AngleBetween (const Vector< t_dims, t_type > &a, const Vector< t_dims, t_type > &b) |
| Computes the angle between two vectors. | |
| static const fltp08 * | CalcIndexSin () |
| template<class t_angle_type, uint01 t_dims, class t_type> | |
| static constexpr Angle< t_angle_type > | Heading (const Vector< t_dims, t_type > ray) |
| Computes the heading angle from a direction vector. | |
| template<class t_angle_type> | |
| static Angle< t_angle_type > | Inclination (const Angle< t_angle_type > &roll, const Angle< t_angle_type > &pitch) |
| template<class t_angle_type, uint01 t_dims, class t_type> | |
| static constexpr Angle< t_angle_type > | Inclination (const Vector< t_dims, t_type > ray) |
| Computes the inclination angle from a direction vector. | |
| template<class t_angle_type> | |
| static Vector< 3, Angle< t_angle_type > > | NormalizeOrientation (Vector< 3, Angle< t_angle_type > > angle, const Vector< 3, Angle< t_angle_type > > &reference) |
| Normalizes an orientation to be consistent with a reference orientation, avoiding discontinuities. | |
| template<class t_angle_type, class t_type> | |
| static Vector< 3, Angle< t_angle_type > > | NormalToOrientation (const Vector< 3, t_type > &normal, const Angle< t_angle_type > &yaw=Angle< t_angle_type >(0)) |
| Normal to orientation. | |
| template<bool t_normalized, uint01 t_dims, class t_angle_type> | |
| static constexpr Vector< t_dims, fltp08 > | Orientation (AngleType angle_type, const Vector< t_dims, Angle< t_angle_type > > &ray) |
| Converts a Vector of Angles to a Vector of scalar values in the specified angle type. | |
| template<class t_angle_type, uint01 t_dims, class t_type> | |
| static constexpr Vector< t_dims, Angle< t_angle_type > > | Orientation (AngleType angle_type, const Vector< t_dims, t_type > &ray) |
| Constructs a Vector of Angles from a Vector of scalar values and a specified angle type. | |
| static Vector< 4, fltp08 > | OrientationToQuaternion (const Vector< 3, Angle< fltp08 > > &quaternion) |
| Converts Euler angles (Roll, Pitch and Yaw) to a quaternion. | |
| static Vector< 3, Angle< fltp08 > > | QuaternionToOrientation (const Vector< 4, fltp08 > &quaternion) |
| Converts a quaternion to Euler angles (Roll, Pitch and Yaw). | |
| template<class t_angle_type, uint01 t_dims, class t_type> | |
| static Angle< t_angle_type > | Rotation (const Vector< t_dims, t_type > &left, const Vector< t_dims, t_type > &middle, const Vector< t_dims, t_type > &right) |
| Gets a rotation. | |
Logic for converting between Euler angles and basic rotations or normals.
Definition at line 777 of file AngleFunctions.h.
|
inlinestaticconstexpr |
Computes the angle between two vectors.
| [in] | a | The first vector. |
| [in] | b | The second vector. |
Definition at line 863 of file AngleFunctions.h.
References Angle< t_type >::acos(), cast(), clip(), and dot().
|
static |
Calculates the index sine.
Author: Tyler Parke
Date: 2017-11-13
|
inlinestaticconstexpr |
Computes the heading angle from a direction vector.
| [in] | ray | The direction vector to compute heading from. |
Definition at line 852 of file AngleFunctions.h.
References Angle< t_type >::atan2().
|
inlinestatic |
Gets the Inclination of .
Author: Tyler Parke
Date: 2018-08-15
Parameters: roll - The rotation about the X axis. pitch - The rotation about the Y axis.
Definition at line 829 of file AngleFunctions.h.
References Angle< t_type >::atan(), cast(), sqrt(), and tan().
|
inlinestaticconstexpr |
Computes the inclination angle from a direction vector.
| [in] | ray | The direction vector to compute inclination from. |
Definition at line 840 of file AngleFunctions.h.
References Angle< t_type >::atan2().
|
inlinestatic |
Normalizes an orientation to be consistent with a reference orientation, avoiding discontinuities.
| [in] | angle | The orientation to normalize. |
| [in] | reference | The reference orientation to normalize against. |
Definition at line 936 of file AngleFunctions.h.
|
inlinestaticconstexpr |
Converts a Vector of Angles to a Vector of scalar values in the specified angle type.
| [in] | angle_type | The target angle unit for the output scalar values (e.g., DEGREES, RADIANS). |
| [in] | ray | The Vector of Angles to convert. |
Definition at line 892 of file AngleFunctions.h.
|
inlinestaticconstexpr |
Constructs a Vector of Angles from a Vector of scalar values and a specified angle type.
| [in] | angle_type | The unit of the input scalar values (e.g., DEGREES, RADIANS). |
| [in] | ray | The Vector of scalar values to convert to Angles. |
Definition at line 878 of file AngleFunctions.h.
Referenced by quantize(), and quantize().
|
static |
Converts Euler angles (Roll, Pitch and Yaw) to a quaternion.
| [in] | quaternion | The Euler angles to convert. |
|
static |
Converts a quaternion to Euler angles (Roll, Pitch and Yaw).
| [in] | quaternion | The quaternion to compute |
|
inlinestatic |
Gets a rotation.
Author: Tyler Parke
Date: 2017-11-13
Parameters: left - The left. middle - The middle. right - The right.
Definition at line 809 of file AngleFunctions.h.
References cast(), dot(), Vector< t_dims, t_type >::magnitudeSquared(), RADIANS, and sqrt().
Referenced by Triangle< t_dims, t_type, t_vertex >::angle().