sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T > Class Template Reference

Inheritance diagram for sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >:

Inheritance graph
[legend]
Collaboration diagram for sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >:

Collaboration graph
[legend]

Public Types

typedef Elem1::Model Model1
typedef Elem2::Model Model2

Public Member Functions

 MemberElementIntersector (T *ptr)
bool canIntersect (core::CollisionElementIterator elem1, core::CollisionElementIterator elem2)
 Test if 2 elements can collide. Note that this can be conservative (i.e. return true even when no collision is present).
int beginIntersect (core::CollisionModel *model1, core::CollisionModel *model2, DetectionOutputVector *&contacts)
 Begin intersection tests between two collision models.
int intersect (core::CollisionElementIterator elem1, core::CollisionElementIterator elem2, DetectionOutputVector *contacts)
 Compute the intersection between 2 elements.
std::string name () const
int endIntersect (core::CollisionModel *model1, core::CollisionModel *model2, DetectionOutputVector *contacts)
 End intersection tests between two collision models. Return the number of contacts written in the contacts vector.

Protected Attributes

T * impl

Detailed Description

template<class Elem1, class Elem2, class T>
class sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >

Definition at line 49 of file Intersection.inl.


Member Typedef Documentation

template<class Elem1 , class Elem2 , class T >
typedef Elem1::Model sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::Model1

Definition at line 52 of file Intersection.inl.

template<class Elem1 , class Elem2 , class T >
typedef Elem2::Model sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::Model2

Definition at line 53 of file Intersection.inl.


Constructor & Destructor Documentation

template<class Elem1 , class Elem2 , class T >
sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::MemberElementIntersector ( T *  ptr  )  [inline]

Definition at line 54 of file Intersection.inl.


Member Function Documentation

template<class Elem1 , class Elem2 , class T >
int sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::beginIntersect ( core::CollisionModel *  model1,
core::CollisionModel *  model2,
DetectionOutputVector *&  contacts 
) [inline, 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.

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

Definition at line 65 of file Intersection.inl.

References sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::impl.

template<class Elem1 , class Elem2 , class T >
bool sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::canIntersect ( core::CollisionElementIterator  elem1,
core::CollisionElementIterator  elem2 
) [inline, virtual]

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::componentmodel::collision::ElementIntersector.

Definition at line 56 of file Intersection.inl.

References sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::impl.

template<class Elem1 , class Elem2 , class T >
int sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::endIntersect ( core::CollisionModel *  model1,
core::CollisionModel *  model2,
DetectionOutputVector *  contacts 
) [inline, virtual]

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

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

Definition at line 90 of file Intersection.inl.

References sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::impl.

template<class Elem1 , class Elem2 , class T >
int sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::intersect ( core::CollisionElementIterator  elem1,
core::CollisionElementIterator  elem2,
DetectionOutputVector *  contacts 
) [inline, virtual]

template<class Elem1 , class Elem2 , class T >
std::string sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::name (  )  const [inline, virtual]


Field Documentation

template<class Elem1 , class Elem2 , class T >
T* sofa::core::componentmodel::collision::MemberElementIntersector< Elem1, Elem2, T >::impl [protected]


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

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