Chaste Release::3.1
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator Class Reference

#include <VertexMesh.hpp>

Collaboration diagram for VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator:

List of all members.

Public Member Functions

VertexElement< ELEMENT_DIM,
SPACE_DIM > & 
operator* ()
VertexElement< ELEMENT_DIM,
SPACE_DIM > * 
operator-> ()
bool operator!= (const VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator &rOther)
VertexElementIteratoroperator++ ()
 VertexElementIterator (VertexMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, typename std::vector< VertexElement< ELEMENT_DIM, SPACE_DIM > * >::iterator elementIter, bool skipDeletedElements=true)

Private Member Functions

bool IsAtEnd ()
bool IsAllowedElement ()

Private Attributes

VertexMeshmrMesh
std::vector< VertexElement
< ELEMENT_DIM, SPACE_DIM >
* >::iterator 
mElementIter
bool mSkipDeletedElements

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator

A smart iterator over the elements in the mesh.

Todo:
This is the same as in AbstractTetrahedralMesh and PottsMesh - merge? (#1379)

Definition at line 533 of file VertexMesh.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::VertexElementIterator ( VertexMesh< ELEMENT_DIM, SPACE_DIM > &  rMesh,
typename std::vector< VertexElement< ELEMENT_DIM, SPACE_DIM > * >::iterator  elementIter,
bool  skipDeletedElements = true 
)

Constructor for a new iterator.

This should not be called directly by user code; use the mesh methods VertexMesh::GetElementIteratorBegin and VertexMesh::GetElementIteratorEnd instead.

Parameters:
rMeshthe mesh to iterator over
elementIterwhere to start iterating
skipDeletedElementswhether to include deleted elements

Definition at line 650 of file VertexMesh.hpp.

References VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::IsAllowedElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::mElementIter, VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements, and VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::mrMesh.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::IsAllowedElement ( ) [inline, private]

Helper method to say if we're allowed to point at this element.

Definition at line 680 of file VertexMesh.hpp.

Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::VertexElementIterator().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::IsAtEnd ( ) [inline, private]

Helper method to say when we're at the end.

Definition at line 674 of file VertexMesh.hpp.

References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements.

Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::operator*().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::operator!= ( const VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator rOther) [inline]

Comparison not-equal-to.

Parameters:
rOtheriterator with which comparison is made

Definition at line 632 of file VertexMesh.hpp.

References VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::mElementIter.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VertexElement< ELEMENT_DIM, SPACE_DIM > & VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::operator* ( ) [inline]

Dereference the iterator giving you a *reference* to the current element.

Make sure to use a reference for the result to avoid copying elements unnecessarily.

Definition at line 618 of file VertexMesh.hpp.

References VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::IsAtEnd(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::mElementIter.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator & VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::operator++ ( ) [inline]

Prefix increment operator.

Definition at line 638 of file VertexMesh.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VertexElement< ELEMENT_DIM, SPACE_DIM > * VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::operator-> ( ) [inline]

Member access from a pointer.

Definition at line 625 of file VertexMesh.hpp.


Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<VertexElement<ELEMENT_DIM, SPACE_DIM> *>::iterator VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::mElementIter [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VertexMesh& VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::mrMesh [private]

The mesh we're iterating over.

Definition at line 576 of file VertexMesh.hpp.

Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::VertexElementIterator().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::mSkipDeletedElements [private]

Whether to skip deleted elements.

Definition at line 582 of file VertexMesh.hpp.


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