ITK  6.0.0
Insight Toolkit
Public Types | Static Public Attributes | List of all members
itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType > Class Template Reference

#include <itkDefaultDynamicMeshTraits.h>

Detailed Description

template<typename TPixelType, unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
class itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >

A simple structure that holds type information for a mesh and its cells.

DefaultDynamicMeshTraits is a simple structure that holds type information for a mesh and its cells. It is used to avoid the passing of many template parameters while still enjoying the benefits of generic programming.

Unlike DefaultStaticMeshTraits, this version of the MeshTraits structure is designed to create Mesh instances that will have many insert and delete operations done on them.

Template Parameters
TPixelTypeThe type stored as data for an entity (cell, point, or boundary).
VPointDimensionGeometric dimension of space.
VMaxTopologicalDimensionMax topological dimension of a cell that can be inserted into this mesh.
TCoordinateNumerical type to store each coordinate value.
TInterpolationWeightNumerical type to store interpolation weights.
Examples
Examples/SpatialObjects/MeshSpatialObject.cxx.

Definition at line 63 of file itkDefaultDynamicMeshTraits.h.

Public Types

using CellAutoPointer = typename CellType::CellAutoPointer
 
using CellDataContainer = MapContainer< CellIdentifier, CellPixelType >
 
using CellFeatureIdentifier = IdentifierType
 
using CellIdentifier = IdentifierType
 
using CellLinksContainer = MapContainer< PointIdentifier, PointCellLinksContainer >
 
using CellPixelType = TCellPixelType
 
using CellsContainer = MapContainer< CellIdentifier, CellType * >
 
using CellTraits = itkMakeCellTraitsMacro
 
using CellType = CellInterface< CellPixelType, CellTraits >
 
using CoordinateType = TCoordinate
 
using InterpolationWeightType = TInterpolationWeight
 
using PixelType = TPixelType
 
using PointCellLinksContainer = std::set< CellIdentifier >
 
using PointDataContainer = MapContainer< PointIdentifier, PixelType >
 
using PointHashType = Point< CoordinateType, VPointDimension >
 
using PointIdentifier = IdentifierType
 
using PointsContainer = MapContainer< PointIdentifier, PointType >
 
using PointType = Point< CoordinateType, VPointDimension >
 
using Self = DefaultDynamicMeshTraits
 
using UsingCellsContainer = std::set< CellIdentifier >
 

Static Public Attributes

static constexpr unsigned int MaxTopologicalDimension = VMaxTopologicalDimension
 
static constexpr unsigned int PointDimension = VPointDimension
 

Member Typedef Documentation

◆ CellAutoPointer

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellAutoPointer = typename CellType::CellAutoPointer

Definition at line 118 of file itkDefaultDynamicMeshTraits.h.

◆ CellDataContainer

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellDataContainer = MapContainer<CellIdentifier, CellPixelType>

The container type for use in storing cell data. It must conform to the IndexedContainerInterface.

Definition at line 138 of file itkDefaultDynamicMeshTraits.h.

◆ CellFeatureIdentifier

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellFeatureIdentifier = IdentifierType

A type that can be used to identify individual boundary features on the cells. Since this will probably be an index into a static array, this will probably never change from an integer setting.

Definition at line 94 of file itkDefaultDynamicMeshTraits.h.

◆ CellIdentifier

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellIdentifier = IdentifierType

The type to be used to identify a cell. This should be the index type to the CellsContainer.

Definition at line 89 of file itkDefaultDynamicMeshTraits.h.

◆ CellLinksContainer

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellLinksContainer = MapContainer<PointIdentifier, PointCellLinksContainer>

The container type for use in storing point links back to cells.] It must conform to the IndexedContainerInterface.

Definition at line 130 of file itkDefaultDynamicMeshTraits.h.

◆ CellPixelType

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellPixelType = TCellPixelType

