SOFA API  6a688117
Open source framework for multi-physics simuation
sofa::helper::DualQuatCoord3< real > Class Template Reference

#include <DualQuat.h>

Public Member Functions

 DualQuatCoord3 (const Quat &Dual, const Quat &orient)
 
template<typename real2 >
 DualQuatCoord3 (const DualQuatCoord3< real2 > &c)
 
template<typename real2 >
 DualQuatCoord3 (const sofa::defaulttype::RigidCoord< 3, real2 > &c)
 
 DualQuatCoord3 ()
 
void clear ()
 
 ~DualQuatCoord3 ()
 
real * ptr ()
 
const real * ptr () const
 
void setTranslation (const Vec3 &p)
 
Vec3 getTranslation ()
 
Quat & getDual ()
 
Quat & getOrientation ()
 
const Quat & getDual () const
 
const Quat & getOrientation () const
 
real norm2 () const
 
real norm () const
 
void normalize ()
 
void invert ()
 
template<typename real2 >
void toMatrix (sofa::defaulttype::Mat< 3, 4, real2 > &m) const
 
template<typename real2 >
void toRotationMatrix (sofa::defaulttype::Mat< 3, 3, real2 > &m) const
 
Vec3 rotate (const Vec3 &v) const
 
Vec3 inverseRotate (const Vec3 &v) const
 
DualQuatCoord3< real > inverse ()
 
DualQuatCoord3< real > multRight (const DualQuatCoord3< real > &c) const
 
DualQuatCoord3< real > multLeft (const DualQuatCoord3< real > &c)
 
Vec3 pointToParent (const Vec3 &p)
 
Vec3 pointToChild (const Vec3 &v)
 
Vec3 vectorToChild (const Vec3 &v)
 
template<typename real2 >
void operator= (const DualQuatCoord3< real2 > &c)
 
template<typename real2 >
void operator= (const sofa::defaulttype::RigidCoord< 3, real2 > &c)
 
void operator= (const Vec3 &p)
 
void operator+= (const DualQuatCoord3< real > &a)
 
template<typename real2 >
void operator*= (real2 a)
 
template<typename real2 >
void operator/= (real2 a)
 
template<typename real2 >
DualQuatCoord3< real > operator* (real2 a) const
 
real operator* (const DualQuatCoord3< real > &a) const
 
DualQuatCoord3< real > operator+ (const sofa::defaulttype::Vec< 6, real > &a)
 
real & operator[] (int i)
 
const real & operator[] (int i) const
 
void velocity_getJ (sofa::defaulttype::Mat< 4, 3, real > &J0, sofa::defaulttype::Mat< 4, 3, real > &JE)
 
DualQuatCoord3< real > velocity_applyJ (const sofa::defaulttype::Vec< 6, real > &a)
 
sofa::defaulttype::Vec< 6, real > velocity_applyJT (const DualQuatCoord3< real > &dq)
 
void normalize_getJ (sofa::defaulttype::Mat< 4, 4, real > &J0, sofa::defaulttype::Mat< 4, 4, real > &JE)
 
DualQuatCoord3< real > normalize_applyJ (const DualQuatCoord3< real > &dq)
 
DualQuatCoord3< real > normalize_applyJT (const DualQuatCoord3< real > &dqn)
 
void normalize_getdJ (sofa::defaulttype::Mat< 4, 4, real > &dJ0, sofa::defaulttype::Mat< 4, 4, real > &dJE, const DualQuatCoord3< real > &dq)
 
void multRight_getJ (sofa::defaulttype::Mat< 4, 4, real > &J0, sofa::defaulttype::Mat< 4, 4, real > &JE)
 
void multLeft_getJ (sofa::defaulttype::Mat< 4, 4, real > &J0, sofa::defaulttype::Mat< 4, 4, real > &JE)
 
void pointToParent_getJ (sofa::defaulttype::Mat< 3, 4, real > &J0, sofa::defaulttype::Mat< 3, 4, real > &JE, const Vec3 &p)
 
Vec3 pointToParent_applyJ (const DualQuatCoord3< real > &dq, const Vec3 &p)
 
DualQuatCoord3< real > pointToParent_applyJT (const Vec3 &dP, const Vec3 &p)
 
sofa::defaulttype::Mat< 3, 4, real > rigid_applyH (const DualQuatCoord3< real > &dq)
 
sofa::defaulttype::Mat< 3, 3, real > rotation_applyH (const DualQuatCoord3< real > &dq)
 
DualQuatCoord3< real > rigid_applyHT (const sofa::defaulttype::Mat< 3, 4, real > &dR)
 
DualQuatCoord3< real > rotation_applyHT (const sofa::defaulttype::Mat< 3, 3, real > &dR)
 
sofa::defaulttype::Mat< 3, 8, real > pointToParent_applyH (const DualQuatCoord3< real > &dq, const Vec3 &p)
 
DualQuatCoord3< real > pointToParent_applyHT (const sofa::defaulttype::Mat< 3, 8, real > &dJ, const Vec3 &p)
 

Static Public Member Functions

static int max_size ()
 
static unsigned int size ()
 
static DualQuatCoord3< real > identity ()
 

Friends

std::ostream & operator<< (std::ostream &out, const DualQuatCoord3< real > &v)
 
std::istream & operator>> (std::istream &in, DualQuatCoord3< real > &v)
 

Constructor details

template<class real >
sofa::helper::DualQuatCoord3< real >::DualQuatCoord3 ( const Quat &  Dual,
const Quat &  orient 
)
inline
template<class real >
template<typename real2 >
sofa::helper::DualQuatCoord3< real >::DualQuatCoord3 ( const DualQuatCoord3< real2 > &  c)
inline
template<class real >
template<typename real2 >
sofa::helper::DualQuatCoord3< real >::DualQuatCoord3 ( const sofa::defaulttype::RigidCoord< 3, real2 > &  c)
inline
template<class real >
sofa::helper::DualQuatCoord3< real >::DualQuatCoord3 ( )
inline
template<class real >
sofa::helper::DualQuatCoord3< real >::~DualQuatCoord3 ( )
inline

Function details

