|
BALL
1.5.0
|
#include <BALL/MATHS/quaternion.h>
Public Member Functions | |
Constructors and Destructors | |
| TQuaternion () | |
| TQuaternion (const TQuaternion &q) | |
| TQuaternion (const Eigen::Quaternion< T > &q) | |
| TQuaternion (const T &a, const T &b, const T &c, const T &d) | |
| TQuaternion (const TVector3< T > &axis, const T &angle) | |
| ~TQuaternion () | |
| void | clear () |
Assignment | |
| void | set (const TQuaternion &q) |
| void | set (const Eigen::Quaternion< T > &q) |
| void | set (const T &a, const T &b, const T &c, const T &d) |
| TQuaternion & | operator= (const TQuaternion &q) |
| TQuaternion & | operator= (const Eigen::Quaternion< T > &q) |
| bool | operator== (const TQuaternion< T > &q) |
| Equality operator Returns true if the given Quaternion q is equal to this. More... | |
| void | setIdentity () |
| TQuaternion< T > & | normalize () |
| void | swap (TQuaternion &q) |
| void | fromAxisAngle (const TVector3< T > &axis, const T &angle) |
| void | fromEulerAngles (const T &yaw, const T &pitch, const T &roll) |
| void | toAxisAngle (TVector3< T > &axis, T &angle) |
| void | toEulerAngles (T &yaw, T &pitch, T &roll) |
| void | get (TQuaternion &q) const |
| T | getAngle () const |
| TVector3< T > | getAxis () |
| TMatrix4x4< T > & | getRotationMatrix (TMatrix4x4< T > &m) const |
| TQuaternion | getInverse () const |
| TQuaternion | getConjugate () const |
Accessors | |
| T & | w () |
| const T & | w () const |
| T & | i () |
| const T & | i () const |
| T & | j () |
| const T & | j () const |
| T & | k () |
| const T & | k () const |
Debugging and Diagnostics | |
| void | dump (std::ostream &s=std::cout, Size depth=0) const |
Generic Quaternion Class.
Representing a rotation in three dimensional space.
Definition at line 23 of file quaternion.h.
| BALL::TQuaternion< T >::TQuaternion |
Default constructor. This method creates a new TQuaternion object. The quaternion is set to an identity quaternion.
Definition at line 294 of file quaternion.h.
| BALL::TQuaternion< T >::TQuaternion | ( | const TQuaternion< T > & | q | ) |
Copy constructor. Create a new TQuaternion object from another.
| TQuaternion | the TQuaternion object to be copied |
Definition at line 301 of file quaternion.h.
| BALL::TQuaternion< T >::TQuaternion | ( | const Eigen::Quaternion< T > & | q | ) |
Detailed constructor. Create a new TQuaternion object from an Eigen::Quaternion<T>.
| Eigen::Quaternion<T> |
Definition at line 307 of file quaternion.h.
| BALL::TQuaternion< T >::TQuaternion | ( | const T & | a, |
| const T & | b, | ||
| const T & | c, | ||
| const T & | d | ||
| ) |
Detailed constructor. Create a new TQuaternion object from four values of type T.
| w | assigned to the angular component w |
| i | assigned to the vector component i |
| j | assigned to the vector component j |
| k | assigned to the vector component k |
Definition at line 313 of file quaternion.h.
| BALL::TQuaternion< T >::TQuaternion | ( | const TVector3< T > & | axis, |
| const T & | angle | ||
| ) |
Detailed constructor. Create a new TQuaternion object from a variable of type TVector3 and an angle.
| axis | assigned to the axis |
| angle | assigned to the angle |
Definition at line 319 of file quaternion.h.
| BALL::TQuaternion< T >::~TQuaternion |
Destructor. Destructs the TQuaternion object. As there are no dynamic data structures, nothing happens.
Definition at line 326 of file quaternion.h.
| void BALL::TQuaternion< T >::clear |
Clear method. The values are set to the identity quaternion.
Definition at line 331 of file quaternion.h.
| void BALL::TQuaternion< T >::dump | ( | std::ostream & | s = std::cout, |
| Size | depth = 0 |
||
| ) | const |
Internal state dump. Dump the current internal state of {*this} to the output ostream s with dumping depth depth .
| s | - output stream where to output the internal state of {*this} |
| depth | - the dumping depth |
Definition at line 605 of file quaternion.h.
| void BALL::TQuaternion< T >::fromAxisAngle | ( | const TVector3< T > & | axis, |
| const T & | angle | ||
| ) |
Assign the TQuaternion from an rotation axis and an angle.
| axis | the rotation axis |
| angle | the rotation angle |
Definition at line 407 of file quaternion.h.
| void BALL::TQuaternion< T >::fromEulerAngles | ( | const T & | yaw, |
| const T & | pitch, | ||
| const T & | roll | ||
| ) |
Assign the TQuaternion from Euler angles. Assume the following rotation order: q' = roll( pitch( yaw(q) ) ).
| yaw | the rotation about the yaw axis z-axis() |
| pitch | the rotation about the pitch axis (y-axis) |
| roll | the nrotation about the roll axis (x-axis) |
Definition at line 419 of file quaternion.h.
| BALL_INLINE void BALL::TQuaternion< T >::get | ( | TQuaternion< T > & | q | ) | const |
Assign to another TQuaternion. Assigns the components to another TQuaternion.
| q | the TQuaternion to be assigned to |
Definition at line 488 of file quaternion.h.
| T BALL::TQuaternion< T >::getAngle |
Get the positive angle rotation.
Definition at line 494 of file quaternion.h.
| TVector3< T > BALL::TQuaternion< T >::getAxis |
Get the normalized direction vector of the rotation axis.
Definition at line 502 of file quaternion.h.
| BALL_INLINE TQuaternion< T > BALL::TQuaternion< T >::getConjugate |
Return the conjugate TQuaternion. (The axis components are negated.)
Definition at line 534 of file quaternion.h.
| BALL_INLINE TQuaternion< T > BALL::TQuaternion< T >::getInverse |
Get the inverse TQuaternion.
Definition at line 527 of file quaternion.h.
| TMatrix4x4< T > & BALL::TQuaternion< T >::getRotationMatrix | ( | TMatrix4x4< T > & | m | ) | const |
Get the rotation matrix.
| m | the matrix to compute from |
Definition at line 511 of file quaternion.h.
| T & BALL::TQuaternion< T >::i |
Get the axis component i.
Definition at line 558 of file quaternion.h.
| const T & BALL::TQuaternion< T >::i |
Get the constant axis component i.
Definition at line 552 of file quaternion.h.
| T & BALL::TQuaternion< T >::j |
Get the axis component j.
Definition at line 570 of file quaternion.h.
| const T & BALL::TQuaternion< T >::j |
Get the constant axis component j.
Definition at line 564 of file quaternion.h.
| T & BALL::TQuaternion< T >::k |
Get the axis component k.
Definition at line 582 of file quaternion.h.
| const T & BALL::TQuaternion< T >::k |
Get the constant axis component k.
Definition at line 576 of file quaternion.h.
| BALL_INLINE TQuaternion< T > & BALL::TQuaternion< T >::normalize |
Normalize the quaternion. The quaternion is scaled with its norm:
Definition at line 390 of file quaternion.h.
| BALL_INLINE TQuaternion< T > & BALL::TQuaternion< T >::operator= | ( | const Eigen::Quaternion< T > & | q | ) |
Assignment operator Assign the TQuaternion components from an Eigen::Quaternion.
Definition at line 360 of file quaternion.h.
| BALL_INLINE TQuaternion< T > & BALL::TQuaternion< T >::operator= | ( | const TQuaternion< T > & | q | ) |
Assignment operator. Assign the TQuaternion components form another TQuaternion.
Definition at line 368 of file quaternion.h.
| BALL_INLINE bool BALL::TQuaternion< T >::operator== | ( | const TQuaternion< T > & | q | ) |
Equality operator Returns true if the given Quaternion q is equal to this.
Definition at line 376 of file quaternion.h.
| void BALL::TQuaternion< T >::set | ( | const Eigen::Quaternion< T > & | q | ) |
Assign coefficients of q to this quaternion
| q | the Eigen::Quaternion<T> to copy coefficients from |
Definition at line 343 of file quaternion.h.
| BALL_INLINE void BALL::TQuaternion< T >::set | ( | const T & | a, |
| const T & | b, | ||
| const T & | c, | ||
| const T & | d | ||
| ) |
Assign the TQuaternion components.
| w | assigned to the angular component w |
| i | assigned to the vector component i |
| j | assigned to the vector component j |
| k | assigned to the vector component k |
Definition at line 350 of file quaternion.h.
| void BALL::TQuaternion< T >::set | ( | const TQuaternion< T > & | q | ) |
Assign coefficients of q to this quaternion
| q | the Quaternion to copy coefficients from |
Definition at line 337 of file quaternion.h.
| BALL_INLINE void BALL::TQuaternion< T >::setIdentity |
Set to an identity matrix. angular component w = 1; axis components i,j,k are set to 0;
Definition at line 383 of file quaternion.h.
| void BALL::TQuaternion< T >::swap | ( | TQuaternion< T > & | q | ) |
Swap the contents of two TQuaternion.
| q | the TQuaternion to swap contents with |
Definition at line 398 of file quaternion.h.
| void BALL::TQuaternion< T >::toAxisAngle | ( | TVector3< T > & | axis, |
| T & | angle | ||
| ) |
Assign the TQuaternion to an axis and an angle. the rotation axis is normalized.
| axis | the rotation axis |
| angle | the rotation angle |
Definition at line 441 of file quaternion.h.
| void BALL::TQuaternion< T >::toEulerAngles | ( | T & | yaw, |
| T & | pitch, | ||
| T & | roll | ||
| ) |
Assign the TQuaternion to Euler angles. Assume the following rotation order: q' = roll( pitch( yaw(q) ) ).
| yaw | the rotation about the yaw axis z-axis() |
| pitch | the rotation about the pitch axis (y-axis) |
| roll | the nrotation about the roll axis (x-axis) |
Definition at line 452 of file quaternion.h.
| T & BALL::TQuaternion< T >::w |
Get the angular component w.
Definition at line 546 of file quaternion.h.
| const T & BALL::TQuaternion< T >::w |
Get the constant angular component w.
Definition at line 540 of file quaternion.h.