#include <Intersection.h>

Public Member Functions | |
| virtual bool | canIntersect (core::CollisionElementIterator elem1, core::CollisionElementIterator elem2)=0 |
| Test if 2 elements can collide. Note that this can be conservative (i.e. return true even when no collision is present). | |
| virtual int | beginIntersect (core::CollisionModel *model1, core::CollisionModel *model2, DetectionOutputVector *&contacts)=0 |
| Begin intersection tests between two collision models. | |
| virtual int | intersect (core::CollisionElementIterator elem1, core::CollisionElementIterator elem2, DetectionOutputVector *contacts)=0 |
| Compute the intersection between 2 elements. Return the number of contacts written in the contacts vector. | |
| virtual int | endIntersect (core::CollisionModel *model1, core::CollisionModel *model2, DetectionOutputVector *contacts)=0 |
| End intersection tests between two collision models. Return the number of contacts written in the contacts vector. | |
| virtual std::string | name () const =0 |
Protected Member Functions | |
| virtual | ~ElementIntersector () |
Definition at line 46 of file Intersection.h.
| virtual sofa::core::componentmodel::collision::ElementIntersector::~ElementIntersector | ( | ) | [inline, protected, virtual] |
Definition at line 49 of file Intersection.h.
| virtual int sofa::core::componentmodel::collision::ElementIntersector::beginIntersect | ( | core::CollisionModel * | model1, | |
| core::CollisionModel * | model2, | |||
| DetectionOutputVector *& | contacts | |||
| ) | [pure virtual] |
Begin intersection tests between two collision models.
Return the number of contacts written in the contacts vector. If the given contacts vector is NULL, then this method should allocate it.
Implemented in sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >, and sofa::component::collision::MirrorIntersector.
Referenced by sofa::component::collision::BruteForceDetection::addCollisionPair(), and sofa::component::collision::MirrorIntersector::beginIntersect().
| virtual bool sofa::core::componentmodel::collision::ElementIntersector::canIntersect | ( | core::CollisionElementIterator | elem1, | |
| core::CollisionElementIterator | elem2 | |||
| ) | [pure virtual] |
Test if 2 elements can collide. Note that this can be conservative (i.e. return true even when no collision is present).
Implemented in sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >, and sofa::component::collision::MirrorIntersector.
Referenced by sofa::component::collision::RayTraceDetection::addCollisionModel(), sofa::component::collision::BruteForceDetection::addCollisionModel(), sofa::component::collision::BruteForceDetection::addCollisionPair(), and sofa::component::collision::MirrorIntersector::canIntersect().
| virtual int sofa::core::componentmodel::collision::ElementIntersector::endIntersect | ( | core::CollisionModel * | model1, | |
| core::CollisionModel * | model2, | |||
| DetectionOutputVector * | contacts | |||
| ) | [pure virtual] |
End intersection tests between two collision models. Return the number of contacts written in the contacts vector.
Implemented in sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >, and sofa::component::collision::MirrorIntersector.
Referenced by sofa::component::collision::MirrorIntersector::endIntersect().
| virtual int sofa::core::componentmodel::collision::ElementIntersector::intersect | ( | core::CollisionElementIterator | elem1, | |
| core::CollisionElementIterator | elem2, | |||
| DetectionOutputVector * | contacts | |||
| ) | [pure virtual] |
Compute the intersection between 2 elements. Return the number of contacts written in the contacts vector.
Implemented in sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >, and sofa::component::collision::MirrorIntersector.
Referenced by sofa::component::collision::BruteForceDetection::addCollisionPair(), and sofa::component::collision::MirrorIntersector::intersect().
| virtual std::string sofa::core::componentmodel::collision::ElementIntersector::name | ( | ) | const [pure virtual] |
1.5.7.1