sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField > Class Template Reference

#include <RayPickInteractor.h>

Inheritance diagram for sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >:

Collaboration graph
[legend]

Public Types

typedef TDataTypes DataTypes
typedef DataTypes::Real Real
typedef DataTypes::Coord Coord

Public Member Functions

 DefaultPickingManager ()
virtual bool attach (int button, core::CollisionElementIterator elem1, core::CollisionElementIterator elem2, double dist, Vector3 p1, Vector3 p2)
virtual bool isAttached ()
virtual void release ()
virtual void update ()
virtual void draw ()
 Render internal data of this object, for debugging purposes.
template<>
void addContact (forcefield::VectorSpringForceField< defaulttype::Vec3Types > *ff, int index1, int index2, double stiffness, double mu_v, double, const Vector3 &p1, const Vector3 &p2)
template<>
void addContact (forcefield::StiffSpringForceField< defaulttype::Vec3Types > *ff, int index1, int index2, double stiffness, double mu_v, double length, const Vector3 &, const Vector3 &)
template<>
void addContact (forcefield::VectorSpringForceField< defaulttype::Vec3Types > *ff, int index1, int index2, double stiffness, double mu_v, double, const Vector3 &p1, const Vector3 &p2)
template<>
void addContact (forcefield::StiffSpringForceField< defaulttype::Vec3Types > *ff, int index1, int index2, double stiffness, double mu_v, double length, const Vector3 &, const Vector3 &)
template<>
void addContact (forcefield::StiffSpringForceField< CudaVec3fTypes > *ff, int index1, int index2, double stiffness, double mu_v, double length, const Vector3 &, const Vector3 &)

Static Public Member Functions

template<class RealObject >
static bool canCreate (RealObject *&obj, core::objectmodel::BaseContext *context)

Data Fields

Data< int > button

Protected Member Functions

virtual
component::MechanicalObject
< DataTypes > * 
getMState (core::objectmodel::BaseContext *context)
virtual bool attach (core::CollisionElementIterator elem1, core::CollisionElementIterator elem2, double dist, Vector3 p1, Vector3 p2)
virtual void addContact (ContactForceField *ff, int index1, int index2, double stiffness, double mu_v, double length, const Vector3 &p1, const Vector3 &p2)

Protected Attributes

sofa::helper::vector
< std::pair< Ray, double > > 
attachedPoints
component::MechanicalObject
< DataTypes > * 
mechanicalObject
sofa::helper::vector
< core::componentmodel::behavior::BaseForceField * > 
forcefields
sofa::helper::vector
< BaseContactMapper< DataTypes > * > 
mappers

Detailed Description

template<class TDataTypes, class ContactForceField>
class sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >

Definition at line 127 of file RayPickInteractor.h.


Member Typedef Documentation

template<class TDataTypes , class ContactForceField >
typedef DataTypes::Coord sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::Coord

Definition at line 132 of file RayPickInteractor.h.

template<class TDataTypes , class ContactForceField >
typedef TDataTypes sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::DataTypes

Definition at line 130 of file RayPickInteractor.h.

template<class TDataTypes , class ContactForceField >
typedef DataTypes::Real sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::Real

Definition at line 131 of file RayPickInteractor.h.


Constructor & Destructor Documentation

template<class DataTypes , class ContactForceField >
sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::DefaultPickingManager (  )  [inline]

Definition at line 59 of file RayPickInteractor.inl.


Member Function Documentation

template<>
void sofa::component::collision::DefaultPickingManager< CudaVec3fTypes, forcefield::StiffSpringForceField< CudaVec3fTypes > >::addContact ( forcefield::StiffSpringForceField< CudaVec3fTypes > *  ff,
int  index1,
int  index2,
double  stiffness,
double  mu_v,
double  length,
const Vector3 &  ,
const Vector3 &   
) [inline]

Definition at line 158 of file CudaCollision.cpp.

template<>
void sofa::component::collision::DefaultPickingManager< defaulttype::Vec3Types, forcefield::StiffSpringForceField< defaulttype::Vec3Types > >::addContact ( forcefield::StiffSpringForceField< defaulttype::Vec3Types > *  ff,
int  index1,
int  index2,
double  stiffness,
double  mu_v,
double  length,
const Vector3 &  ,
const Vector3 &   
) [inline]

