Go to the documentation of this file.
10 #ifndef vtk_m_CellTraits_h
11 #define vtk_m_CellTraits_h
22 template <vtkm::IdComponent dimension>
45 template <
class CellTag>
47 #ifdef VTKM_DOXYGEN_ONLY
76 #else // VTKM_DOXYGEN_ONLY
78 #endif // VTKM_DOXYGEN_ONLY
84 #define VTKM_DEFINE_CELL_TRAITS(name, dimensions, numPoints) \
86 struct CellTraits<vtkm::CellShapeTag##name> \
88 static constexpr vtkm::IdComponent TOPOLOGICAL_DIMENSIONS = dimensions; \
89 using TopologicalDimensionsTag = vtkm::CellTopologicalDimensionsTag<TOPOLOGICAL_DIMENSIONS>; \
90 using IsSizeFixed = vtkm::CellTraitsTagSizeFixed; \
91 static constexpr vtkm::IdComponent NUM_POINTS = numPoints; \
94 #define VTKM_DEFINE_CELL_TRAITS_VARIABLE(name, dimensions) \
96 struct CellTraits<vtkm::CellShapeTag##name> \
98 static constexpr vtkm::IdComponent TOPOLOGICAL_DIMENSIONS = dimensions; \
99 using TopologicalDimensionsTag = vtkm::CellTopologicalDimensionsTag<TOPOLOGICAL_DIMENSIONS>; \
100 using IsSizeFixed = vtkm::CellTraitsTagSizeVariable; \
119 #undef VTKM_DEFINE_CELL_TRAITS
123 #endif //vtk_m_CellTraits_h
Represent an infinite or semi-infinite line segment with a point and a direction.
Definition: Geometry.h:21
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:194
#define VTKM_DEFINE_CELL_TRAITS(name, dimensions, numPoints)
Definition: CellTraits.h:84
#define VTKM_DEFINE_CELL_TRAITS_VARIABLE(name, dimensions)
Definition: CellTraits.h:94
vtkm::CellTraits::TopologyDimensionType is typedef to this with the template parameter set to TOPOLOG...
Definition: CellTraits.h:23
static const vtkm::IdComponent TOPOLOGICAL_DIMENSIONS
This defines the topological dimensions of the cell type.
Definition: CellTraits.h:52
Information about a cell based on its tag.
Definition: CellTraits.h:46
static constexpr vtkm::IdComponent NUM_POINTS
Number of points in the cell.
Definition: CellTraits.h:74