sofa::core::componentmodel::collision::ElementIntersector Class Reference

#include <Intersection.h>

Inheritance diagram for sofa::core::componentmodel::collision::ElementIntersector:

Inheritance graph
[legend]

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 ()

Detailed Description

Definition at line 46 of file Intersection.h.


Constructor & Destructor Documentation

virtual sofa::core::componentmodel::collision::ElementIntersector::~ElementIntersector (  )  [inline, protected, virtual]

Definition at line 49 of file Intersection.h.


Member Function Documentation

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]

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]

virtual std::string sofa::core::componentmodel::collision::ElementIntersector::name (  )  const [pure virtual]


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

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