SOFA API  6a688117
Open source framework for multi-physics simuation
sofa::defaulttype::StdRigidTypes< 3, real > Class Template Reference

#include <RigidTypes.h>

Static Public Member Functions

static const CPosgetCPos (const Coord &c)
 
static void setCPos (Coord &c, const CPos &v)
 
static const CRotgetCRot (const Coord &c)
 
static void setCRot (Coord &c, const CRot &v)
 
static const DPosgetDPos (const Deriv &d)
 
static void setDPos (Deriv &d, const DPos &v)
 
static const DRotgetDRot (const Deriv &d)
 
static void setDRot (Deriv &d, const DRot &v)
 
template<typename T >
static void set (Coord &c, T x, T y, T z)
 
template<typename T >
static void get (T &x, T &y, T &z, const Coord &c)
 
template<typename T >
static void set (Deriv &c, T x, T y, T z, T rx, T ry, T rz)
 
template<typename T >
static void add (Coord &c, T x, T y, T z)
 
template<typename T >
static void set (Deriv &c, T x, T y, T z)
 
template<typename T >
static void get (T &x, T &y, T &z, const Deriv &c)
 
template<typename T >
static void add (Deriv &c, T x, T y, T z)
 
static const char * Name ()
 
static Deriv randomDeriv (Real minMagnitude, Real maxMagnitude)
 Return a Deriv with random value. Each entry with magnitude smaller than the given value. More...
 
static Deriv coordDifference (const Coord &c1, const Coord &c2)
 
static Coord interpolate (const helper::vector< Coord > &ancestors, const helper::vector< Real > &coefs)
 
static Deriv interpolate (const helper::vector< Deriv > &ancestors, const helper::vector< Real > &coefs)
 
static Coord inverse (const Coord &c)
 inverse rigid transform More...
 
static Coord mult (const Coord &a, const Coord &b)
 matrix product More...
 
static Vec3 crosscross (const Vec3 &a, const Vec3 &b, const Vec3 &c)
 double cross product: a * ( b * c ) More...
 
static Quat rotationEuler (Real x, Real y, Real z)
 create a rotation from Euler angles. For homogeneity with 2D. More...
 

Function details

template<typename real >
template<typename T >
static void sofa::defaulttype::StdRigidTypes< 3, real >::add ( Coord c,
x,
y,
z 
)
inlinestatic
template<typename real >
template<typename T >
static void sofa::defaulttype::StdRigidTypes< 3, real >::add ( Deriv c,
x,
y,
z 
)
inlinestatic
template<typename real >
static Deriv sofa::defaulttype::StdRigidTypes< 3, real >::coordDifference ( const Coord c1,
const Coord c2 
)
inlinestatic
template<typename real >
static Vec3 sofa::defaulttype::StdRigidTypes< 3, real >::crosscross ( const Vec3 a,
const Vec3 b,
const Vec3 c 
)
inlinestatic

double cross product: a * ( b * c )

template<typename real >
template<typename T >
static void sofa::defaulttype::StdRigidTypes< 3, real >::get ( T &  x,
T &  y,
T &  z,
const Coord c 
)
inlinestatic
template<typename real >
template<typename T >
static void sofa::defaulttype::StdRigidTypes< 3, real >::get ( T &  x,
T &  y,
T &  z,
const Deriv c 
)
inlinestatic
template<typename real >
static const CPos& sofa::defaulttype::StdRigidTypes< 3, real >::getCPos ( const Coord c)
inlinestatic
template<typename real >
static const CRot& sofa::defaulttype::StdRigidTypes< 3, real >::getCRot ( const Coord c)
inlinestatic
template<typename real >
static const DPos& sofa::defaulttype::StdRigidTypes< 3, real >::getDPos ( const Deriv d)
inlinestatic
template<typename real >
static const DRot& sofa::defaulttype::StdRigidTypes< 3, real >::getDRot ( const Deriv d)
inlinestatic
template<typename real >
static Coord sofa::defaulttype::StdRigidTypes< 3, real >::interpolate ( const helper::vector< Coord > &  ancestors,
const helper::vector< Real > &  coefs 
)
inlinestatic
template<typename real >
static Deriv sofa::defaulttype::StdRigidTypes< 3, real >::interpolate ( const helper::vector< Deriv > &  ancestors,
const helper::vector< Real > &  coefs 
)
inlinestatic
template<typename real >
static Coord sofa::defaulttype::StdRigidTypes< 3, real >::inverse ( const Coord c)
inlinestatic

inverse rigid transform

template<typename real >
static Coord sofa::defaulttype::StdRigidTypes< 3, real >::mult ( const Coord a,
const Coord b 
)
inlinestatic

matrix product

template<typename real >
static const char* sofa::defaulttype::StdRigidTypes< 3, real >::Name ( )
static
template<typename real >
static Deriv sofa::defaulttype::StdRigidTypes< 3, real >::randomDeriv ( Real  minMagnitude,
Real  maxMagnitude 
)
inlinestatic

Return a Deriv with random value. Each entry with magnitude smaller than the given value.

template<typename real >
static Quat sofa::defaulttype::StdRigidTypes< 3, real >::rotationEuler ( Real  x,
Real  y,
Real  z 
)
inlinestatic

create a rotation from Euler angles. For homogeneity with 2D.

template<typename real >
template<typename T >
static void sofa::defaulttype::StdRigidTypes< 3, real >::set ( Coord c,
x,
y,
z 
)
inlinestatic
template<typename real >
template<typename T >
static void sofa::defaulttype::StdRigidTypes< 3, real >::set ( Deriv c,
x,
y,
z,
rx,
ry,
rz 
)
inlinestatic
template<typename real >
template<typename T >
static void sofa::defaulttype::StdRigidTypes< 3, real >::set ( Deriv c,
x,
y,
z 
)
inlinestatic
template<typename real >
static void sofa::defaulttype::StdRigidTypes< 3, real >::setCPos ( Coord c,
const CPos v 
)
inlinestatic
template<typename real >
static void sofa::defaulttype::StdRigidTypes< 3, real >::setCRot ( Coord c,
const CRot v 
)
inlinestatic
template<typename real >
static void sofa::defaulttype::StdRigidTypes< 3, real >::setDPos ( Deriv d,
const DPos v 
)
inlinestatic
template<typename real >
static void sofa::defaulttype::StdRigidTypes< 3, real >::setDRot ( Deriv d,
const DRot v 
)
inlinestatic

Enum details

template<typename real >
anonymous enum
Enumerator
spatial_dimensions 
template<typename real >
anonymous enum
Enumerator
coord_total_size 
template<typename real >
anonymous enum
Enumerator
deriv_total_size