#include <EulerAngles.h>
Inheritance diagram for Physsim::EulerAngles:

Public Types | |
| enum | EulerAngleType { eRollPitchYaw } |
| Types of Euler angle representations. | |
Public Member Functions | |
| EulerAngles () | |
| Default constructor. | |
| EulerAngles (EulerAngleType type) | |
| Constructs an Euler angle object using the particular type. | |
| EulerAngles (const EulerAngles &source) | |
| Sets this Euler angle from another. | |
| EulerAngles (const Quat *q, EulerAngleType type) | |
| Constructs an Euler angle object from a quaternion and a type. | |
| EulerAngles (Real alpha, Real beta, Real gamma, EulerAngleType type) | |
| Constructs an Euler angle object from three Real values and a type. | |
| EulerAngles (const Matrix3 *m, EulerAngleType type) | |
| Constructs an Euler angle object from a 3x3 rotation matrix and the specified type. | |
| bool | epsilon_equals (const EulerAngles &e, Real epsilon) const |
| Determines whether this Euler angle object is equal to another within some tolerance epsilon. | |
| void | set (const Matrix3 *m) |
| Sets the object from a rotation matrix. | |
| void | set (const Quat *q) |
| Sets this object from a quaternion object. | |
| void | operator= (const EulerAngles &source) |
| Copies a Euler angle object. | |
| EulerAngles | operator * (const EulerAngles &e) const |
| Multiplies two Euler angle representations. | |
| void | operator *= (const EulerAngles &e) |
| Multiplies this Euler angle representation by another and stores the result in this. | |
| void | to_quat (Quat *q) const |
| Converts this Euler angle representation to a quaternion. | |
| void | to_matrix (Matrix3 *m) const |
| Converts this Euler angle representation to a rotation matrix. | |
| void | to_axis_angle (AAngle *a) const |
| Converts this Euler angle representation to a axis-angle representation. | |
| void | set_type (EulerAngleType type) |
| Changes the Euler angle representation. | |
| EulerAngleType | get_type () const |
| Gets the type of Euler angle. | |
Static Public Member Functions | |
| static bool | epsilon_equals (const EulerAngles &a1, const EulerAngles &a2, Real epsilon) |
| Determines whether two Euler angle objects are equal to within some tolerance epsilon. | |
Public Attributes | |
| Real | _alpha |
| Real | _beta |
| Real | _gamma |
Like the AAngle class, EulerAngles is a convenience class. It is not used internally within the simulator code. All code for converting to/from Euler angles and rotation matrices is contained within this class, as separate code is needed for each Euler angle type.
| EulerAngles::EulerAngles | ( | ) |
Default constructor.
Sets default Euler angle type to roll-pitch-yaw. alpha, beta, and gamma are set to zero.
| EulerAngles::EulerAngles | ( | EulerAngleType | type | ) |
Constructs an Euler angle object using the particular type.
alpha, beta, and gamma are set to zero.
| EulerAngles EulerAngles::operator * | ( | const EulerAngles & | e | ) | const |
Multiplies two Euler angle representations.
This has the effect of performing a rotation by a, then performing a rotation by this.
| void EulerAngles::operator *= | ( | const EulerAngles & | e | ) |
Multiplies this Euler angle representation by another and stores the result in this.
This has the effect of performing a rotation by a, then performing a rotation by this.
| void EulerAngles::to_quat | ( | Quat * | q | ) | const |
Converts this Euler angle representation to a quaternion.
| void EulerAngles::to_axis_angle | ( | AAngle * | a | ) | const |
Converts this Euler angle representation to a axis-angle representation.
1.5.1