#include <CollisionElement.h>


Public Types | |
| typedef std::vector< int > ::const_iterator | VIterator |
Public Member Functions | |
| BaseCollisionElementIterator (int index=0) | |
| Constructor. | |
| BaseCollisionElementIterator (int index, VIterator it, VIterator itend) | |
| Constructor. | |
| BaseCollisionElementIterator (VIterator it, VIterator itend) | |
| Constructor. | |
Iterator Interface | |
| void | next () |
| Increment this iterator to reference the next element. | |
| void | operator++ () |
| Increment this iterator to reference the next element. | |
| void | operator++ (int) |
| Increment this iterator to reference the next element. | |
| int | getIndex () const |
| Return the index of the referenced element inside the CollisionModel. | |
| const VIterator & | getVIterator () const |
| Return the current iterator in the vector of indices, in case such a vector is currently used. | |
| const VIterator & | getVIteratorEnd () const |
| Return the end iterator in the vector of indices, in case such a vector is currently used. | |
Protected Attributes | |
| int | index |
| index of the referenced element inside the CollisionModel. | |
| VIterator | it |
| current position in a vector of indices, in case this iterator traverse a non-contiguous set of indices | |
| VIterator | itend |
| end position in a vector of indices, in case this iterator traverse a non-contiguous set of indices | |
Static Protected Attributes | |
| static std::vector< int > | emptyVector |
| empty vector to be able to initialize the iterator to an empty pair | |
Definition at line 45 of file CollisionElement.h.
| typedef std::vector<int>::const_iterator sofa::core::BaseCollisionElementIterator::VIterator |
Reimplemented in sofa::core::TCollisionElementIterator< TModel >, sofa::core::TCollisionElementIterator< sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::GridModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::RigidDistanceGridCollisionModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::PointModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::RayModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::FFDDistanceGridCollisionModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::TSphereModel< DataTypes > >, sofa::core::TCollisionElementIterator< sofa::core::CollisionModel >, sofa::core::TCollisionElementIterator< sofa::gpu::cuda::CudaPointModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::CubeModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::TetrahedronModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::TriangleModel >, sofa::core::TCollisionElementIterator< sofa::component::collision::LineModel >, and sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >.
Definition at line 48 of file CollisionElement.h.
| sofa::core::BaseCollisionElementIterator::BaseCollisionElementIterator | ( | 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 54 of file CollisionElement.h.
| sofa::core::BaseCollisionElementIterator::BaseCollisionElementIterator | ( | int | index, | |
| VIterator | it, | |||
| VIterator | itend | |||
| ) | [inline] |
Constructor.
This constructor should be used in case a vector of indices is used.
Definition at line 61 of file CollisionElement.h.
| sofa::core::BaseCollisionElementIterator::BaseCollisionElementIterator | ( | VIterator | it, | |
| VIterator | itend | |||
| ) | [inline] |
Constructor.
This constructor should be used in case a vector of indices is used.
Definition at line 68 of file CollisionElement.h.
References index.
| int sofa::core::BaseCollisionElementIterator::getIndex | ( | ) | const [inline] |
Return the index of the referenced element inside the CollisionModel.
This methods should rarely be used. Users should call it.draw() instead of model->draw(it.getIndex()).
Definition at line 105 of file CollisionElement.h.
References index.
Referenced by sofa::component::collision::DefaultPickingManager< TDataTypes, ContactForceField >::attach(), sofa::component::collision::NewProximityIntersection::computeIntersection(), sofa::component::collision::MinProximityIntersection::computeIntersection(), sofa::component::collision::LocalMinDistance::computeIntersection(), sofa::component::collision::DiscreteIntersection::computeIntersection(), sofa::component::collision::RayPickInteractor::draw(), sofa::component::collision::TopologicalChangeManager::incisionTriangleModel(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::operator!=(), sofa::core::CollisionElementIterator::operator=(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::operator==(), sofa::component::collision::TopologicalChangeManager::removeItemsFromTriangleModel(), and sofa::component::collision::LocalMinDistance::testValidity().
| const VIterator& sofa::core::BaseCollisionElementIterator::getVIterator | ( | ) | const [inline] |
Return the current iterator in the vector of indices, in case such a vector is currently used.
Definition at line 111 of file CollisionElement.h.
References it.
Referenced by sofa::core::CollisionElementIterator::operator=().
| const VIterator& sofa::core::BaseCollisionElementIterator::getVIteratorEnd | ( | ) | const [inline] |
Return the end iterator in the vector of indices, in case such a vector is currently used.
Definition at line 117 of file CollisionElement.h.
References itend.
Referenced by sofa::core::CollisionElementIterator::operator=().
| void sofa::core::BaseCollisionElementIterator::next | ( | ) | [inline] |
Increment this iterator to reference the next element.
Definition at line 78 of file CollisionElement.h.
References index, it, and itend.
Referenced by operator++().
| void sofa::core::BaseCollisionElementIterator::operator++ | ( | int | ) | [inline] |
Increment this iterator to reference the next element.
Definition at line 96 of file CollisionElement.h.
References next().
| void sofa::core::BaseCollisionElementIterator::operator++ | ( | ) | [inline] |
Increment this iterator to reference the next element.
Definition at line 90 of file CollisionElement.h.
References next().
std::vector< int > sofa::core::BaseCollisionElementIterator::emptyVector [static, protected] |
empty vector to be able to initialize the iterator to an empty pair
Definition at line 128 of file CollisionElement.h.
int sofa::core::BaseCollisionElementIterator::index [protected] |
index of the referenced element inside the CollisionModel.
Definition at line 125 of file CollisionElement.h.
Referenced by BaseCollisionElementIterator(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::canCollideWith(), sofa::component::collision::SingleSphere::center(), sofa::component::collision::TSphere< DataTypes >::center(), sofa::component::collision::Ray::direction(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::draw(), sofa::component::collision::Triangle::flags(), sofa::component::collision::Tetrahedron::getBary(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::getContactFriction(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::getContactStiffness(), sofa::component::collision::Tetrahedron::getCoord(), sofa::component::collision::Tetrahedron::getDBary(), sofa::component::collision::Tetrahedron::getDCoord(), sofa::core::TCollisionElementIterator< TModel >::getExternalChildren(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getGrid(), sofa::component::collision::FFDDistanceGridCollisionElement::getGrid(), sofa::component::collision::RigidDistanceGridCollisionElement::getGrid(), getIndex(), sofa::core::TCollisionElementIterator< TModel >::getInternalChildren(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getPrevDt(), sofa::component::collision::RigidDistanceGridCollisionElement::getPrevDt(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getPrevGrid(), sofa::component::collision::RigidDistanceGridCollisionElement::getPrevGrid(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getPrevRotation(), sofa::component::collision::RigidDistanceGridCollisionElement::getPrevRotation(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getPrevTranslation(), sofa::component::collision::RigidDistanceGridCollisionElement::getPrevTranslation(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getRotation(), sofa::component::collision::RigidDistanceGridCollisionElement::getRotation(), sofa::gpu::cuda::CudaPoint::getSize(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::getTranslation(), sofa::component::collision::RigidDistanceGridCollisionElement::getTranslation(), sofa::gpu::cuda::CudaPoint::i0(), sofa::component::collision::Line::i1(), sofa::component::collision::Line::i2(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::isLeaf(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::isTransformed(), sofa::component::collision::RigidDistanceGridCollisionElement::isTransformed(), sofa::component::collision::Ray::l(), sofa::component::collision::Cube::maxVect(), sofa::component::collision::Cube::minVect(), sofa::component::collision::Triangle::n(), sofa::component::collision::Point::n(), next(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::operator!=(), sofa::core::CollisionElementIterator::operator=(), sofa::core::TCollisionElementIterator< sofa::component::collision::SphereTreeModel >::operator==(), sofa::component::collision::Ray::origin(), sofa::component::collision::Point::p(), sofa::component::collision::Triangle::p1(), sofa::component::collision::Tetrahedron::p1(), sofa::component::collision::Line::p1(), sofa::component::collision::Triangle::p1Free(), sofa::component::collision::Tetrahedron::p1Free(), sofa::component::collision::Line::p1Free(), sofa::component::collision::Triangle::p1Index(), sofa::component::collision::Tetrahedron::p1Index(), sofa::component::collision::Triangle::p2(), sofa::component::collision::Tetrahedron::p2(), sofa::component::collision::Line::p2(), sofa::component::collision::Triangle::p2Free(), sofa::component::collision::Tetrahedron::p2Free(), sofa::component::collision::Line::p2Free(), sofa::component::collision::Triangle::p2Index(), sofa::component::collision::Tetrahedron::p2Index(), sofa::component::collision::Triangle::p3(), sofa::component::collision::Tetrahedron::p3(), sofa::component::collision::Triangle::p3Free(), sofa::component::collision::Tetrahedron::p3Free(), sofa::component::collision::Triangle::p3Index(), sofa::component::collision::Tetrahedron::p3Index(), sofa::component::collision::Tetrahedron::p4(), sofa::component::collision::Tetrahedron::p4Free(), sofa::component::collision::Tetrahedron::p4Index(), sofa::component::collision::Point::pFree(), sofa::component::collision::SingleSphere::r(), sofa::component::collision::TSphere< DataTypes >::r(), sofa::component::collision::SingleSphere::setCenter(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionElement::setGrid(), sofa::component::collision::FFDDistanceGridCollisionElement::setGrid(), sofa::component::collision::RigidDistanceGridCollisionElement::setGrid(), sofa::component::collision::Cube::subcells(), sofa::component::collision::Point::testLMD(), sofa::component::collision::SingleSphere::v(), sofa::component::collision::TSphere< DataTypes >::v(), sofa::component::collision::Point::v(), sofa::component::collision::Triangle::v1(), sofa::component::collision::Tetrahedron::v1(), sofa::component::collision::Line::v1(), sofa::component::collision::Triangle::v2(), sofa::component::collision::Tetrahedron::v2(), sofa::component::collision::Line::v2(), sofa::component::collision::Triangle::v3(), sofa::component::collision::Tetrahedron::v3(), and sofa::component::collision::Tetrahedron::v4().
current position in a vector of indices, in case this iterator traverse a non-contiguous set of indices
Definition at line 126 of file CollisionElement.h.
Referenced by sofa::component::collision::GridCell::add(), getVIterator(), next(), and sofa::core::CollisionElementIterator::operator=().
end position in a vector of indices, in case this iterator traverse a non-contiguous set of indices
Definition at line 127 of file CollisionElement.h.
Referenced by getVIteratorEnd(), next(), and sofa::core::CollisionElementIterator::operator=().
1.5.7.1