#include <Contact.h>


Public Types | |
| typedef helper::Factory < std::string, Contact, std::pair< std::pair < core::CollisionModel *, core::CollisionModel * > , Intersection * > > | Factory |
Public Member Functions | |
| virtual | ~Contact () |
| Destructor. | |
| virtual std::pair < core::CollisionModel *, core::CollisionModel * > | getCollisionModels ()=0 |
| Get the pair of collision models which are in contact. | |
| virtual void | setDetectionOutputs (DetectionOutputVector *outputs)=0 |
| Set the generic description of a contact point. | |
| virtual void | createResponse (objectmodel::BaseContext *group)=0 |
| virtual void | removeResponse ()=0 |
| virtual bool | keepAlive () |
| Return true if this contact should be kept alive, even if objects are no longer in collision. | |
| virtual void | setKeepAlive (bool) |
| Control the keepAlive flag of the contact. Note that not all contacts support this method. | |
| virtual void | getCorrespondingCollisionModels (const core::componentmodel::behavior::InteractionForceField *, core::CollisionModel *&, core::CollisionModel *&) |
Static Public Member Functions | |
| static Contact * | Create (const std::string &type, core::CollisionModel *model1, core::CollisionModel *model2, Intersection *intersectionMethod) |
| Create a new contact given 2 collision elements and an intersection method. | |
| template<class RealContact > | |
| static void | create (RealContact *&obj, std::pair< std::pair< core::CollisionModel *, core::CollisionModel * >, Intersection * > arg) |
-InteractionForceField, Constraint, ...
Definition at line 64 of file Contact.h.
| typedef helper::Factory< std::string, Contact, std::pair<std::pair<core::CollisionModel*,core::CollisionModel*>,Intersection*> > sofa::core::componentmodel::collision::Contact::Factory |
| virtual sofa::core::componentmodel::collision::Contact::~Contact | ( | ) | [inline, virtual] |
| static void sofa::core::componentmodel::collision::Contact::create | ( | RealContact *& | obj, | |
| std::pair< std::pair< core::CollisionModel *, core::CollisionModel * >, Intersection * > | arg | |||
| ) | [inline, static] |
| Contact * sofa::core::componentmodel::collision::Contact::Create | ( | const std::string & | type, | |
| core::CollisionModel * | model1, | |||
| core::CollisionModel * | model2, | |||
| Intersection * | intersectionMethod | |||
| ) | [static] |
Create a new contact given 2 collision elements and an intersection method.
Definition at line 46 of file Contact.cpp.
References sofa::helper::Factory< TKey, TObject, TArgument >::CreateObject().
Referenced by sofa::component::collision::DefaultContactManager::createContacts().
| virtual void sofa::core::componentmodel::collision::Contact::createResponse | ( | objectmodel::BaseContext * | group | ) | [pure virtual] |
Implemented in sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >, sofa::component::collision::FrictionContact< TCollisionModel1, TCollisionModel2 >, and sofa::component::collision::BaseRayContact.
Referenced by sofa::component::collision::DefaultCollisionGroupManager::createGroups(), and sofa::component::collision::DefaultPipeline::doCollisionResponse().
| virtual std::pair< core::CollisionModel*, core::CollisionModel* > sofa::core::componentmodel::collision::Contact::getCollisionModels | ( | ) | [pure virtual] |
Get the pair of collision models which are in contact.
Implemented in sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >, sofa::component::collision::FrictionContact< TCollisionModel1, TCollisionModel2 >, and sofa::component::collision::RayContact< CM2 >.
Referenced by sofa::component::collision::DefaultCollisionGroupManager::createGroups(), and sofa::component::collision::DefaultPipeline::doCollisionResponse().
| virtual void sofa::core::componentmodel::collision::Contact::getCorrespondingCollisionModels | ( | const core::componentmodel::behavior::InteractionForceField * | , | |
| core::CollisionModel *& | , | |||
| core::CollisionModel *& | ||||
| ) | [inline, virtual] |
| virtual bool sofa::core::componentmodel::collision::Contact::keepAlive | ( | ) | [inline, virtual] |
| virtual void sofa::core::componentmodel::collision::Contact::removeResponse | ( | ) | [pure virtual] |
| virtual void sofa::core::componentmodel::collision::Contact::setDetectionOutputs | ( | DetectionOutputVector * | outputs | ) | [pure virtual] |
Set the generic description of a contact point.
Implemented in sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >, sofa::component::collision::FrictionContact< TCollisionModel1, TCollisionModel2 >, sofa::component::collision::RayContact< CM2 >, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >, and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >.
Referenced by sofa::component::collision::DefaultContactManager::createContacts().
| virtual void sofa::core::componentmodel::collision::Contact::setKeepAlive | ( | bool | ) | [inline, virtual] |
1.5.7.1