template<>
void sofa::component::collision::DefaultPickingManager< defaulttype::Vec3Types, forcefield::VectorSpringForceField< defaulttype::Vec3Types > >::addContact ( forcefield::VectorSpringForceField< defaulttype::Vec3Types > *  ff,
int  index1,
int  index2,
double  stiffness,
double  mu_v,
double  ,
const Vector3 &  p1,
const Vector3 &  p2 
) [inline]

template<>
void sofa::component::collision::DefaultPickingManager< defaulttype::Vec3Types, forcefield::StiffSpringForceField< defaulttype::Vec3Types > >::addContact ( forcefield::StiffSpringForceField< defaulttype::Vec3Types > *  ff,
int  index1,
int  index2,
double  stiffness,
double  mu_v,
double  length,
const Vector3 &  ,
const Vector3 &   
) [inline]

Definition at line 59 of file RayPickInteractor.cpp.

template<>
void sofa::component::collision::DefaultPickingManager< defaulttype::Vec3Types, forcefield::VectorSpringForceField< defaulttype::Vec3Types > >::addContact ( forcefield::VectorSpringForceField< defaulttype::Vec3Types > *  ff,
int  index1,
int  index2,
double  stiffness,
double  mu_v,
double  ,
const Vector3 &  p1,
const Vector3 &  p2 
) [inline]

Definition at line 53 of file RayPickInteractor.cpp.

template<class TDataTypes , class ContactForceField >
virtual void sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::addContact ( ContactForceField *  ff,
int  index1,
int  index2,
double  stiffness,
double  mu_v,
double  length,
const Vector3 &  p1,
const Vector3 &  p2 
) [protected, virtual]

template<class DataTypes , class ContactForceField >
bool sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::attach ( core::CollisionElementIterator  elem1,
core::CollisionElementIterator  elem2,
double  dist,
Vector3  p1,
Vector3  p2 
) [inline, protected, virtual]

Definition at line 149 of file RayPickInteractor.inl.

References sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::addContact(), sofa::core::objectmodel::BaseContext::addObject(), sofa::component::collision::BaseContactMapper< TDataTypes >::addPoint(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attachedPoints, sofa::component::collision::BasePickingManager::Create(), sofa::component::collision::BaseContactMapper< TDataTypes >::createMapping(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::forcefields, sofa::core::objectmodel::Base::getClassName(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::TCollisionElementIterator< TModel >::getContactFriction(), sofa::core::TCollisionElementIterator< TModel >::getContactStiffness(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::getMState(), sofa::core::objectmodel::Base::getName(), sofa::core::objectmodel::Base::getTemplateName(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::mappers, sofa::core::objectmodel::Base::name, sofa::component::MechanicalObject< DataTypes >::resize(), sofa::component::collision::BaseContactMapper< TDataTypes >::resize(), and sofa::component::collision::BaseContactMapper< TDataTypes >::update().

template<class TDataTypes , class ContactForceField >
virtual bool sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach ( int  button,
core::CollisionElementIterator  elem1,
core::CollisionElementIterator  elem2,
double  dist,
Vector3  p1,
Vector3  p2 
) [inline, virtual]

template<class TDataTypes , class ContactForceField >
template<class RealObject >
static bool sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::canCreate ( RealObject *&  obj,
core::objectmodel::BaseContext *  context 
) [inline, static]

template<class DataTypes , class ContactForceField >
void sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::draw (  )  [inline, virtual]

template<class DataTypes , class ContactForceField >
component::MechanicalObject< DataTypes > * sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::getMState ( core::objectmodel::BaseContext *  context  )  [inline, protected, virtual]

template<class TDataTypes , class ContactForceField >
virtual bool sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::isAttached (  )  [inline, virtual]

template<class DataTypes , class ContactForceField >
void sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::release (  )  [inline, virtual]

template<class DataTypes , class ContactForceField >
void sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::update (  )  [inline, virtual]


Field Documentation

template<class TDataTypes , class ContactForceField >
sofa::helper::vector< std::pair<Ray,double> > sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attachedPoints [protected]

template<class TDataTypes , class ContactForceField >
Data<int> sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::button

Definition at line 134 of file RayPickInteractor.h.

template<class TDataTypes , class ContactForceField >
sofa::helper::vector<core::componentmodel::behavior::BaseForceField*> sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::forcefields [protected]

template<class TDataTypes , class ContactForceField >
sofa::helper::vector<BaseContactMapper<DataTypes>*> sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::mappers [protected]

template<class TDataTypes , class ContactForceField >
component::MechanicalObject<DataTypes>* sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::mechanicalObject [protected]


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

Generated on Sun Nov 23 04:17:34 2008 for Sofa by  doxygen 1.5.7.1