sofa::core::CollisionElementIterator Class Reference

Reference to an abstract collision element. More...

#include <CollisionElement.h>

Inheritance diagram for sofa::core::CollisionElementIterator:

Inheritance graph
[legend]
Collaboration diagram for sofa::core::CollisionElementIterator:

Collaboration graph
[legend]

Public Member Functions

 CollisionElementIterator (CollisionModel *model=NULL, int index=0)
 Constructor.
 CollisionElementIterator (CollisionModel *model, VIterator it, VIterator itend)
 Constructor.
 CollisionElementIterator (CollisionModel *model, int index, VIterator it, VIterator itend)
 Constructor.
template<class DerivedModel >
 CollisionElementIterator (const TCollisionElementIterator< DerivedModel > &i)
 Automatic conversion from a reference to an element in a derived model.
template<class DerivedModel >
void operator= (const TCollisionElementIterator< DerivedModel > &i)
 Automatic conversion from a reference to an element in a derived model.

Detailed Description

Reference to an abstract collision element.

You can think of a CollisionElementIterator as a glorified pointer to a collision element. It is only there to create a reference to it, not to actual contain its data. Classes derived from TCollisionElementIterator does not store any data, but just provide methods allowing to access the additionnal data stored inside the derived CollisionModel. For instance, the Cube class adds the minVect() / maxVect() methods to retrieve the corners of the cube, however this data is not stored inside Cube, instead it is stored inside the CubeData class within CubeModel.

Definition at line 273 of file CollisionElement.h.


Constructor & Destructor Documentation

sofa::core::CollisionElementIterator::CollisionElementIterator ( CollisionModel *  model = NULL,
int  index = 0 
) [inline]

Constructor.

In most cases it will be used by the CollisionModel to create interators to its elements (such as in the begin() and end() methods).

Definition at line 280 of file CollisionElement.h.

sofa::core::CollisionElementIterator::CollisionElementIterator ( CollisionModel *  model,
VIterator  it,
VIterator  itend 
) [inline]

Constructor.

This constructor should be used in case a vector of indices is used.

Definition at line 287 of file CollisionElement.h.

sofa::core::CollisionElementIterator::CollisionElementIterator ( CollisionModel *  model,
int  index,
VIterator  it,
VIterator  itend 
) [inline]

Constructor.

This constructor should be used in case a vector of indices is used.

Definition at line 294 of file CollisionElement.h.

template<class DerivedModel >
sofa::core::CollisionElementIterator::CollisionElementIterator ( const TCollisionElementIterator< DerivedModel > &  i  )  [inline]

Automatic conversion from a reference to an element in a derived model.

Definition at line 301 of file CollisionElement.h.


Member Function Documentation

template<class DerivedModel >
void sofa::core::CollisionElementIterator::operator= ( const TCollisionElementIterator< DerivedModel > &  i  )  [inline]


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

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