16 #ifndef __FEULERPARA_H_ 17 #define __FEULERPARA_H_ 75 void set(
const fVec3& v,
double s) {
80 void set(
double s1,
double s2,
double s3,
double s4) {
81 m_vec.set(s1, s2, s3);
87 void set(
const class fMat33&);
fVec4 operator=(const fVec4 &vec)
fEulerPara(double s1, double s2, double s3, double s4)
Constructor specifying the four elements; scalar part is s4.
double Ang() const
Access the scalar part (cos(theta/2))
const fVec3 & Axis() const
Access the vector part (a*sin(theta/2))
fVec3 epdot2angvel(const fEulerPara &_epara, const fEulerPara &_edot)
fVec3 epddot2angacc(const fEulerPara &_e, const fEulerPara &_de, const fEulerPara &_dde)
fEulerPara(const fVec3 &v, double s)
Constructor specifying vector and scalar parts.
friend fVec3 & Axis(fEulerPara &ep)
Access the vector part (a*sin(theta/2))
fEulerPara()
Default constructor.
fMat33 ep2mat(const fEulerPara &_epara)
friend double operator*(const fVec4 &, const fVec4 &)
friend double & Ang(fEulerPara &ep)
Access the scalar part (cos(theta/2))
fVec3 & Axis()
Access the vector part (a*sin(theta/2))
double & Ang()
Access the scalar part (cos(theta/2))
friend fVec4 operator-(const fVec4 &)
fEulerPara angvel2epdot(const fEulerPara &_epara, const fVec3 &vel)
fEulerPara mat2ep(const fMat33 &_mat)
void identity()
Set identity (no rotation).