#include <DualQuat.h>
Public Member Functions | |
DualQuatCoord3 (const Quat &Dual, const Quat &orient) | |
template<typename real2 > | |
DualQuatCoord3 (const DualQuatCoord3< real2 > &c) | |
DualQuatCoord3 (const Pos &p, const sofa::type::Quat< real > &q) | |
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 (type::Mat< 3, 4, real2 > &m) const |
template<typename real2 > | |
void | toRotationMatrix (type::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) |
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 type::Vec< 6, real > &a) |
real & | operator[] (int i) |
const real & | operator[] (int i) const |
void | velocity_getJ (type::Mat< 4, 3, real > &J0, type::Mat< 4, 3, real > &JE) |
DualQuatCoord3< real > | velocity_applyJ (const type::Vec< 6, real > &a) |
type::Vec< 6, real > | velocity_applyJT (const DualQuatCoord3< real > &dq) |
void | normalize_getJ (type::Mat< 4, 4, real > &J0, type::Mat< 4, 4, real > &JE) |
DualQuatCoord3< real > | normalize_applyJ (const DualQuatCoord3< real > &dq) |
DualQuatCoord3< real > | normalize_applyJT (const DualQuatCoord3< real > &dqn) |
void | normalize_getdJ (type::Mat< 4, 4, real > &dJ0, type::Mat< 4, 4, real > &dJE, const DualQuatCoord3< real > &dq) |
void | multRight_getJ (type::Mat< 4, 4, real > &J0, type::Mat< 4, 4, real > &JE) |
void | multLeft_getJ (type::Mat< 4, 4, real > &J0, type::Mat< 4, 4, real > &JE) |
void | pointToParent_getJ (type::Mat< 3, 4, real > &J0, type::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) |
type::Mat< 3, 4, real > | rigid_applyH (const DualQuatCoord3< real > &dq) |
type::Mat< 3, 3, real > | rotation_applyH (const DualQuatCoord3< real > &dq) |
DualQuatCoord3< real > | rigid_applyHT (const type::Mat< 3, 4, real > &dR) |
DualQuatCoord3< real > | rotation_applyHT (const type::Mat< 3, 3, real > &dR) |
type::Mat< 3, 8, real > | pointToParent_applyH (const DualQuatCoord3< real > &dq, const Vec3 &p) |
DualQuatCoord3< real > | pointToParent_applyHT (const type::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) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::inverse |
type::Vec< 3, real > sofa::type::DualQuatCoord3< real >::inverseRotate | ( | const Vec3 & | v | ) | const |
void sofa::type::DualQuatCoord3< real >::invert |
|
inlinestatic |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::multLeft | ( | const DualQuatCoord3< real > & | c | ) |
void sofa::type::DualQuatCoord3< real >::multLeft_getJ | ( | type::Mat< 4, 4, real > & | J0, |
type::Mat< 4, 4, real > & | JE | ||
) |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::multRight | ( | const DualQuatCoord3< real > & | c | ) | const |
void sofa::type::DualQuatCoord3< real >::multRight_getJ | ( | type::Mat< 4, 4, real > & | J0, |
type::Mat< 4, 4, real > & | JE | ||
) |
|
inline |
real sofa::type::DualQuatCoord3< real >::norm2 |
void sofa::type::DualQuatCoord3< real >::normalize |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::normalize_applyJ | ( | const DualQuatCoord3< real > & | dq | ) |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::normalize_applyJT | ( | const DualQuatCoord3< real > & | dqn | ) |
void sofa::type::DualQuatCoord3< real >::normalize_getdJ | ( | type::Mat< 4, 4, real > & | dJ0, |
type::Mat< 4, 4, real > & | dJE, | ||
const DualQuatCoord3< real > & | dq | ||
) |
void sofa::type::DualQuatCoord3< real >::normalize_getJ | ( | type::Mat< 4, 4, real > & | J0, |
type::Mat< 4, 4, real > & | JE | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
type::Vec< 3, real > sofa::type::DualQuatCoord3< real >::pointToChild | ( | const Vec3 & | v | ) |
type::Vec< 3, real > sofa::type::DualQuatCoord3< real >::pointToParent | ( | const Vec3 & | p | ) |
type::Mat< 3, 8, real > sofa::type::DualQuatCoord3< real >::pointToParent_applyH | ( | const DualQuatCoord3< real > & | dq, |
const Vec3 & | p | ||
) |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::pointToParent_applyHT | ( | const type::Mat< 3, 8, real > & | dJ, |
const Vec3 & | p | ||
) |
type::Vec< 3, real > sofa::type::DualQuatCoord3< real >::pointToParent_applyJ | ( | const DualQuatCoord3< real > & | dq, |
const Vec3 & | p | ||
) |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::pointToParent_applyJT | ( | const Vec3 & | dP, |
const Vec3 & | p | ||
) |
void sofa::type::DualQuatCoord3< real >::pointToParent_getJ | ( | type::Mat< 3, 4, real > & | J0, |
type::Mat< 3, 4, real > & | JE, | ||
const Vec3 & | p | ||
) |
|
inline |
|
inline |
type::Mat< 3, 4, real > sofa::type::DualQuatCoord3< real >::rigid_applyH | ( | const DualQuatCoord3< real > & | dq | ) |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::rigid_applyHT | ( | const type::Mat< 3, 4, real > & | dR | ) |
type::Vec< 3, real > sofa::type::DualQuatCoord3< real >::rotate | ( | const Vec3 & | v | ) | const |
type::Mat< 3, 3, real > sofa::type::DualQuatCoord3< real >::rotation_applyH | ( | const DualQuatCoord3< real > & | dq | ) |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::rotation_applyHT | ( | const type::Mat< 3, 3, real > & | dR | ) |
|
inline |
|
inlinestatic |
void sofa::type::DualQuatCoord3< real >::toMatrix | ( | type::Mat< 3, 4, real2 > & | m | ) | const |
|
inline |
type::Vec< 3, real > sofa::type::DualQuatCoord3< real >::vectorToChild | ( | const Vec3 & | v | ) |
DualQuatCoord3< real > sofa::type::DualQuatCoord3< real >::velocity_applyJ | ( | const type::Vec< 6, real > & | a | ) |
type::Vec< 6, real > sofa::type::DualQuatCoord3< real >::velocity_applyJT | ( | const DualQuatCoord3< real > & | dq | ) |
void sofa::type::DualQuatCoord3< real >::velocity_getJ | ( | type::Mat< 4, 3, real > & | J0, |
type::Mat< 4, 3, real > & | JE | ||
) |
|
friend |
|
friend |