Definition at line 71 of file itkDefaultDynamicMeshTraits.h.

◆ CellsContainer

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellsContainer = MapContainer<CellIdentifier, CellType *>

The container type for use in storing cells. It must conform to the IndexedContainerInterface.

Definition at line 122 of file itkDefaultDynamicMeshTraits.h.

◆ CellTraits

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellTraits = itkMakeCellTraitsMacro

The information needed for a cell type is now defined, so we can define the cell type.

Definition at line 113 of file itkDefaultDynamicMeshTraits.h.

◆ CellType

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CellType = CellInterface<CellPixelType, CellTraits>

The interface to cells to be used by the mesh. This should not be changed.

Definition at line 117 of file itkDefaultDynamicMeshTraits.h.

◆ CoordinateType

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::CoordinateType = TCoordinate

Definition at line 72 of file itkDefaultDynamicMeshTraits.h.

◆ InterpolationWeightType

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::InterpolationWeightType = TInterpolationWeight

Definition at line 77 of file itkDefaultDynamicMeshTraits.h.

◆ PixelType

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::PixelType = TPixelType

Just save all the template parameters.

Definition at line 70 of file itkDefaultDynamicMeshTraits.h.

◆ PointCellLinksContainer

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::PointCellLinksContainer = std::set<CellIdentifier>

The CellLinks container should be a container of PointCellLinksContainer, which should be a container conforming to the STL "set" interface.

Definition at line 126 of file itkDefaultDynamicMeshTraits.h.

◆ PointDataContainer

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::PointDataContainer = MapContainer<PointIdentifier, PixelType>

The container type for use in storing point data. It must conform to the IndexedContainerInterface.

Definition at line 134 of file itkDefaultDynamicMeshTraits.h.

◆ PointHashType

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::PointHashType = Point<CoordinateType, VPointDimension>

The type of point used for hashing. This should never change from this setting, regardless of the mesh type.

Definition at line 101 of file itkDefaultDynamicMeshTraits.h.

◆ PointIdentifier

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::PointIdentifier = IdentifierType

The type to be used to identify a point. This should be the index type to the PointsContainer.

Definition at line 85 of file itkDefaultDynamicMeshTraits.h.

◆ PointsContainer

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::PointsContainer = MapContainer<PointIdentifier, PointType>

The container type for use in storing points. It must conform to the IndexedContainerInterface.

Definition at line 105 of file itkDefaultDynamicMeshTraits.h.

◆ PointType

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::PointType = Point<CoordinateType, VPointDimension>

The type of point used by the mesh.

Definition at line 97 of file itkDefaultDynamicMeshTraits.h.

◆ Self

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::Self = DefaultDynamicMeshTraits

Standard class type aliases.

Definition at line 67 of file itkDefaultDynamicMeshTraits.h.

◆ UsingCellsContainer

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
using itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::UsingCellsContainer = std::set<CellIdentifier>

The container type that will be used to store boundary links back to cells. This must conform to the STL "set" interface.

Definition at line 109 of file itkDefaultDynamicMeshTraits.h.

Member Data Documentation

◆ MaxTopologicalDimension

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
constexpr unsigned int itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::MaxTopologicalDimension = VMaxTopologicalDimension
staticconstexpr

Definition at line 81 of file itkDefaultDynamicMeshTraits.h.

◆ PointDimension

template<typename TPixelType , unsigned int VPointDimension = 3, unsigned int VMaxTopologicalDimension = VPointDimension, typename TCoordinate = float, typename TInterpolationWeight = float, typename TCellPixelType = TPixelType>
constexpr unsigned int itk::DefaultDynamicMeshTraits< TPixelType, VPointDimension, VMaxTopologicalDimension, TCoordinate, TInterpolationWeight, TCellPixelType >::PointDimension = VPointDimension
staticconstexpr

Just save all the template parameters.

Definition at line 80 of file itkDefaultDynamicMeshTraits.h.


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