ITK  5.2.0
Insight Toolkit
Classes | Public Types | Protected Types | List of all members
itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE > Class Template Reference

#include <itkQuadEdgeMeshFrontIterator.h>

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

Classes

class  FrontAtom
 

Public Types

using MeshType = TMesh
 
using QEType = TQE
 
using Self = QuadEdgeMeshFrontBaseIterator
 

Protected Types

using CoordRepType = typename MeshType::CoordRepType
 
using QEOriginType = typename QEType::OriginRefType
 
using FrontType = std::list< FrontAtom >
 
using FrontTypeIterator = typename FrontType::iterator
 
using FrontTypePointer = FrontType *
 
using IsVisitedContainerType = MapContainer< QEOriginType, bool >
 
using IsVisitedPointerType = typename IsVisitedContainerType::Pointer
 
MeshTypem_Mesh
 
QETypem_Seed
 
bool m_Start
 
FrontTypePointer m_Front
 
IsVisitedPointerType m_IsPointVisited
 
QETypem_CurrentEdge
 
 QuadEdgeMeshFrontBaseIterator (MeshType *mesh=(MeshType *) nullptr, bool start=true, QEType *seed=(QEType *) nullptr)
 
virtual ~QuadEdgeMeshFrontBaseIterator ()
 
Selfoperator= (const Self &r)
 
bool operator== (Self &r) const
 
bool operator== (const Self &r) const
 
bool operator!= (Self &r) const
 
bool operator!= (const Self &r) const
 
Selfoperator++ ()
 
Selfoperator++ (int)
 
MeshTypeGetMesh () const
 
QETypeFindDefaultSeed ()
 
virtual CoordRepType GetCost (QEType *edge)
 

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

Member Typedef Documentation

◆ CoordRepType

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

Definition at line 88 of file itkQuadEdgeMeshFrontIterator.h.

◆ FrontType

template<typename TMesh , typename TQE >
using itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::FrontType = std::list<FrontAtom>
protected

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 141 of file itkQuadEdgeMeshFrontIterator.h.

◆ FrontTypeIterator

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 142 of file itkQuadEdgeMeshFrontIterator.h.

◆ FrontTypePointer

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 143 of file itkQuadEdgeMeshFrontIterator.h.

◆ IsVisitedContainerType

template<typename TMesh , typename TQE >
using itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::IsVisitedContainerType = MapContainer<QEOriginType, bool>
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 148 of file itkQuadEdgeMeshFrontIterator.h.

◆ IsVisitedPointerType

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 149 of file itkQuadEdgeMeshFrontIterator.h.

◆ MeshType

template<typename TMesh , typename TQE >
using itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::MeshType = TMesh

Definition at line 83 of file itkQuadEdgeMeshFrontIterator.h.

◆ QEOriginType

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

Definition at line 90 of file itkQuadEdgeMeshFrontIterator.h.

◆ QEType

template<typename TMesh , typename TQE >
using itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QEType = TQE

Definition at line 84 of file itkQuadEdgeMeshFrontIterator.h.

◆ Self

template<typename TMesh , typename TQE >
using itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::Self = QuadEdgeMeshFrontBaseIterator

Definition at line 80 of file itkQuadEdgeMeshFrontIterator.h.

Constructor & Destructor Documentation

◆ QuadEdgeMeshFrontBaseIterator()

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

Object creation methods.

◆ ~QuadEdgeMeshFrontBaseIterator()

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Member Function Documentation

◆ FindDefaultSeed()

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.

◆ GetCost()

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

◆ GetMesh()

template<typename TMesh , typename TQE >
MeshType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::GetMesh ( ) const
inline

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 209 of file itkQuadEdgeMeshFrontIterator.h.

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

◆ operator!=() [1/2]

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 194 of file itkQuadEdgeMeshFrontIterator.h.

◆ operator!=() [2/2]

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 188 of file itkQuadEdgeMeshFrontIterator.h.

◆ operator++() [1/2]

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

◆ operator++() [2/2]

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 203 of file itkQuadEdgeMeshFrontIterator.h.

◆ operator=()

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

◆ operator==() [1/2]

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 182 of file itkQuadEdgeMeshFrontIterator.h.

References itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Start.

◆ operator==() [2/2]

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

The active front is simply a list of edges that can be sorted on the sort attribute FrontAtom

Definition at line 176 of file itkQuadEdgeMeshFrontIterator.h.

References itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_Start.

Member Data Documentation

◆ m_CurrentEdge

template<typename TMesh , typename TQE >
QEType* itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::m_CurrentEdge
protected

The current edge at this stage of iteration

Definition at line 249 of file itkQuadEdgeMeshFrontIterator.h.

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

◆ m_Front

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

The active front

Definition at line 243 of file itkQuadEdgeMeshFrontIterator.h.

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

◆ m_IsPointVisited

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

The already visited points

Definition at line 246 of file itkQuadEdgeMeshFrontIterator.h.

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

◆ m_Mesh

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

Mesh on which we propagate the front

Definition at line 234 of file itkQuadEdgeMeshFrontIterator.h.

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

◆ m_Seed

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

Initial seed of the front

Definition at line 237 of file itkQuadEdgeMeshFrontIterator.h.

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

◆ m_Start

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

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