#include <Intersection.h>


Public Member Functions | |
| virtual | ~Intersection () |
| virtual ElementIntersector * | findIntersector (core::CollisionModel *object1, core::CollisionModel *object2, bool &swapModels)=0 |
| Return the intersector class handling the given pair of collision models, or NULL if not supported. | |
| virtual bool | isSupported (core::CollisionElementIterator elem1, core::CollisionElementIterator elem2) |
| Test if intersection between 2 types of elements is supported, i.e. | |
| virtual bool | useProximity () const |
| returns true if algorithm uses proximity detection | |
| virtual bool | useContinuous () const |
| returns true if algorithm uses continous detection | |
| virtual double | getAlarmDistance () const |
| Return the alarm distance (must return 0 if useProximity() is false). | |
| virtual double | getContactDistance () const |
| Return the contact distance (must return 0 if useProximity() is false). | |
Definition at line 94 of file Intersection.h.
| sofa::core::componentmodel::collision::Intersection::~Intersection | ( | ) | [virtual] |
Definition at line 90 of file Intersection.cpp.
| virtual ElementIntersector* sofa::core::componentmodel::collision::Intersection::findIntersector | ( | core::CollisionModel * | object1, | |
| core::CollisionModel * | object2, | |||
| bool & | swapModels | |||
| ) | [pure virtual] |
Return the intersector class handling the given pair of collision models, or NULL if not supported.
| swapModel | output value set to true if the collision models must be swapped before calling the intersector. |
Implemented in sofa::component::collision::DiscreteIntersection.
Referenced by sofa::component::collision::RayTraceDetection::addCollisionModel(), sofa::component::collision::BruteForceDetection::addCollisionModel(), sofa::component::collision::BruteForceDetection::addCollisionPair(), and isSupported().
| virtual double sofa::core::componentmodel::collision::Intersection::getAlarmDistance | ( | ) | const [inline, virtual] |
Return the alarm distance (must return 0 if useProximity() is false).
Reimplemented in sofa::component::collision::LocalMinDistance, sofa::component::collision::MinProximityIntersection, and sofa::component::collision::NewProximityIntersection.
Definition at line 115 of file Intersection.h.
Referenced by sofa::component::collision::GridCell::add(), and sofa::component::collision::VoxelGrid::add().
| virtual double sofa::core::componentmodel::collision::Intersection::getContactDistance | ( | ) | const [inline, virtual] |
Return the contact distance (must return 0 if useProximity() is false).
Reimplemented in sofa::component::collision::LocalMinDistance, sofa::component::collision::MinProximityIntersection, and sofa::component::collision::NewProximityIntersection.
Definition at line 118 of file Intersection.h.
Referenced by sofa::component::collision::DiscreteIntersection::computeIntersection(), and sofa::component::collision::BarycentricPenalityContact< TCollisionModel1, TCollisionModel2, ResponseDataTypes >::setDetectionOutputs().
| bool sofa::core::componentmodel::collision::Intersection::isSupported | ( | core::CollisionElementIterator | elem1, | |
| core::CollisionElementIterator | elem2 | |||
| ) | [virtual] |
Test if intersection between 2 types of elements is supported, i.e.
an intersection test is implemented for this combinaison of types. Note that this method is deprecated in favor of findIntersector
an intersection test is implemented for this combinaison of types. Note that this method is deprecated in favor of findIntersector
Definition at line 96 of file Intersection.cpp.
References findIntersector(), and sofa::core::TCollisionElementIterator< TModel >::getCollisionModel().
| virtual bool sofa::core::componentmodel::collision::Intersection::useContinuous | ( | ) | const [inline, virtual] |
returns true if algorithm uses continous detection
Reimplemented in sofa::component::collision::ContinuousIntersection.
Definition at line 112 of file Intersection.h.
Referenced by sofa::component::collision::CarvingManager::doCarve(), and sofa::component::collision::DefaultPipeline::doCollisionDetection().
| virtual bool sofa::core::componentmodel::collision::Intersection::useProximity | ( | ) | const [inline, virtual] |
returns true if algorithm uses proximity detection
Reimplemented in sofa::component::collision::LocalMinDistance, sofa::component::collision::MinProximityIntersection, and sofa::component::collision::NewProximityIntersection.
Definition at line 109 of file Intersection.h.
Referenced by sofa::component::collision::GridCell::add(), and sofa::component::collision::VoxelGrid::add().
1.5.7.1