Orfeo Toolbox  3.16
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE > Class Template Reference

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 ()
 
MeshTypeGetMesh () const
 
bool operator!= (Self &r)
 
bool operator!= (const Self &r) const
 
Selfoperator++ ()
 
Selfoperator++ (int)
 
Selfoperator= (const Self &r)
 
bool operator== (Self &r)
 
bool operator== (const Self &r) const
 

Protected Types

typedef MeshType::CoordRepType CoordRepType
 
typedef std::list< FrontAtomFrontType
 
typedef FrontType::iterator FrontTypeIterator
 
typedef FrontTypeFrontTypePointer
 
typedef MapContainer
< QEOriginType, bool > 
IsVisitedContainerType
 
typedef
IsVisitedContainerType::Pointer 
IsVisitedPointerType
 
typedef QEType::OriginRefType QEOriginType
 

Protected Member Functions

QETypeFindDefaultSeed ()
 
virtual CoordRepType GetCost (QEType *edge)
 

Protected Attributes

QETypem_CurrentEdge
 
FrontTypePointer m_Front
 
IsVisitedPointerType m_IsPointVisited
 
MeshTypem_Mesh
 
QETypem_Seed
 
bool m_Start
 

Detailed Description

template<typename TMesh, typename TQE>
class itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >

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.

Member Typedef Documentation

template<typename TMesh, typename TQE>
typedef MeshType::CoordRepType itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::CoordRepType
protected

Definition at line 90 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
typedef std::list< FrontAtom > itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::FrontType
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.

template<typename TMesh, typename TQE>
typedef FrontType::iterator itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::FrontTypeIterator
protected

Definition at line 127 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
typedef FrontType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::FrontTypePointer
protected

Definition at line 128 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
typedef MapContainer< QEOriginType, bool > itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::IsVisitedContainerType
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.

template<typename TMesh, typename TQE>
typedef IsVisitedContainerType::Pointer itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::IsVisitedPointerType
protected

Definition at line 134 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
typedef TMesh itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::MeshType

Definition at line 85 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
typedef QEType::OriginRefType itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QEOriginType
protected

Definition at line 92 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
typedef TQE itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QEType

Definition at line 86 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
typedef QuadEdgeMeshFrontBaseIterator itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::Self

Definition at line 82 of file itkQuadEdgeMeshFrontIterator.h.

Constructor & Destructor Documentation

template<class TMesh , class TQE >
itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QuadEdgeMeshFrontBaseIterator ( MeshType mesh = (MeshType*)0,
bool  start = true,
QEType seed = (QEType*)0 
)
template<class TMesh , class TQE >
itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::~QuadEdgeMeshFrontBaseIterator ( )
virtual

Definition at line 60 of file itkQuadEdgeMeshFrontIterator.txx.

Member Function Documentation

template<class TMesh , class TQE >
QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QEType * itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::FindDefaultSeed ( )
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().

template<typename TMesh, typename TQE>
virtual CoordRepType itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::GetCost ( QEType edge)
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.

template<typename TMesh, typename TQE>
MeshType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::GetMesh ( ) const
inline
template<typename TMesh, typename TQE>
bool itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator!= ( Self r)
inline

Definition at line 165 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
bool itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator!= ( const Self r) const
inline

Definition at line 170 of file itkQuadEdgeMeshFrontIterator.h.

template<class TMesh , class TQE >
QuadEdgeMeshFrontBaseIterator< TMesh, TQE > & itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator++ ( )

Definition at line 72 of file itkQuadEdgeMeshFrontIterator.txx.

template<typename TMesh, typename TQE>
Self& itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator++ ( int  )
inline

Definition at line 177 of file itkQuadEdgeMeshFrontIterator.h.

template<typename TMesh, typename TQE>
Self& itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator= ( const Self r)
inline
template<typename TMesh, typename TQE>
bool itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator== ( Self r)
inline
template<typename TMesh, typename TQE>
bool itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator== ( const Self r) const
inline

Member Data Documentation

template<typename TMesh, typename TQE>
QEType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_CurrentEdge
protected
template<typename TMesh, typename TQE>
FrontTypePointer itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Front
protected
template<typename TMesh, typename TQE>
IsVisitedPointerType itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_IsPointVisited
protected
template<typename TMesh, typename TQE>
MeshType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Mesh
protected
template<typename TMesh, typename TQE>
QEType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Seed
protected

Initial seed of the front

Definition at line 196 of file itkQuadEdgeMeshFrontIterator.h.

Referenced by itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::operator=().

template<typename TMesh, typename TQE>
bool itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Start
protected

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

Generated at Sun May 19 2013 02:24:48 for Orfeo Toolbox with doxygen 1.8.3.1