template<class real >
void sofa::helper::DualQuatCoord3< real >::clear ( )
inline
template<class real >
Quat& sofa::helper::DualQuatCoord3< real >::getDual ( )
inline
template<class real >
const Quat& sofa::helper::DualQuatCoord3< real >::getDual ( ) const
inline
template<class real >
Quat& sofa::helper::DualQuatCoord3< real >::getOrientation ( )
inline
template<class real >
const Quat& sofa::helper::DualQuatCoord3< real >::getOrientation ( ) const
inline
template<class real >
Vec3 sofa::helper::DualQuatCoord3< real >::getTranslation ( )
inline
template<class real >
static DualQuatCoord3<real> sofa::helper::DualQuatCoord3< real >::identity ( )
inlinestatic
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::inverse ( )
template<typename real >
sofa::defaulttype::Vec< 3, real > sofa::helper::DualQuatCoord3< real >::inverseRotate ( const Vec3 &  v) const
template<typename real >
void sofa::helper::DualQuatCoord3< real >::invert ( )
template<class real >
static int sofa::helper::DualQuatCoord3< real >::max_size ( )
inlinestatic
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::multLeft ( const DualQuatCoord3< real > &  c)
template<typename real >
void sofa::helper::DualQuatCoord3< real >::multLeft_getJ ( sofa::defaulttype::Mat< 4, 4, real > &  J0,
sofa::defaulttype::Mat< 4, 4, real > &  JE 
)
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::multRight ( const DualQuatCoord3< real > &  c) const
template<typename real >
void sofa::helper::DualQuatCoord3< real >::multRight_getJ ( sofa::defaulttype::Mat< 4, 4, real > &  J0,
sofa::defaulttype::Mat< 4, 4, real > &  JE 
)
template<class real >
real sofa::helper::DualQuatCoord3< real >::norm ( ) const
inline
template<typename real >
real sofa::helper::DualQuatCoord3< real >::norm2 ( ) const
template<typename real >
void sofa::helper::DualQuatCoord3< real >::normalize ( )
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::normalize_applyJ ( const DualQuatCoord3< real > &  dq)
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::normalize_applyJT ( const DualQuatCoord3< real > &  dqn)
template<typename real >
void sofa::helper::DualQuatCoord3< real >::normalize_getdJ ( sofa::defaulttype::Mat< 4, 4, real > &  dJ0,
sofa::defaulttype::Mat< 4, 4, real > &  dJE,
const DualQuatCoord3< real > &  dq 
)
template<typename real >
void sofa::helper::DualQuatCoord3< real >::normalize_getJ ( sofa::defaulttype::Mat< 4, 4, real > &  J0,
sofa::defaulttype::Mat< 4, 4, real > &  JE 
)
template<class real >
template<typename real2 >
DualQuatCoord3<real> sofa::helper::DualQuatCoord3< real >::operator* ( real2  a) const
inline
template<class real >
real sofa::helper::DualQuatCoord3< real >::operator* ( const DualQuatCoord3< real > &  a) const
inline
template<class real >
template<typename real2 >
void sofa::helper::DualQuatCoord3< real >::operator*= ( real2  a)
inline
template<class real >
DualQuatCoord3<real> sofa::helper::DualQuatCoord3< real >::operator+ ( const sofa::defaulttype::Vec< 6, real > &  a)
inline
template<class real >
void sofa::helper::DualQuatCoord3< real >::operator+= ( const DualQuatCoord3< real > &  a)
inline
template<class real >
template<typename real2 >
void sofa::helper::DualQuatCoord3< real >::operator/= ( real2  a)
inline
template<class real >
template<typename real2 >
void sofa::helper::DualQuatCoord3< real >::operator= ( const DualQuatCoord3< real2 > &  c)
inline
template<class real >
template<typename real2 >
void sofa::helper::DualQuatCoord3< real >::operator= ( const sofa::defaulttype::RigidCoord< 3, real2 > &  c)
inline
template<class real >
void sofa::helper::DualQuatCoord3< real >::operator= ( const Vec3 &  p)
inline
template<class real >
real& sofa::helper::DualQuatCoord3< real >::operator[] ( int  i)
inline
template<class real >
const real& sofa::helper::DualQuatCoord3< real >::operator[] ( int  i) const
inline
template<typename real >
sofa::defaulttype::Vec< 3, real > sofa::helper::DualQuatCoord3< real >::pointToChild ( const Vec3 &  v)
template<typename real >
sofa::defaulttype::Vec< 3, real > sofa::helper::DualQuatCoord3< real >::pointToParent ( const Vec3 &  p)
template<typename real >
sofa::defaulttype::Mat< 3, 8, real > sofa::helper::DualQuatCoord3< real >::pointToParent_applyH ( const DualQuatCoord3< real > &  dq,
const Vec3 &  p 
)
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::pointToParent_applyHT ( const sofa::defaulttype::Mat< 3, 8, real > &  dJ,
const Vec3 &  p 
)
template<typename real >
sofa::defaulttype::Vec< 3, real > sofa::helper::DualQuatCoord3< real >::pointToParent_applyJ ( const DualQuatCoord3< real > &  dq,
const Vec3 &  p 
)
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::pointToParent_applyJT ( const Vec3 &  dP,
const Vec3 &  p 
)
template<typename real >
void sofa::helper::DualQuatCoord3< real >::pointToParent_getJ ( sofa::defaulttype::Mat< 3, 4, real > &  J0,
sofa::defaulttype::Mat< 3, 4, real > &  JE,
const Vec3 &  p 
)
template<class real >
real* sofa::helper::DualQuatCoord3< real >::ptr ( )
inline
template<class real >
const real* sofa::helper::DualQuatCoord3< real >::ptr ( ) const
inline
template<typename real >
sofa::defaulttype::Mat< 3, 4, real > sofa::helper::DualQuatCoord3< real >::rigid_applyH ( const DualQuatCoord3< real > &  dq)
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::rigid_applyHT ( const sofa::defaulttype::Mat< 3, 4, real > &  dR)
template<typename real >
sofa::defaulttype::Vec< 3, real > sofa::helper::DualQuatCoord3< real >::rotate ( const Vec3 &  v) const
template<typename real >
sofa::defaulttype::Mat< 3, 3, real > sofa::helper::DualQuatCoord3< real >::rotation_applyH ( const DualQuatCoord3< real > &  dq)
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::rotation_applyHT ( const sofa::defaulttype::Mat< 3, 3, real > &  dR)
template<class real >
void sofa::helper::DualQuatCoord3< real >::setTranslation ( const Vec3 &  p)
inline
template<class real >
static unsigned int sofa::helper::DualQuatCoord3< real >::size ( void  )
inlinestatic
template<typename real >
template<typename real2 >
void sofa::helper::DualQuatCoord3< real >::toMatrix ( sofa::defaulttype::Mat< 3, 4, real2 > &  m) const
template<class real >
template<typename real2 >
void sofa::helper::DualQuatCoord3< real >::toRotationMatrix ( sofa::defaulttype::Mat< 3, 3, real2 > &  m) const
inline
template<typename real >
sofa::defaulttype::Vec< 3, real > sofa::helper::DualQuatCoord3< real >::vectorToChild ( const Vec3 &  v)
template<typename real >
DualQuatCoord3< real > sofa::helper::DualQuatCoord3< real >::velocity_applyJ ( const sofa::defaulttype::Vec< 6, real > &  a)
template<typename real >
sofa::defaulttype::Vec< 6, real > sofa::helper::DualQuatCoord3< real >::velocity_applyJT ( const DualQuatCoord3< real > &  dq)
template<typename real >
void sofa::helper::DualQuatCoord3< real >::velocity_getJ ( sofa::defaulttype::Mat< 4, 3, real > &  J0,
sofa::defaulttype::Mat< 4, 3, real > &  JE 
)

Related details

template<class real >
std::ostream& operator<< ( std::ostream &  out,
const DualQuatCoord3< real > &  v 
)
friend
template<class real >
std::istream& operator>> ( std::istream &  in,
DualQuatCoord3< real > &  v 
)
friend