ug4
|
Iterator that allows to traverse associated elements of a given element. More...
#include <associated_elements_iterator.h>
Public Member Functions | |
AssocElemIter (Grid &grid, TElem *elem, typename Grid::traits< TAssocElem >::callback cbConsiderElem=ConsiderAll()) | |
AssocElemIter (typename Grid::traits< TAssocElem >::callback cbConsiderElem=ConsiderAll()) | |
AssocElemIter | end () const |
bool | invalid () const |
bool | operator!= (const AssocElemIter &iter) const |
returns true if exactly one iterator is invalid or if the iterators point to different elements. More... | |
TAssocElem * | operator* () |
AssocElemIter & | operator++ () |
AssocElemIter | operator++ (int unused) |
bool | operator== (const AssocElemIter &iter) const |
returns true if both iterators are invalid or if both point to the same elemnt. More... | |
void | reinit (Grid &grid, TElem *elem) |
void | reinit (Grid &grid, TElem *elem, typename Grid::traits< TAssocElem >::callback cb) |
void | set_callback (typename Grid::traits< TAssocElem >::callback cbConsiderElem) |
bool | valid () const |
Private Member Functions | |
TAssocElem * | dereference () const |
dereference More... | |
bool | equal (AssocElemIter const &other) const |
returns true if both iterators are invalid or if both point to the same elemnt. More... | |
void | increment () |
returns next iterator More... | |
void | init (Grid &grid, TElem *elem) |
Private Attributes | |
Grid::traits< TAssocElem >::secure_container | m_assElems |
Grid::traits< TAssocElem >::callback | m_cbConsiderElem |
size_t | m_i |
Iterator that allows to traverse associated elements of a given element.
The type of the element whose associated elements shall be traversed has to be specified through the template argument TElem. The type of the associated elements has to be specified through the TAssocElem template argument. Through VRefOrder one can choose whether the traversed associated elements shall be sorted in the order in which they appear in the reference element of given element (false by default).
|
inline |
|
inline |
|
inlineprivate |
dereference
References ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_assElems, and ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_i.
Referenced by ug::AssocElemIter< TElem, TAssocElem, VSorted >::equal(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::increment(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::init(), and ug::AssocElemIter< TElem, TAssocElem, VSorted >::operator*().
|
inline |
|
inlineprivate |
returns true if both iterators are invalid or if both point to the same elemnt.
References ug::AssocElemIter< TElem, TAssocElem, VSorted >::dereference(), and ug::AssocElemIter< TElem, TAssocElem, VSorted >::valid().
Referenced by ug::AssocElemIter< TElem, TAssocElem, VSorted >::operator!=(), and ug::AssocElemIter< TElem, TAssocElem, VSorted >::operator==().
|
inlineprivate |
returns next iterator
References ug::AssocElemIter< TElem, TAssocElem, VSorted >::dereference(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_cbConsiderElem, ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_i, and ug::AssocElemIter< TElem, TAssocElem, VSorted >::valid().
Referenced by ug::AssocElemIter< TElem, TAssocElem, VSorted >::init(), and ug::AssocElemIter< TElem, TAssocElem, VSorted >::operator++().
|
inlineprivate |
References ug::Grid::associated_elements(), ug::Grid::associated_elements_sorted(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::dereference(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::increment(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_assElems, ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_cbConsiderElem, and ug::AssocElemIter< TElem, TAssocElem, VSorted >::valid().
Referenced by ug::AssocElemIter< TElem, TAssocElem, VSorted >::AssocElemIter(), and ug::AssocElemIter< TElem, TAssocElem, VSorted >::reinit().
|
inline |
|
inline |
returns true if exactly one iterator is invalid or if the iterators point to different elements.
References ug::AssocElemIter< TElem, TAssocElem, VSorted >::equal().
|
inline |
|
inline |
|
inline |
|
inline |
returns true if both iterators are invalid or if both point to the same elemnt.
References ug::AssocElemIter< TElem, TAssocElem, VSorted >::equal().
|
inline |
References ug::AssocElemIter< TElem, TAssocElem, VSorted >::init(), and ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_i.
Referenced by ug::SelectKinkVertices(), and ug::SimplifyPolylines().
|
inline |
|
inline |
|
inline |
References ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_assElems, and ug::AssocElemIter< TElem, TAssocElem, VSorted >::m_i.
Referenced by ug::AssocElemIter< TElem, TAssocElem, VSorted >::equal(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::increment(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::init(), ug::SelectKinkVertices(), and ug::SimplifyPolylines().
|
private |
|
private |
|
private |
Referenced by ug::AssocElemIter< TElem, TAssocElem, VSorted >::dereference(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::end(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::increment(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::invalid(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::reinit(), and ug::AssocElemIter< TElem, TAssocElem, VSorted >::valid().