Euler parameter class. More...
#include <fEulerPara.h>

Public Member Functions | |
| double & | Ang () |
| Access the scalar part (cos(theta/2)) | |
| double | Ang () const |
| Access the scalar part (cos(theta/2)) | |
| void | angvel2epdot (const fEulerPara &_ep, const fVec3 &_omega) |
| Convert angular velocity to Euler parameter veclotiy. | |
| fVec3 & | Axis () |
| Access the vector part (a*sin(theta/2)) | |
| const fVec3 & | Axis () const |
| Access the vector part (a*sin(theta/2)) | |
| fEulerPara () | |
| Default constructor. | |
| fEulerPara (const fVec3 &v, double s) | |
| Constructor specifying vector and scalar parts. | |
| fEulerPara (double s1, double s2, double s3, double s4) | |
Constructor specifying the four elements; scalar part is s4. | |
| void | identity () |
| Set identity (no rotation). | |
| void | interpolate (const fEulerPara &ep1, const fEulerPara &ep2, double t) |
SLERP interpolation: interpolates ep1 and ep2 into t:(1-t) | |
| fEulerPara | operator= (const fEulerPara &) |
| Assignment operator. | |
| fEulerPara | operator= (const fMat33 &) |
| Assignment operator. | |
| double | rotation (const fEulerPara &ep0, const fVec3 &s) |
| returns the rotation angle that makes the orientation closest to ep0 by rotating around axis s | |
| void | set (const fVec3 &v, double s) |
| Set the elements. | |
| void | set (double s1, double s2, double s3, double s4) |
Set the elements; scalar part is s4. | |
| void | set (const fEulerPara &) |
| Copy from a reference. | |
| void | set (const class fMat33 &) |
| Set from an orientation matrix. | |
| void | unit () |
| Convert to unit vector. | |
| ~fEulerPara () | |
Friends | |
| double & | Ang (fEulerPara &ep) |
| Access the scalar part (cos(theta/2)) | |
| fEulerPara | angvel2epdot (const fEulerPara &epara, const fVec3 &vel) |
| Convert angular velocity to Euler parameter veclotiy. | |
| fVec3 & | Axis (fEulerPara &ep) |
| Access the vector part (a*sin(theta/2)) | |
| fMat33 | ep2mat (const fEulerPara &) |
| Convert an Euler parameter representation to matrix. | |
| fVec3 | epddot2angacc (const fEulerPara &e, const fEulerPara &de, const fEulerPara &dde) |
| Convert Euler parameter acceleration to angular acceleration. | |
| fVec3 | epdot2angvel (const fEulerPara &epara, const fEulerPara &edot) |
| Convert Euler parameter velocity to angular velocity. | |
| fEulerPara | mat2ep (const fMat33 &) |
| Convert an orientation matrix to Euler parameters. | |
| fEulerPara | operator* (double, const fEulerPara &) |
| Multiply with a scalar. | |
| fEulerPara | operator- (const fEulerPara &) |
| Convert to the negative vector (represents the same orientation). | |
| fEulerPara | unit (const fEulerPara &) |
| Convert to unit vector. | |
Euler parameter class.
Euler parameter class, based on 4-element vector class.
Definition at line 28 of file fEulerPara.h.
| fEulerPara::fEulerPara | ( | ) | [inline] |
Default constructor.
Definition at line 33 of file fEulerPara.h.
| fEulerPara::~fEulerPara | ( | ) | [inline] |
Definition at line 35 of file fEulerPara.h.
| fEulerPara::fEulerPara | ( | const fVec3 & | v, |
| double | s | ||
| ) | [inline] |
Constructor specifying vector and scalar parts.
Definition at line 38 of file fEulerPara.h.
| fEulerPara::fEulerPara | ( | double | s1, |
| double | s2, | ||
| double | s3, | ||
| double | s4 | ||
| ) | [inline] |
Constructor specifying the four elements; scalar part is s4.
Definition at line 42 of file fEulerPara.h.
| double& fEulerPara::Ang | ( | ) | [inline] |
Access the scalar part (cos(theta/2))
Definition at line 51 of file fEulerPara.h.
| double fEulerPara::Ang | ( | ) | const [inline] |
Access the scalar part (cos(theta/2))
Definition at line 55 of file fEulerPara.h.
| void fEulerPara::angvel2epdot | ( | const fEulerPara & | _ep, |
| const fVec3 & | _omega | ||
| ) |
Convert angular velocity to Euler parameter veclotiy.
Convert angular velocity to Euler parameter veclotiy.
| [in] | _ep | current orientation |
| [in] | _omega | angular velocity |
Definition at line 106 of file fEulerPara.cpp.
| fVec3& fEulerPara::Axis | ( | ) | [inline] |
Access the vector part (a*sin(theta/2))
Definition at line 63 of file fEulerPara.h.
| const fVec3& fEulerPara::Axis | ( | ) | const [inline] |
Access the vector part (a*sin(theta/2))
Definition at line 67 of file fEulerPara.h.
| void fEulerPara::identity | ( | ) | [inline] |
Set identity (no rotation).
Definition at line 90 of file fEulerPara.h.
| void fEulerPara::interpolate | ( | const fEulerPara & | ep1, |
| const fEulerPara & | ep2, | ||
| double | t | ||
| ) |
SLERP interpolation: interpolates ep1 and ep2 into t:(1-t)
Definition at line 19 of file fEulerPara.cpp.
| fEulerPara fEulerPara::operator= | ( | const fEulerPara & | ep | ) |
Assignment operator.
Definition at line 245 of file fEulerPara.cpp.
| fEulerPara fEulerPara::operator= | ( | const fMat33 & | mat | ) |
Assignment operator.
Definition at line 252 of file fEulerPara.cpp.
| double fEulerPara::rotation | ( | const fEulerPara & | ep0, |
| const fVec3 & | s | ||
| ) |
returns the rotation angle that makes the orientation closest to ep0 by rotating around axis s
Definition at line 318 of file fEulerPara.cpp.
| void fEulerPara::set | ( | const fVec3 & | v, |
| double | s | ||
| ) | [inline] |
| void fEulerPara::set | ( | double | s1, |
| double | s2, | ||
| double | s3, | ||
| double | s4 | ||
| ) | [inline] |
Set the elements; scalar part is s4.
Reimplemented from fVec4.
Definition at line 80 of file fEulerPara.h.
| void fEulerPara::set | ( | const fEulerPara & | _ep | ) |
Copy from a reference.
Definition at line 50 of file fEulerPara.cpp.
| void fEulerPara::set | ( | const class fMat33 & | ) |
Set from an orientation matrix.
| void fEulerPara::unit | ( | ) |
Convert to unit vector.
Definition at line 297 of file fEulerPara.cpp.
| double& Ang | ( | fEulerPara & | ep | ) | [friend] |
Access the scalar part (cos(theta/2))
Definition at line 47 of file fEulerPara.h.
| fEulerPara angvel2epdot | ( | const fEulerPara & | epara, |
| const fVec3 & | vel | ||
| ) | [friend] |
Convert angular velocity to Euler parameter veclotiy.
Definition at line 269 of file fEulerPara.cpp.
| fVec3& Axis | ( | fEulerPara & | ep | ) | [friend] |
Access the vector part (a*sin(theta/2))
Definition at line 59 of file fEulerPara.h.
| fMat33 ep2mat | ( | const fEulerPara & | _epara | ) | [friend] |
Convert an Euler parameter representation to matrix.
Definition at line 225 of file fEulerPara.cpp.
| fVec3 epddot2angacc | ( | const fEulerPara & | e, |
| const fEulerPara & | de, | ||
| const fEulerPara & | dde | ||
| ) | [friend] |
Convert Euler parameter acceleration to angular acceleration.
Convert Euler parameter acceleration to angular acceleration.
| [in] | e | current orientation (Euler parameters) |
| [in] | de | current Euler parameter velocity |
| [in] | dde | current Euler parameter acceleration |
Definition at line 287 of file fEulerPara.cpp.
| fVec3 epdot2angvel | ( | const fEulerPara & | epara, |
| const fEulerPara & | edot | ||
| ) | [friend] |
Convert Euler parameter velocity to angular velocity.
Definition at line 278 of file fEulerPara.cpp.
| fEulerPara mat2ep | ( | const fMat33 & | _mat | ) | [friend] |
Convert an orientation matrix to Euler parameters.
Definition at line 119 of file fEulerPara.cpp.
| fEulerPara operator* | ( | double | d, |
| const fEulerPara & | ep | ||
| ) | [friend] |
Multiply with a scalar.
Definition at line 261 of file fEulerPara.cpp.
| fEulerPara operator- | ( | const fEulerPara & | _ep | ) | [friend] |
Convert to the negative vector (represents the same orientation).
Definition at line 310 of file fEulerPara.cpp.
| fEulerPara unit | ( | const fEulerPara & | ep | ) | [friend] |
Convert to unit vector.
Definition at line 303 of file fEulerPara.cpp.