![]() |
Orfeo Toolbox
3.16
|
Front iterator on Mesh class. More...
#include <itkQuadEdgeMeshFrontIterator.h>
Inheritance diagram for itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >:
Collaboration diagram for itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >:Classes | |
| class | FrontAtom |
| Atomic information associated to each edge of the front. More... | |
Public Types | |
| typedef TMesh | MeshType |
| typedef TQE | QEType |
| typedef QuadEdgeMeshFrontBaseIterator | Self |
Public Member Functions | |
| QuadEdgeMeshFrontBaseIterator (MeshType *mesh=(MeshType *) 0, bool start=true, QEType *seed=(QEType *) 0) | |
| virtual | ~QuadEdgeMeshFrontBaseIterator () |
| MeshType * | GetMesh () const |
| bool | operator!= (Self &r) |
| bool | operator!= (const Self &r) const |
| Self & | operator++ () |
| Self & | operator++ (int) |
| Self & | operator= (const Self &r) |
| bool | operator== (Self &r) |
| bool | operator== (const Self &r) const |
Protected Types | |
| typedef MeshType::CoordRepType | CoordRepType |
| typedef std::list< FrontAtom > | FrontType |
| typedef FrontType::iterator | FrontTypeIterator |
| typedef FrontType * | FrontTypePointer |
| typedef MapContainer < QEOriginType, bool > | IsVisitedContainerType |
| typedef IsVisitedContainerType::Pointer | IsVisitedPointerType |
| typedef QEType::OriginRefType | QEOriginType |
Protected Member Functions | |
| QEType * | FindDefaultSeed () |
| virtual CoordRepType | GetCost (QEType *edge) |
Protected Attributes | |
| QEType * | m_CurrentEdge |
| FrontTypePointer | m_Front |
| IsVisitedPointerType | m_IsPointVisited |
| MeshType * | m_Mesh |
| QEType * | m_Seed |
| bool | m_Start |
Front iterator on Mesh class.
Like topological and geometrical operators, it iterates on edges. Unlike them, this iterator is not local, nor cyclic. Starting from a given seed, it will create a front that propagates on the surface. Depending on the weight associated wich each edge, and on the type of the seed (primal or dual) it can be used for frint propagation algorithm, distance tree computation or other Djikstra like algorithms.
Definition at line 78 of file itkQuadEdgeMeshFrontIterator.h.
|
protected |
Definition at line 90 of file itkQuadEdgeMeshFrontIterator.h.
|
protected |
The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom
Definition at line 126 of file itkQuadEdgeMeshFrontIterator.h.
|
protected |
Definition at line 127 of file itkQuadEdgeMeshFrontIterator.h.
|
protected |
Definition at line 128 of file itkQuadEdgeMeshFrontIterator.h.
|
protected |
Whether an Origin (i.e. a vertex or a face since we either deal with primal or dual edges) was already visited.
Definition at line 133 of file itkQuadEdgeMeshFrontIterator.h.
|
protected |
Definition at line 134 of file itkQuadEdgeMeshFrontIterator.h.
| typedef TMesh itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::MeshType |
Definition at line 85 of file itkQuadEdgeMeshFrontIterator.h.
|
protected |
Definition at line 92 of file itkQuadEdgeMeshFrontIterator.h.
| typedef TQE itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QEType |
Definition at line 86 of file itkQuadEdgeMeshFrontIterator.h.
| typedef QuadEdgeMeshFrontBaseIterator itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::Self |
Definition at line 82 of file itkQuadEdgeMeshFrontIterator.h.
| itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QuadEdgeMeshFrontBaseIterator | ( | MeshType * | mesh = (MeshType*)0, |
| bool | start = true, |
||
| QEType * | seed = (QEType*)0 |
||
| ) |
Object creation methods.
Definition at line 28 of file itkQuadEdgeMeshFrontIterator.txx.
References itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::FindDefaultSeed(), itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_CurrentEdge, itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Front, itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_IsPointVisited, itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Start, and itk::MapContainer< TElementIdentifier, TElement >::New().
|
virtual |
Definition at line 60 of file itkQuadEdgeMeshFrontIterator.txx.
|
protected |
Find a default seed by taking any edge (with proper type) in the current mesh.
Find in the cell container an arbitrary underlying edge with type QEType.
Definition at line 141 of file itkQuadEdgeMeshFrontIterator.txx.
Referenced by itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QuadEdgeMeshFrontBaseIterator().
|
inlineprotectedvirtual |
The default cost associated to an edge is simply 1. This corresponds to the "topological metric" i.e. all edges have unit length.
Definition at line 190 of file itkQuadEdgeMeshFrontIterator.h.
|
inline |
Definition at line 179 of file itkQuadEdgeMeshFrontIterator.h.
References itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Mesh.
Referenced by itk::QuadEdgeMeshConstFrontIterator< TMesh, TQE >::operator=().
|
inline |
Definition at line 165 of file itkQuadEdgeMeshFrontIterator.h.
|
inline |
Definition at line 170 of file itkQuadEdgeMeshFrontIterator.h.
| QuadEdgeMeshFrontBaseIterator< TMesh, TQE > & itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator++ | ( | ) |
Definition at line 72 of file itkQuadEdgeMeshFrontIterator.txx.
|
inline |
Definition at line 177 of file itkQuadEdgeMeshFrontIterator.h.
|
inline |
Definition at line 143 of file itkQuadEdgeMeshFrontIterator.h.
References itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_CurrentEdge, itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Front, itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_IsPointVisited, itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Mesh, itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Seed, and itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Start.
|
inline |
Definition at line 155 of file itkQuadEdgeMeshFrontIterator.h.
References itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Start.
|
inline |
Definition at line 160 of file itkQuadEdgeMeshFrontIterator.h.
References itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Start.
|
protected |
The current edge at this stage of iteration
Definition at line 204 of file itkQuadEdgeMeshFrontIterator.h.
Referenced by itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator=(), itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QuadEdgeMeshFrontBaseIterator(), itk::QuadEdgeMeshFrontIterator< TMesh, TQE >::Value(), and itk::QuadEdgeMeshConstFrontIterator< TMesh, TQE >::Value().
|
protected |
The active front
Definition at line 200 of file itkQuadEdgeMeshFrontIterator.h.
Referenced by itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator=(), and itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QuadEdgeMeshFrontBaseIterator().
|
protected |
The already visited points
Definition at line 202 of file itkQuadEdgeMeshFrontIterator.h.
Referenced by itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator=(), and itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QuadEdgeMeshFrontBaseIterator().
|
protected |
Mesh on which we propagate the front
Definition at line 194 of file itkQuadEdgeMeshFrontIterator.h.
Referenced by itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::GetMesh(), itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator=(), and itk::QuadEdgeMeshConstFrontIterator< TMesh, TQE >::operator=().
|
protected |
Initial seed of the front
Definition at line 196 of file itkQuadEdgeMeshFrontIterator.h.
Referenced by itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator=().
|
protected |
Whether the iterator is active
Definition at line 198 of file itkQuadEdgeMeshFrontIterator.h.
Referenced by itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator=(), itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator==(), and itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QuadEdgeMeshFrontBaseIterator().