#include <BarycentricPenalityContact.h>


Definition at line 52 of file BarycentricPenalityContact.h.
| typedef CollisionModel1::Element sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::CollisionElement1 |
Definition at line 64 of file BarycentricPenalityContact.h.
| typedef CollisionModel2::Element sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::CollisionElement2 |
Definition at line 65 of file BarycentricPenalityContact.h.
| typedef TCollisionModel1 sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::CollisionModel1 |
Definition at line 55 of file BarycentricPenalityContact.h.
| typedef TCollisionModel2 sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::CollisionModel2 |
Definition at line 56 of file BarycentricPenalityContact.h.
typedef std::map<core::componentmodel::collision::DetectionOutput::ContactId,int> sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ContactIndexMap [protected] |
Definition at line 82 of file BarycentricPenalityContact.h.
| typedef ResponseDataTypes sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::DataTypes1 |
Definition at line 60 of file BarycentricPenalityContact.h.
| typedef ResponseDataTypes sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::DataTypes2 |
Definition at line 61 of file BarycentricPenalityContact.h.
| typedef core::componentmodel::collision::Intersection sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::Intersection |
Definition at line 57 of file BarycentricPenalityContact.h.
| typedef core::componentmodel::behavior::MechanicalState<DataTypes1> sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::MechanicalState1 |
Definition at line 62 of file BarycentricPenalityContact.h.
| typedef core::componentmodel::behavior::MechanicalState<DataTypes2> sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::MechanicalState2 |
Definition at line 63 of file BarycentricPenalityContact.h.
| typedef core::componentmodel::collision::DetectionOutputVector sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::OutputVector |
Definition at line 58 of file BarycentricPenalityContact.h.
| typedef forcefield::PenalityContactForceField<ResponseDataTypes> sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ResponseForceField |
Definition at line 69 of file BarycentricPenalityContact.h.
| typedef core::componentmodel::collision::TDetectionOutputVector<CollisionModel1,CollisionModel2> sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::TOutputVector |
Definition at line 59 of file BarycentricPenalityContact.h.
| sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::BarycentricPenalityContact | ( | CollisionModel1 * | model1, | |
| CollisionModel2 * | model2, | |||
| Intersection * | intersectionMethod | |||
| ) | [inline] |
Definition at line 43 of file BarycentricPenalityContact.inl.
References sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper1, and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper2.
| sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::~BarycentricPenalityContact | ( | ) | [inline] |
Definition at line 51 of file BarycentricPenalityContact.inl.
| void sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::cleanup | ( | ) | [inline, virtual] |
Called just before deleting this object Any object in the tree bellow this object that are to be removed will be removed only after this call, so any references this object holds should still be valid.
Called just before deleting this object Any object in the tree bellow this object that are to be removed will be removed only after this call, so any references this object holds should still be valid.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 57 of file BarycentricPenalityContact.inl.
References sofa::core::objectmodel::BaseObject::cleanup(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ff, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper1, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper2, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::parent, and sofa::core::objectmodel::BaseContext::removeObject().
| void sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::createResponse | ( | core::objectmodel::BaseContext * | group | ) | [inline, virtual] |
Implements sofa::core::componentmodel::collision::Contact.
Definition at line 198 of file BarycentricPenalityContact.inl.
References sofa::core::objectmodel::BaseContext::addObject(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ff, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::parent, and sofa::core::objectmodel::BaseContext::removeObject().
| void sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 233 of file BarycentricPenalityContact.inl.
| std::pair<core::CollisionModel*,core::CollisionModel*> sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::getCollisionModels | ( | ) | [inline, virtual] |
Get the pair of collision models which are in contact.
Implements sofa::core::componentmodel::collision::Contact.
Definition at line 92 of file BarycentricPenalityContact.h.
References sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model1, and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model2.
| void sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::getCorrespondingCollisionModels | ( | const core::componentmodel::behavior::InteractionForceField * | _ff, | |
| core::CollisionModel *& | _model1, | |||
| core::CollisionModel *& | _model2 | |||
| ) | [inline, virtual] |
Reimplemented from sofa::core::componentmodel::collision::Contact.
Definition at line 103 of file BarycentricPenalityContact.h.
References sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ff, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model1, and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model2.
| void sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::removeResponse | ( | ) | [inline, virtual] |
Implements sofa::core::componentmodel::collision::Contact.
Definition at line 218 of file BarycentricPenalityContact.inl.
References sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ff, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::parent, and sofa::core::objectmodel::BaseContext::removeObject().
| void sofa::component::collision::BarycentricPenalityContact< CudaSphereModel, CudaRigidDistanceGridCollisionModel, CudaVec3fTypes >::setDetectionOutputs | ( | OutputVector * | outputs | ) | [inline, virtual] |
Set the generic description of a contact point.
Implements sofa::core::componentmodel::collision::Contact.
Definition at line 105 of file CudaCollision.cpp.
References sofa::component::forcefield::PenalityContactForceField< DataTypes >::addContact(), sofa::component::forcefield::PenalityContactForceField< DataTypes >::clear(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ff, sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::core::objectmodel::Base::getName(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::intersectionMethod, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper1, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper2, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model1, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model2, sofa::core::objectmodel::Base::setName(), and sofa::core::componentmodel::collision::TDetectionOutputVector< CM1, CM2 >::size().
| void sofa::component::collision::BarycentricPenalityContact< CudaPointModel, CudaRigidDistanceGridCollisionModel, CudaVec3fTypes >::setDetectionOutputs | ( | OutputVector * | outputs | ) | [inline, virtual] |
Set the generic description of a contact point.
Implements sofa::core::componentmodel::collision::Contact.
Definition at line 55 of file CudaCollision.cpp.
References sofa::component::forcefield::PenalityContactForceField< DataTypes >::addContact(), sofa::component::forcefield::PenalityContactForceField< DataTypes >::clear(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ff, sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::core::objectmodel::Base::getName(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::intersectionMethod, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper1, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper2, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model1, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model2, sofa::core::objectmodel::Base::setName(), and sofa::core::componentmodel::collision::TDetectionOutputVector< CM1, CM2 >::size().
| void sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs | ( | OutputVector * | outputs | ) | [inline, virtual] |
Set the generic description of a contact point.
Implements sofa::core::componentmodel::collision::Contact.
Definition at line 72 of file BarycentricPenalityContact.inl.
References sofa::component::forcefield::PenalityContactForceField< DataTypes >::addContact(), sofa::component::forcefield::PenalityContactForceField< DataTypes >::clear(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::contactIndex, sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::objectmodel::BaseObject::f_printLog, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ff, sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::core::objectmodel::Base::getName(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::intersectionMethod, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper1, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper2, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model1, sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model2, sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::core::componentmodel::collision::DetectionOutput::point, sofa::core::objectmodel::Base::setName(), sofa::core::componentmodel::collision::TDetectionOutputVector< CM1, CM2 >::size(), and sofa::core::componentmodel::collision::DetectionOutput::value.
ContactIndexMap sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::contactIndex [protected] |
Mapping of contactids to force element (+1, so that 0 means not active).
This allows to ignore duplicate contacts, and preserve information associated with each contact point over time
Definition at line 85 of file BarycentricPenalityContact.h.
Referenced by sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs().
ResponseForceField* sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::ff [protected] |
Definition at line 79 of file BarycentricPenalityContact.h.
Referenced by sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::cleanup(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::createResponse(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::getCorrespondingCollisionModels(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::removeResponse(), and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs().
Intersection* sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::intersectionMethod [protected] |
Definition at line 74 of file BarycentricPenalityContact.h.
Referenced by sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs().
ContactMapper<CollisionModel1,DataTypes1> sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper1 [protected] |
Definition at line 76 of file BarycentricPenalityContact.h.
Referenced by sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::BarycentricPenalityContact(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::cleanup(), and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs().
ContactMapper<CollisionModel2,DataTypes2> sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::mapper2 [protected] |
Definition at line 77 of file BarycentricPenalityContact.h.
Referenced by sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::BarycentricPenalityContact(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::cleanup(), and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs().
CollisionModel1* sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model1 [protected] |
Definition at line 72 of file BarycentricPenalityContact.h.
Referenced by sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::getCollisionModels(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::getCorrespondingCollisionModels(), and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs().
CollisionModel2* sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::model2 [protected] |
Definition at line 73 of file BarycentricPenalityContact.h.
Referenced by sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::getCollisionModels(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::getCorrespondingCollisionModels(), and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs().
core::objectmodel::BaseContext* sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::parent [protected] |
Definition at line 80 of file BarycentricPenalityContact.h.
Referenced by sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::cleanup(), sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::createResponse(), and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::removeResponse().
1.5.7.1