#include <Intersection.h>
Table storing associations between types of collision models and intersectors implementing intersection tests
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 RayCollisionModel will also be used for RayPickIntersector).
Protected Attributes | |
InternalMap | intersectorsMap |
std::map< helper::TypeInfo, helper::TypeInfo > | castMap |
std::set< const objectmodel::ClassInfo * > | classes |
Public Member Functions | |
template<class Model1 , class Model2 , class T > | |
void | add (T *ptr) |
template<class Model1 , class Model2 > | |
void | ignore () |
~IntersectorMap () | |
helper::TypeInfo | getType (core::CollisionModel *model) |
ElementIntersector * | get (core::CollisionModel *model1, core::CollisionModel *model2, bool &swapModels) |
Protected Member Functions | |
template<class Model1 , class Model2 > | |
void | add_impl (ElementIntersector *intersector) |
void | add_impl (const objectmodel::ClassInfo &c1, const objectmodel::ClassInfo &c2, ElementIntersector *intersector) |
void | insert (const helper::TypeInfo &t1, const helper::TypeInfo &t2, ElementIntersector *intersector) |
|
protected |
|
protected |
|
protected |
sofa::core::collision::IntersectorMap::~IntersectorMap | ( | ) |
void sofa::core::collision::IntersectorMap::add | ( | T * | ptr | ) |
|
protected |
|
protected |
ElementIntersector * sofa::core::collision::IntersectorMap::get | ( | core::CollisionModel * | model1, |
core::CollisionModel * | model2, | ||
bool & | swapModels | ||
) |
helper::TypeInfo sofa::core::collision::IntersectorMap::getType | ( | core::CollisionModel * | model | ) |
void sofa::core::collision::IntersectorMap::ignore |
|
protected |