#include <Intersection.h>


Public Member Functions | |
| template<class Model1 , class Model2 , class T > | |
| void | add (T *ptr) |
| template<class Model1 , class Model2 > | |
| void | ignore () |
| helper::TypeInfo | getType (core::CollisionModel *model) |
| ElementIntersector * | get (core::CollisionModel *model1, core::CollisionModel *model2, bool &swapModels) |
Protected Attributes | |
| std::map< helper::TypeInfo, helper::TypeInfo > | castMap |
| std::set< const objectmodel::ClassInfo * > | classes |
This class uses the new ClassInfo metaclass to be able to recognize derived classes. So it is no longer necessary to register all derived collision models (i.e. an intersector registered for RayModel will also be used for RayPickIntersector).
Definition at line 72 of file Intersection.h.
| void sofa::core::componentmodel::collision::IntersectorMap::add | ( | T * | ptr | ) | [inline] |
Definition at line 102 of file Intersection.inl.
References castMap, classes, classid, and sofa::core::objectmodel::ClassInfo::type().
Referenced by sofa::component::collision::NewProximityIntersection::init(), sofa::component::collision::MinProximityIntersection::init(), and sofa::component::collision::LocalMinDistance::init().
| ElementIntersector * sofa::core::componentmodel::collision::IntersectorMap::get | ( | core::CollisionModel * | model1, | |
| core::CollisionModel * | model2, | |||
| bool & | swapModels | |||
| ) |
Definition at line 64 of file Intersection.cpp.
References getType(), and sofa::helper::gettypename().
Referenced by sofa::component::collision::DiscreteIntersection::findIntersector().
| helper::TypeInfo sofa::core::componentmodel::collision::IntersectorMap::getType | ( | core::CollisionModel * | model | ) |
Definition at line 45 of file Intersection.cpp.
References castMap, and classes.
Referenced by get().
| void sofa::core::componentmodel::collision::IntersectorMap::ignore | ( | ) | [inline] |
Definition at line 117 of file Intersection.inl.
References castMap, classes, classid, and sofa::core::objectmodel::ClassInfo::type().
Referenced by sofa::component::collision::NewProximityIntersection::init(), sofa::component::collision::MinProximityIntersection::init(), and sofa::component::collision::LocalMinDistance::init().
std::map< helper::TypeInfo, helper::TypeInfo > sofa::core::componentmodel::collision::IntersectorMap::castMap [protected] |
std::set< const objectmodel::ClassInfo* > sofa::core::componentmodel::collision::IntersectorMap::classes [protected] |
1.5.7.1