18#ifndef itkQuadEdgeMeshMacro_h
19#define itkQuadEdgeMeshMacro_h
47#define itkQEMeshForAllPointsMacro(MeshType, MeshInstance, PointVariable, PointIndex) \
49 using PointType = typename MeshType::PointType; \
50 using PointIdentifier = typename MeshType::PointIdentifier; \
51 using PointsContainer = typename MeshType::PointsContainer; \
52 using PointsContainerIterator = typename MeshType::PointsContainerIterator; \
54 PointsContainer * points = (MeshInstance)->GetPoints(); \
58 itkWarningMacro("No point container in itkQEMeshForAllPointsMacro"); \
62 PointsContainerIterator pointIterator = points->Begin(); \
63 while (pointIterator != points->End()) \
65 PointType PointVariable = pointIterator.Value(); \
66 PointIdentifier PointIndex = pointIterator.Index();
75#define itkQEMeshForAllPointsEndMacro \
101#define itkQEMeshForAllCellsMacro(MeshType, MeshInstance, cellIterator) \
103 using CellsContainer = typename MeshType::CellsContainer; \
104 using CellsContainerIterator = typename MeshType::CellsContainerIterator; \
106 if (!MeshInstance->GetCells()) \
108 itkWarningMacro("No Cells container in itkQEMeshForAllCellsMacro"); \
112 CellsContainerIterator cellIterator = MeshInstance->GetCells()->Begin(); \
113 while (cellIterator != MeshInstance->GetCells()->End()) \
123#define itkQEMeshForAllCellsEndMacro(cellIterator) \
146#define itkQEMeshForAllPrimalEdgesMacro(MeshType, MeshInstance, EdgeVariable) \
148 using QEPrimal = typename MeshType::QEPrimal; \
150 itkQEMeshForAllCellsMacro(MeshType, MeshInstance, cellIterator) \
152 if (QEPrimal * EdgeVariable = dynamic_cast<QEPrimal *>(cellIterator.Value())) \
162#define itkQEMeshForAllPrimalEdgesEndMacro \
165 itkQEMeshForAllCellsEndMacro \
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....