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
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
Ray< CoordType, Dim, true > Line
Lines are two-sided rays:
Definition: Geometry.h:330
vtkm::CellTraits::TopologyDimensionType is typedef to this with the template parameter set to TOPOLOG...
Definition: CellTraits.h:23
VTKM_DEFINE_CELL_TRAITS_VARIABLE(PolyLine, 1)
static const vtkm::IdComponent TOPOLOGICAL_DIMENSIONS
This defines the topological dimensions of the cell type.
Definition: CellTraits.h:52
VTKM_DEFINE_CELL_TRAITS(Empty, 0, 0)
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