ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Protected Attributes | List of all members
itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor Class Reference

#include <itkCellInterface.h>

Detailed Description

template<typename TPixelType, typename TCellTraits>
class itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor

A visitor that can visit different cell types in a mesh. CellInterfaceVisitor instances can be registered for each type of cell that needs to be visited.

Definition at line 155 of file itkCellInterface.h.

+ Inheritance diagram for itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor:
+ Collaboration diagram for itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor:

Public Types

using Pointer = SmartPointer< Self >
 
using Self = MultiVisitor
 
using VisitorPointer = typename VisitorType::Pointer
 
using VisitorPointerValueType = typename std::map< CellGeometryEnum, VisitorPointer >::value_type
 
using VisitorType = CellInterfaceVisitor< TPixelType, TCellTraits >
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

void AddVisitor (VisitorType *v)
 
const char * GetNameOfClass () const override
 
VisitorTypeGetVisitor (CellGeometryEnum id)
 
 ~MultiVisitor () override=default
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual Pointer CreateAnother () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Protected Attributes

std::map< CellGeometryEnum, VisitorPointerm_UserDefined
 
VisitorPointer m_Visitors [static_cast< int >(CellGeometryEnum::LAST_ITK_CELL)]
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Additional Inherited Members

- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Member Typedef Documentation

◆ Pointer

template<typename TPixelType, typename TCellTraits>
using itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::Pointer = SmartPointer<Self>

Definition at line 164 of file itkCellInterface.h.

◆ Self

template<typename TPixelType, typename TCellTraits>
using itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::Self = MultiVisitor

Standard class type aliases.

Definition at line 163 of file itkCellInterface.h.

◆ VisitorPointer

template<typename TPixelType, typename TCellTraits>
using itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::VisitorPointer = typename VisitorType::Pointer

Typedefs for the visitor class.

Definition at line 181 of file itkCellInterface.h.

◆ VisitorPointerValueType

template<typename TPixelType, typename TCellTraits>
using itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::VisitorPointerValueType = typename std::map<CellGeometryEnum, VisitorPointer>::value_type

Definition at line 182 of file itkCellInterface.h.

◆ VisitorType

template<typename TPixelType, typename TCellTraits>
using itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::VisitorType = CellInterfaceVisitor<TPixelType, TCellTraits>

Visitor type, because VisualC++ 6.0 does not like Visitor being a nested type of CellInterfaceVisitor

Definition at line 160 of file itkCellInterface.h.

Constructor & Destructor Documentation

◆ ~MultiVisitor()

template<typename TPixelType, typename TCellTraits>
itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::~MultiVisitor ( )
overridedefault

Member Function Documentation

◆ AddVisitor()

template<typename TPixelType, typename TCellTraits>
void itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::AddVisitor ( VisitorType v)
inline

◆ GetNameOfClass()

template<typename TPixelType, typename TCellTraits>
const char* itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::GetNameOfClass ( ) const
overridevirtual

Run-time type information (and related methods).

Reimplemented from itk::LightObject.

◆ GetVisitor()

template<typename TPixelType, typename TCellTraits>
VisitorType* itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::GetVisitor ( CellGeometryEnum  id)
inline

Definition at line 186 of file itkCellInterface.h.

References itk::CommonEnums::LAST_ITK_CELL.

◆ New()

template<typename TPixelType, typename TCellTraits>
static Pointer itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::New ( )
inlinestatic

Method for creation through the object factory.

Definition at line 169 of file itkCellInterface.h.

References itk::SmartPointer< TObjectType >::UnRegister().

Member Data Documentation

◆ m_UserDefined

template<typename TPixelType, typename TCellTraits>
std::map<CellGeometryEnum, VisitorPointer> itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::m_UserDefined
protected

Definition at line 224 of file itkCellInterface.h.

◆ m_Visitors

template<typename TPixelType, typename TCellTraits>
VisitorPointer itk::CellInterface< TPixelType, TCellTraits >::MultiVisitor::m_Visitors[static_cast< int >(CellGeometryEnum::LAST_ITK_CELL)]
protected

Definition at line 221 of file itkCellInterface.h.


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