#include <RayPickInteractor.h>


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 |
Definition at line 127 of file RayPickInteractor.h.
| typedef DataTypes::Coord sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::Coord |
Definition at line 132 of file RayPickInteractor.h.
| typedef TDataTypes sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::DataTypes |
Definition at line 130 of file RayPickInteractor.h.
| typedef DataTypes::Real sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::Real |
Definition at line 131 of file RayPickInteractor.h.
| sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::DefaultPickingManager | ( | ) | [inline] |
Definition at line 59 of file RayPickInteractor.inl.
| 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.
| 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] |
| 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] |
| 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.
| 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.
| 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] |
| 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().
| 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] |
Implements sofa::component::collision::BasePickingManager.
Definition at line 138 of file RayPickInteractor.h.
| static bool sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::canCreate | ( | RealObject *& | obj, | |
| core::objectmodel::BaseContext * | context | |||
| ) | [inline, static] |
Reimplemented from sofa::component::collision::BasePickingManager.
Definition at line 153 of file RayPickInteractor.h.
References sofa::core::objectmodel::BaseContext::get(), and sofa::core::objectmodel::BaseContext::SearchRoot.
| void sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 101 of file RayPickInteractor.inl.
References sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::forcefields, and sofa::core::objectmodel::BaseObject::getContext().
| component::MechanicalObject< DataTypes > * sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::getMState | ( | core::objectmodel::BaseContext * | context | ) | [inline, protected, virtual] |
Definition at line 123 of file RayPickInteractor.inl.
References sofa::core::objectmodel::BaseContext::addObject(), sofa::simulation::tree::GNode::addObject(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::mechanicalObject, sofa::core::objectmodel::Base::name, and sofa::simulation::tree::GNode::updateContext().
Referenced by sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach().
| virtual bool sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::isAttached | ( | ) | [inline, virtual] |
Implements sofa::component::collision::BasePickingManager.
Definition at line 144 of file RayPickInteractor.h.
References sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attachedPoints.
| void sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::release | ( | ) | [inline, virtual] |
Implements sofa::component::collision::BasePickingManager.
Definition at line 66 of file RayPickInteractor.inl.
References sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attachedPoints, sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::forcefields, and sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::mappers.
| void sofa::component::collision::DefaultPickingManager< DataTypes, ContactForceField >::update | ( | ) | [inline, virtual] |
Implements sofa::component::collision::BasePickingManager.
Definition at line 87 of file RayPickInteractor.inl.
References sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attachedPoints, sofa::component::collision::Ray::direction(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::mechanicalObject, and sofa::component::collision::Ray::origin().
sofa::helper::vector< std::pair<Ray,double> > sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attachedPoints [protected] |
Definition at line 173 of file RayPickInteractor.h.
Referenced by sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::isAttached(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::release(), and sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::update().
| Data<int> sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::button |
Definition at line 134 of file RayPickInteractor.h.
sofa::helper::vector<core::componentmodel::behavior::BaseForceField*> sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::forcefields [protected] |
Definition at line 175 of file RayPickInteractor.h.
Referenced by sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach(), sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::draw(), and sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::release().
sofa::helper::vector<BaseContactMapper<DataTypes>*> sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::mappers [protected] |
component::MechanicalObject<DataTypes>* sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::mechanicalObject [protected] |
1.5.7.1