ITK  4.1.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE > Class Template Reference

#include <itkQuadEdgeMeshFrontIterator.h>

+ Inheritance diagram for itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >:
+ Collaboration diagram for itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >:

List of all members.

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

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
 QuadEdgeMeshFrontBaseIterator (MeshType *mesh=(MeshType *) 0, bool start=true, QEType *seed=(QEType *) 0)
virtual ~QuadEdgeMeshFrontBaseIterator ()

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 89 of file itkQuadEdgeMeshFrontIterator.h.


Member Typedef Documentation

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

Definition at line 100 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 137 of file itkQuadEdgeMeshFrontIterator.h.

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

Definition at line 138 of file itkQuadEdgeMeshFrontIterator.h.

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

Definition at line 139 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 144 of file itkQuadEdgeMeshFrontIterator.h.

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

Definition at line 145 of file itkQuadEdgeMeshFrontIterator.h.

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

Definition at line 102 of file itkQuadEdgeMeshFrontIterator.h.

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

Constructor & Destructor Documentation

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

Object creation methods.

template<typename TMesh , typename TQE >
virtual itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::~QuadEdgeMeshFrontBaseIterator ( ) [virtual]

Object creation methods.


Member Function Documentation

template<typename TMesh , typename TQE >
QEType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::FindDefaultSeed ( ) [protected]

Find a default seed by taking any edge (with proper type) in the current mesh.

template<typename TMesh , typename TQE >
virtual CoordRepType itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::GetCost ( QEType edge) [inline, protected, virtual]

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 201 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 177 of file itkQuadEdgeMeshFrontIterator.h.

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

Definition at line 182 of file itkQuadEdgeMeshFrontIterator.h.

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

Definition at line 189 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]

The current edge at this stage of iteration

Definition at line 220 of file itkQuadEdgeMeshFrontIterator.h.

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

template<typename TMesh , typename TQE >
FrontTypePointer itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Front [protected]

The active front

Definition at line 214 of file itkQuadEdgeMeshFrontIterator.h.

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

template<typename TMesh , typename TQE >
IsVisitedPointerType itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_IsPointVisited [protected]

The already visited points

Definition at line 217 of file itkQuadEdgeMeshFrontIterator.h.

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

template<typename TMesh , typename TQE >
MeshType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Mesh [protected]

Mesh on which we propagate the front

Definition at line 205 of file itkQuadEdgeMeshFrontIterator.h.

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

template<typename TMesh , typename TQE >
QEType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Seed [protected]

Initial seed of the front

Definition at line 208 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 file: