sofa::component::collision::BaseContactMapper< TDataTypes > Class Template Reference

Base class common to all mappers able to provide a MechanicalState of a given type. More...

#include <BarycentricContactMapper.h>


Public Types

typedef TDataTypes DataTypes
typedef DataTypes::Real Real
typedef DataTypes::Coord Coord
typedef DataTypes::VecCoord VecCoord
typedef
core::componentmodel::behavior::MechanicalState
< DataTypes > 
MMechanicalState
typedef helper::Factory
< std::string,
BaseContactMapper< DataTypes >
, core::CollisionModel * > 
ContactMapperFactory

Public Member Functions

virtual ~BaseContactMapper ()
virtual MMechanicalState * createMapping (const char *name="contactPoints")=0
virtual void cleanup ()=0
virtual void resize (int size)=0
virtual int addPoint (const Coord &c, int index, Real &r)=0
virtual void update ()=0

Static Public Member Functions

static BaseContactMapper
< DataTypes > * 
Create (core::CollisionModel *model, const std::string &name=std::string("default"))
template<class TCollisionModel >
static void create (ContactMapper< TCollisionModel, DataTypes > *&obj, core::CollisionModel *arg)


Detailed Description

template<class TDataTypes>
class sofa::component::collision::BaseContactMapper< TDataTypes >

Base class common to all mappers able to provide a MechanicalState of a given type.

Definition at line 66 of file BarycentricContactMapper.h.


Member Typedef Documentation

Definition at line 81 of file BarycentricContactMapper.h.

template<class TDataTypes >
typedef DataTypes::Coord sofa::component::collision::BaseContactMapper< TDataTypes >::Coord

Reimplemented in sofa::component::collision::BarycentricContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< LineModel, DataTypes >, sofa::component::collision::ContactMapper< TriangleModel, DataTypes >, sofa::component::collision::ContactMapper< TetrahedronModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >, sofa::component::collision::ContactMapper< TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::ContactMapper< SphereTreeModel, DataTypes >, sofa::component::collision::RigidContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaSphereModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TriangleModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::LineModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TetrahedronModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::PointModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::SphereTreeModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::component::collision::RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, and sofa::component::collision::SubsetContactMapper< sofa::component::collision::TSphereModel, DataTypes >.

Definition at line 71 of file BarycentricContactMapper.h.

template<class TDataTypes >
typedef TDataTypes sofa::component::collision::BaseContactMapper< TDataTypes >::DataTypes

Reimplemented in sofa::component::collision::BarycentricContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >, sofa::component::collision::RigidContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaSphereModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TriangleModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::LineModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TetrahedronModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::PointModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::SphereTreeModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::component::collision::RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, and sofa::component::collision::SubsetContactMapper< sofa::component::collision::TSphereModel, DataTypes >.

Definition at line 73 of file BarycentricContactMapper.h.

template<class TDataTypes >
typedef DataTypes::Real sofa::component::collision::BaseContactMapper< TDataTypes >::Real

Reimplemented in sofa::component::collision::BarycentricContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< LineModel, DataTypes >, sofa::component::collision::ContactMapper< TriangleModel, DataTypes >, sofa::component::collision::ContactMapper< TetrahedronModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >, sofa::component::collision::ContactMapper< TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::ContactMapper< SphereTreeModel, DataTypes >, sofa::component::collision::RigidContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaSphereModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TriangleModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::LineModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TetrahedronModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::PointModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::SphereTreeModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::component::collision::RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, and sofa::component::collision::SubsetContactMapper< sofa::component::collision::TSphereModel, DataTypes >.

Definition at line 70 of file BarycentricContactMapper.h.

template<class TDataTypes >
typedef DataTypes::VecCoord sofa::component::collision::BaseContactMapper< TDataTypes >::VecCoord

Definition at line 72 of file BarycentricContactMapper.h.


Constructor & Destructor Documentation

template<class TDataTypes >
virtual sofa::component::collision::BaseContactMapper< TDataTypes >::~BaseContactMapper (  )  [inline, virtual]

Definition at line 74 of file BarycentricContactMapper.h.


Member Function Documentation

template<class TDataTypes >
virtual int sofa::component::collision::BaseContactMapper< TDataTypes >::addPoint ( const Coord &  c,
int  index,
Real &  r 
) [pure virtual]

Implemented in sofa::component::collision::ContactMapper< LineModel, DataTypes >, sofa::component::collision::ContactMapper< TriangleModel, DataTypes >, sofa::component::collision::ContactMapper< TetrahedronModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >, sofa::component::collision::ContactMapper< TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::ContactMapper< SphereTreeModel, DataTypes >, sofa::component::collision::RigidContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, sofa::component::collision::ContactMapper< sofa::gpu::cuda::CudaSphereModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::PointModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::SphereTreeModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::component::collision::RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, and sofa::component::collision::SubsetContactMapper< sofa::component::collision::TSphereModel, DataTypes >.

Referenced by sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach().

template<class TDataTypes >
virtual void sofa::component::collision::BaseContactMapper< TDataTypes >::cleanup (  )  [pure virtual]

Implemented in sofa::component::collision::BarycentricContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >, sofa::component::collision::RigidContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TriangleModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::LineModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TetrahedronModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::PointModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::SphereTreeModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::component::collision::RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, and sofa::component::collision::SubsetContactMapper< sofa::component::collision::TSphereModel, DataTypes >.

template<class TDataTypes >
template<class TCollisionModel >
static void sofa::component::collision::BaseContactMapper< TDataTypes >::create ( ContactMapper< TCollisionModel, DataTypes > *&  obj,
core::CollisionModel *  arg 
) [inline, static]

Definition at line 88 of file BarycentricContactMapper.h.

template<class TDataTypes >
static BaseContactMapper<DataTypes>* sofa::component::collision::BaseContactMapper< TDataTypes >::Create ( core::CollisionModel *  model,
const std::string &  name = std::string("default") 
) [inline, static]

Definition at line 82 of file BarycentricContactMapper.h.

template<class TDataTypes >
virtual MMechanicalState* sofa::component::collision::BaseContactMapper< TDataTypes >::createMapping ( const char *  name = "contactPoints"  )  [pure virtual]

Implemented in sofa::component::collision::BarycentricContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >, sofa::component::collision::RigidContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::ContactMapper< RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TriangleModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::LineModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TetrahedronModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::PointModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::SphereTreeModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::component::collision::RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, and sofa::component::collision::SubsetContactMapper< sofa::component::collision::TSphereModel, DataTypes >.

Referenced by sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach().

template<class TDataTypes >
virtual void sofa::component::collision::BaseContactMapper< TDataTypes >::resize ( int  size  )  [pure virtual]

Implemented in sofa::component::collision::BarycentricContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >, sofa::component::collision::RigidContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TriangleModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::LineModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TetrahedronModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::PointModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::SphereTreeModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::component::collision::RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, and sofa::component::collision::SubsetContactMapper< sofa::component::collision::TSphereModel, DataTypes >.

Referenced by sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach().

template<class TDataTypes >
virtual void sofa::component::collision::BaseContactMapper< TDataTypes >::update (  )  [pure virtual]

Implemented in sofa::component::collision::BarycentricContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< TCollisionModel, typename TCollisionModel::InDataTypes >, sofa::component::collision::RigidContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< TCollisionModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TriangleModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::LineModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::TetrahedronModel, DataTypes >, sofa::component::collision::BarycentricContactMapper< sofa::component::collision::FFDDistanceGridCollisionModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::PointModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::SphereTreeModel, DataTypes >, sofa::component::collision::IdentityContactMapper< sofa::component::collision::TSphereModel< TInDataTypes >, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::component::collision::RigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::RigidContactMapper< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel, DataTypes >, sofa::component::collision::SubsetContactMapper< sofa::gpu::cuda::CudaPointModel, DataTypes >, and sofa::component::collision::SubsetContactMapper< sofa::component::collision::TSphereModel, DataTypes >.

Referenced by sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach().


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

Generated on Sun Nov 23 04:14:31 2008 for Sofa by  doxygen 1.5.7.1