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.