SOFA API  99934cbc
Open source framework for multi-physics simuation
sofa::component::collision::MirrorIntersector Class Reference

#include <BruteForceDetection.h>

Inheritance diagram for sofa::component::collision::MirrorIntersector:

Public Attributes

core::collision::ElementIntersectorintersector
 

Public Member Functions

bool canIntersect (core::CollisionElementIterator elem1, core::CollisionElementIterator elem2) override
 Test if 2 elements can collide. Note that this can be conservative (i.e. return true even when no collision is present) More...
 
int beginIntersect (core::CollisionModel *model1, core::CollisionModel *model2, core::collision::DetectionOutputVector *&contacts) override
 
int intersect (core::CollisionElementIterator elem1, core::CollisionElementIterator elem2, core::collision::DetectionOutputVector *contacts) override
 Compute the intersection between 2 elements. Return the number of contacts written in the contacts vector. More...
 
int endIntersect (core::CollisionModel *model1, core::CollisionModel *model2, core::collision::DetectionOutputVector *contacts) override
 End intersection tests between two collision models. Return the number of contacts written in the contacts vector. More...
 
virtual std::string name () const override
 
- Public Member Functions inherited from sofa::core::collision::ElementIntersector
virtual ~ElementIntersector ()
 

Attribute details

core::collision::ElementIntersector* sofa::component::collision::MirrorIntersector::intersector

Function details

int sofa::component::collision::MirrorIntersector::beginIntersect ( core::CollisionModel model1,
core::CollisionModel model2,
core::collision::DetectionOutputVector *&  contacts 
)
inlineoverridevirtual

Begin intersection tests between two collision models. Return the number of contacts written in the contacts vector. If the given contacts vector is nullptr, then this method should allocate it.

Implements sofa::core::collision::ElementIntersector.

bool sofa::component::collision::MirrorIntersector::canIntersect ( core::CollisionElementIterator  elem1,
core::CollisionElementIterator  elem2 
)
inlineoverridevirtual

Test if 2 elements can collide. Note that this can be conservative (i.e. return true even when no collision is present)

Implements sofa::core::collision::ElementIntersector.

int sofa::component::collision::MirrorIntersector::endIntersect ( core::CollisionModel model1,
core::CollisionModel model2,
core::collision::DetectionOutputVector contacts 
)
inlineoverridevirtual

End intersection tests between two collision models. Return the number of contacts written in the contacts vector.

Implements sofa::core::collision::ElementIntersector.

int sofa::component::collision::MirrorIntersector::intersect ( core::CollisionElementIterator  elem1,
core::CollisionElementIterator  elem2,
core::collision::DetectionOutputVector contacts 
)
inlineoverridevirtual

Compute the intersection between 2 elements. Return the number of contacts written in the contacts vector.

Implements sofa::core::collision::ElementIntersector.

virtual std::string sofa::component::collision::MirrorIntersector::name ( ) const
inlineoverridevirtual