ITK  4.1.0
Insight Segmentation and Registration Toolkit
Namespaces | Defines
itkQuadEdgeMeshMacro.h File Reference

Go to the source code of this file.

Namespaces

namespace  itk

Defines

#define itkQEMeshForAllCellsEndMacro(cellIterator)
#define itkQEMeshForAllCellsMacro(MeshType,MeshInstance,cellIterator)
#define itkQEMeshForAllPointsEndMacro
#define itkQEMeshForAllPrimalEdgesEndMacro
#define itkQEMeshForAllPrimalEdgesMacro(MeshType,MeshInstance,EdgeVariable)
#define itkQEMeshForAllPointsMacro(MeshType,MeshInstance,PointVariable,PointIndex)

Define Documentation

#define itkQEMeshForAllCellsEndMacro (   cellIterator)
Value:
cellIterator++;                                  \
  }    /* while */                                 \
  }    /* if */                                    \
  }

Terminates a block of code started with the macro itk::itkQEMeshForAllCellsMacro.

Warning:
Should only be used with the corresponding itk::itkQEMeshForAllCellsMacro

Definition at line 130 of file itkQuadEdgeMeshMacro.h.

#define itkQEMeshForAllCellsMacro (   MeshType,
  MeshInstance,
  cellIterator 
)
Value:
{                                                                          \
    typedef typename MeshType::CellsContainer CellsContainer;                  \
    typedef typename MeshType::CellsContainerIterator                          \
    CellsContainerIterator;                                                    \
    /* If no cells are present, do nothing */                                  \
    if ( !MeshInstance->GetCells() )                                           \
      {                                                                        \
      itkWarningMacro("No Cells container in itkQEMeshForAllCellsMacro");      \
      }                                                                        \
    else                                                                       \
      {                                                                        \
      CellsContainerIterator cellIterator = MeshInstance->GetCells()->Begin(); \
      while ( cellIterator != MeshInstance->GetCells()->End() )                \
        {                                                                      \
        /* Users code comes here: */

Iterate on all the MeshType::Cells of a given itk::QuadEdgeMesh instance.

Parameters:
MeshTypeThe type of the itk::QuadEdgeMesh
MeshInstanceThe instance of the above MeshType we are considering
cellIteratorThe name of the variable the caller wants to use to designate the MeshType::CellContainerIterator at current stage of iteration.
Author:
Alexandre Gouaillard, Leonardo Florez-Valencia, Eric Boix

This implementation was contributed as a paper to the Insight Journal http://hdl.handle.net/1926/306

Warning:
Don't forget to close the opened block with the corresponding itk::itkQEMeshForAllCellsEndMacro macro.
See also:
itk::itkQEMeshForAllPrimalEdgesMacro

Definition at line 105 of file itkQuadEdgeMeshMacro.h.

Value:
pointIterator++;                    \
  }    /* while */                    \
  }    /* if */                       \
  }

Terminates a block of code started with the macro itk::itkQEMeshForAllPointsMacro.

Warning:
Should only be used with the corresponding itk::itkQEMeshForAllPointsMacro

Definition at line 79 of file itkQuadEdgeMeshMacro.h.

#define itkQEMeshForAllPointsMacro (   MeshType,
  MeshInstance,
  PointVariable,
  PointIndex 
)
Value:
{                                                                      \
    typedef typename MeshType::PointType       PointType;                  \
    typedef typename MeshType::PointIdentifier PointIdentifier;            \
    typedef typename MeshType::PointsContainer PointsContainer;            \
    typedef typename MeshType::PointsContainerIterator                     \
    PointsContainerIterator;                                               \
                                                                           \
    PointsContainer *points = ( MeshInstance )->GetPoints();               \
    /* If no points container are present, do nothing */                   \
    if ( !points )                                                         \
      {                                                                    \
      itkWarningMacro("No point container in itkQEMeshForAllPointsMacro"); \
      }                                                                    \
    else                                                                   \
      {                                                                    \
      PointsContainerIterator pointIterator = points->Begin();             \
      while ( pointIterator != points->End() )                             \
        {                                                                  \
        PointType       PointVariable = pointIterator.Value();             \
        PointIdentifier PointIndex = pointIterator.Index();

Iterate on all the itk::QuadEdgeMeshPoint of a given itk::QuadEdgeMesh instance.

Parameters:
MeshTypeThe type of the itk::QuadEdgeMesh
MeshInstanceThe instance of the above MeshType we are considering
PointVariableThe name of the variable the caller wants to use to designate the MeshType::PointType at current stage of iteration. The variable PointVariable is of type itk::QuadEdgeMesh::PointType.
PointIndexThe name of the variable the caller wants to use to designate the index within the MeshType::PointContainer container and corresponding to PointVariable at current stage of iteration. The variable PointIndex is of type itk::QuadEdgeMesh::PointIdentifier .
Author:
Alexandre Gouaillard, Leonardo Florez-Valencia, Eric Boix

This implementation was contributed as a paper to the Insight Journal http://hdl.handle.net/1926/306

Warning:
Don't forget to close the opened block with the corresponding itk::itkQEMeshForAllPointsMacro macro.
See also:
itk::MeshExtractComponentFilter::GetOutput().

Definition at line 47 of file itkQuadEdgeMeshMacro.h.

Value:
}     /* fi */                           \
  }                                        \
  itkQEMeshForAllCellsEndMacro             \
  }

Terminates a block of code started with the macro itk::itkQEMeshForAllPrimalEdgesMacro.

Warning:
Should only be used with the corresponding itk::itkQEMeshForAllPrimalEdgesMacro

Definition at line 172 of file itkQuadEdgeMeshMacro.h.

#define itkQEMeshForAllPrimalEdgesMacro (   MeshType,
  MeshInstance,
  EdgeVariable 
)
Value:
{                                                               \
    typedef typename MeshType::QEPrimal QEPrimal;                   \
                                                                    \
    itkQEMeshForAllCellsMacro(MeshType, MeshInstance, cellIterator) \
      {                                                             \
      if ( QEPrimal * EdgeVariable =                                \
             dynamic_cast< QEPrimal * >( cellIterator.Value() ) )   \
        {                                                           \
        /* Users code comes here: */

Iterate on all the MeshType::QEPrimal* of a given itk::QuadEdgeMesh instance.

Parameters:
MeshTypeThe type of the itk::QuadEdgeMesh
MeshInstanceThe instance of the above MeshType we are considering
EdgeVariableThe name of the variable the caller wants to use to designate the MeshType::QEPrimal* at current stage of iteration.
Author:
Alexandre Gouaillard, Leonardo Florez-Valencia, Eric Boix

This implementation was contributed as a paper to the Insight Journal http://hdl.handle.net/1926/306

Warning:
Don't forget to close the opened block with the corresponding itk::itkQEMeshForAllPrimalEdgesMacro macro.

Definition at line 153 of file itkQuadEdgeMeshMacro.h.