Public Member Functions | Friends | List of all members
fEulerPara Class Reference

Euler parameter class. More...

#include <fEulerPara.h>

Inheritance diagram for fEulerPara:
Inheritance graph
[legend]

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...
 
fVec3Axis ()
 Access the vector part (a*sin(theta/2)) More...
 
const fVec3Axis () 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)
 
fVec3Vec ()
 
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...
 
fVec3Axis (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
 

Detailed Description

Euler parameter class.

Euler parameter class, based on 4-element vector class.

Definition at line 28 of file fEulerPara.h.

Constructor & Destructor Documentation

◆ fEulerPara() [1/3]

fEulerPara::fEulerPara ( )
inline

Default constructor.

Definition at line 33 of file fEulerPara.h.

◆ ~fEulerPara()

fEulerPara::~fEulerPara ( )
inline

Definition at line 35 of file fEulerPara.h.

◆ fEulerPara() [2/3]

fEulerPara::fEulerPara ( const fVec3 v,
double  s 
)
inline

Constructor specifying vector and scalar parts.

Definition at line 38 of file fEulerPara.h.

◆ fEulerPara() [3/3]

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.

Member Function Documentation

◆ Ang() [1/2]

double& fEulerPara::Ang ( )
inline

Access the scalar part (cos(theta/2))

Definition at line 51 of file fEulerPara.h.

◆ Ang() [2/2]

double fEulerPara::Ang ( ) const
inline

Access the scalar part (cos(theta/2))

Definition at line 55 of file fEulerPara.h.

◆ angvel2epdot()

void fEulerPara::angvel2epdot ( const fEulerPara _ep,
const fVec3 _omega 
)

Convert angular velocity to Euler parameter veclotiy.

Convert angular velocity to Euler parameter veclotiy.

Parameters
[in]_epcurrent orientation
[in]_omegaangular velocity

Definition at line 106 of file fEulerPara.cpp.

◆ Axis() [1/2]

fVec3& fEulerPara::Axis ( )
inline

Access the vector part (a*sin(theta/2))

Definition at line 63 of file fEulerPara.h.

◆ Axis() [2/2]

const fVec3& fEulerPara::Axis ( ) const
inline

Access the vector part (a*sin(theta/2))

Definition at line 67 of file fEulerPara.h.

◆ identity()

void fEulerPara::identity ( )
inline

Set identity (no rotation).

Definition at line 90 of file fEulerPara.h.

◆ interpolate()

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.

◆ operator=() [1/2]

fEulerPara fEulerPara::operator= ( const fEulerPara ep)

Assignment operator.

Definition at line 245 of file fEulerPara.cpp.

◆ operator=() [2/2]

fEulerPara fEulerPara::operator= ( const fMat33 mat)

Assignment operator.

Definition at line 252 of file fEulerPara.cpp.

◆ rotation()

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() [1/4]

void fEulerPara::set ( const fVec3 v,
double  s 
)
inline

Set the elements.

Definition at line 75 of file fEulerPara.h.

◆ set() [2/4]

void fEulerPara::set ( double  s1,
double  s2,
double  s3,
double  s4 
)
inline

Set the elements; scalar part is s4.

Definition at line 80 of file fEulerPara.h.

◆ set() [3/4]

void fEulerPara::set ( const fEulerPara _ep)

Copy from a reference.

Definition at line 50 of file fEulerPara.cpp.

◆ set() [4/4]

void fEulerPara::set ( const class fMat33 )

Set from an orientation matrix.

◆ unit()

void fEulerPara::unit ( )

Convert to unit vector.

Definition at line 297 of file fEulerPara.cpp.

Friends And Related Function Documentation

◆ Ang

double& Ang ( fEulerPara ep)
friend

Access the scalar part (cos(theta/2))

Definition at line 47 of file fEulerPara.h.

◆ angvel2epdot

fEulerPara angvel2epdot ( const fEulerPara epara,
const fVec3 vel 
)
friend

Convert angular velocity to Euler parameter veclotiy.

Definition at line 269 of file fEulerPara.cpp.

◆ Axis

fVec3& Axis ( fEulerPara ep)
friend

Access the vector part (a*sin(theta/2))

Definition at line 59 of file fEulerPara.h.

◆ ep2mat

fMat33 ep2mat ( const fEulerPara _epara)
friend

Convert an Euler parameter representation to matrix.

Definition at line 225 of file fEulerPara.cpp.

◆ epddot2angacc

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.

Parameters
[in]ecurrent orientation (Euler parameters)
[in]decurrent Euler parameter velocity
[in]ddecurrent Euler parameter acceleration

Definition at line 287 of file fEulerPara.cpp.

◆ epdot2angvel

fVec3 epdot2angvel ( const fEulerPara epara,
const fEulerPara edot 
)
friend

Convert Euler parameter velocity to angular velocity.

Definition at line 278 of file fEulerPara.cpp.

◆ mat2ep

fEulerPara mat2ep ( const fMat33 _mat)
friend

Convert an orientation matrix to Euler parameters.

Definition at line 119 of file fEulerPara.cpp.

◆ operator*

fEulerPara operator* ( double  d,
const fEulerPara ep 
)
friend

Multiply with a scalar.

Definition at line 261 of file fEulerPara.cpp.

◆ operator-

fEulerPara operator- ( const fEulerPara _ep)
friend

Convert to the negative vector (represents the same orientation).

Definition at line 310 of file fEulerPara.cpp.

◆ unit

fEulerPara unit ( const fEulerPara ep)
friend

Convert to unit vector.

Definition at line 303 of file fEulerPara.cpp.


The documentation for this class was generated from the following files:


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Sep 8 2022 02:24:07