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

Public Member Functions | |
| double & | Ang () |
| Access the scalar part (cos(theta/2)) More... | |
| double | Ang () const |
| Access the scalar part (cos(theta/2)) More... | |
| void | angvel2epdot (const fEulerPara &_ep, const fVec3 &_omega) |
| Convert angular velocity to Euler parameter veclotiy. More... | |
| fVec3 & | Axis () |
| Access the vector part (a*sin(theta/2)) More... | |
| const fVec3 & | Axis () const |
| Access the vector part (a*sin(theta/2)) More... | |
| fEulerPara () | |
| Default constructor. More... | |
| fEulerPara (const fVec3 &v, double s) | |
| Constructor specifying vector and scalar parts. More... | |
| fEulerPara (double s1, double s2, double s3, double s4) | |
Constructor specifying the four elements; scalar part is s4. More... | |
| void | identity () |
| Set identity (no rotation). More... | |
| void | interpolate (const fEulerPara &ep1, const fEulerPara &ep2, double t) |
SLERP interpolation: interpolates ep1 and ep2 into t:(1-t) More... | |
| fEulerPara | operator= (const fEulerPara &) |
| Assignment operator. More... | |
| fEulerPara | operator= (const fMat33 &) |
| Assignment operator. More... | |
| double | rotation (const fEulerPara &ep0, const fVec3 &s) |
| returns the rotation angle that makes the orientation closest to ep0 by rotating around axis s More... | |
| void | set (const fVec3 &v, double s) |
| Set the elements. More... | |
| void | set (double s1, double s2, double s3, double s4) |
Set the elements; scalar part is s4. More... | |
| void | set (const fEulerPara &) |
| Copy from a reference. More... | |
| void | set (const class fMat33 &) |
| Set from an orientation matrix. More... | |
| void | unit () |
| Convert to unit vector. More... | |
| ~fEulerPara () | |
Public Member Functions inherited from fVec4 | |
| void | add (const fVec4 &vec1, const fVec4 &vec2) |
| void | cross (const fVec4 &vec1, const fVec4 &vec2) |
| fVec4 () | |
| fVec4 (const fVec4 &v) | |
| fVec4 (const fVec3 &v) | |
| void | mul (fVec4 &_vec, double d) |
| double & | operator() (int i) |
| double | operator() (int i) const |
| void | operator*= (double) |
| void | operator+= (const fVec4 &) |
| void | operator-= (const fVec4 &) |
| void | operator/= (double) |
| fVec4 | operator= (const fVec4 &vec) |
| void | operator= (double d) |
| double & | Scalar () |
| void | set (const fVec3 &v, double s) |
| void | set (double s1, double s2, double s3, double s4) |
| void | sub (const fVec4 &vec1, const fVec4 &vec2) |
| fVec3 & | Vec () |
| void | zero () |
| ~fVec4 () | |
Friends | |
| double & | Ang (fEulerPara &ep) |
| Access the scalar part (cos(theta/2)) More... | |
| fEulerPara | angvel2epdot (const fEulerPara &epara, const fVec3 &vel) |
| Convert angular velocity to Euler parameter veclotiy. More... | |
| fVec3 & | Axis (fEulerPara &ep) |
| Access the vector part (a*sin(theta/2)) More... | |
| fMat33 | ep2mat (const fEulerPara &) |
| Convert an Euler parameter representation to matrix. More... | |
| fVec3 | epddot2angacc (const fEulerPara &e, const fEulerPara &de, const fEulerPara &dde) |
| Convert Euler parameter acceleration to angular acceleration. More... | |
| fVec3 | epdot2angvel (const fEulerPara &epara, const fEulerPara &edot) |
| Convert Euler parameter velocity to angular velocity. More... | |
| fEulerPara | mat2ep (const fMat33 &) |
| Convert an orientation matrix to Euler parameters. More... | |
| fEulerPara | operator* (double, const fEulerPara &) |
| Multiply with a scalar. More... | |
| fEulerPara | operator- (const fEulerPara &) |
| Convert to the negative vector (represents the same orientation). More... | |
| fEulerPara | unit (const fEulerPara &) |
| Convert to unit vector. More... | |
Additional Inherited Members | |
Protected Attributes inherited from fVec4 | |
| double | m_scalar |
| fVec3 | m_vec |
| double | temp |
Euler parameter class.
Euler parameter class, based on 4-element vector class.
Definition at line 28 of file fEulerPara.h.
|
inline |
Default constructor.
Definition at line 33 of file fEulerPara.h.
|
inline |
Definition at line 35 of file fEulerPara.h.
Constructor specifying vector and scalar parts.
Definition at line 38 of file fEulerPara.h.
|
inline |
Constructor specifying the four elements; scalar part is s4.
Definition at line 42 of file fEulerPara.h.
|
inline |
Access the scalar part (cos(theta/2))
Definition at line 51 of file fEulerPara.h.
|
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.
|
inline |
Access the vector part (a*sin(theta/2))
Definition at line 63 of file fEulerPara.h.
Access the vector part (a*sin(theta/2))
Definition at line 67 of file fEulerPara.h.
|
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.
Set the elements.
Definition at line 75 of file fEulerPara.h.
|
inline |
Set the elements; scalar part is s4.
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::unit | ( | ) |
Convert to unit vector.
Definition at line 297 of file fEulerPara.cpp.
|
friend |
Access the scalar part (cos(theta/2))
Definition at line 47 of file fEulerPara.h.
|
friend |
Convert angular velocity to Euler parameter veclotiy.
Definition at line 269 of file fEulerPara.cpp.
|
friend |
Access the vector part (a*sin(theta/2))
Definition at line 59 of file fEulerPara.h.
|
friend |
Convert an Euler parameter representation to matrix.
Definition at line 225 of file fEulerPara.cpp.
|
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.
|
friend |
Convert Euler parameter velocity to angular velocity.
Definition at line 278 of file fEulerPara.cpp.
|
friend |
Convert an orientation matrix to Euler parameters.
Definition at line 119 of file fEulerPara.cpp.
|
friend |
Multiply with a scalar.
Definition at line 261 of file fEulerPara.cpp.
|
friend |
Convert to the negative vector (represents the same orientation).
Definition at line 310 of file fEulerPara.cpp.
|
friend |
Convert to unit vector.
Definition at line 303 of file fEulerPara.cpp.