VTK-m
2.0
|
#include <vtkm/StaticAssert.h>
#include <vtkm/Types.h>
#include <lcl/Polygon.h>
#include <lcl/Shapes.h>
Go to the source code of this file.
Classes | |
struct | vtkm::CellShapeIdToTag< Id > |
A traits-like class to get an CellShapeId known at compile time to a tag. More... | |
struct | vtkm::CellShapeTagGeneric |
A special cell shape tag that holds a cell shape that is not known at compile time. More... | |
Namespaces | |
lcl | |
vtkm | |
Groups connected points that have the same field value. | |
Macros | |
#define | VTKM_IS_CELL_SHAPE_TAG(tag) |
Checks that the argument is a proper cell shape tag. More... | |
#define | VTKM_DEFINE_CELL_TAG(name, idname) |
#define | vtkmGenericCellShapeMacroCase(cellShapeId, call) |
#define | vtkmGenericCellShapeMacro(call) |
A macro used in a switch statement to determine cell shape. More... | |
Enumerations | |
enum | vtkm::CellShapeIdEnum { vtkm::CELL_SHAPE_EMPTY = lcl::ShapeId::EMPTY, vtkm::CELL_SHAPE_VERTEX = lcl::ShapeId::VERTEX, vtkm::CELL_SHAPE_LINE = lcl::ShapeId::LINE, vtkm::CELL_SHAPE_POLY_LINE = 4, vtkm::CELL_SHAPE_TRIANGLE = lcl::ShapeId::TRIANGLE, vtkm::CELL_SHAPE_POLYGON = lcl::ShapeId::POLYGON, vtkm::CELL_SHAPE_QUAD = lcl::ShapeId::QUAD, vtkm::CELL_SHAPE_TETRA = lcl::ShapeId::TETRA, vtkm::CELL_SHAPE_HEXAHEDRON = lcl::ShapeId::HEXAHEDRON, vtkm::CELL_SHAPE_WEDGE = lcl::ShapeId::WEDGE, vtkm::CELL_SHAPE_PYRAMID = lcl::ShapeId::PYRAMID, vtkm::NUMBER_OF_CELL_SHAPES } |
CellShapeId identifies the type of each cell. More... | |
Functions | |
vtkm::VTKM_DEFINE_CELL_TAG (Empty, CELL_SHAPE_EMPTY) | |
vtkm::VTKM_DEFINE_CELL_TAG (Vertex, CELL_SHAPE_VERTEX) | |
vtkm::VTKM_DEFINE_CELL_TAG (Line, CELL_SHAPE_LINE) | |
vtkm::VTKM_DEFINE_CELL_TAG (PolyLine, CELL_SHAPE_POLY_LINE) | |
vtkm::VTKM_DEFINE_CELL_TAG (Triangle, CELL_SHAPE_TRIANGLE) | |
vtkm::VTKM_DEFINE_CELL_TAG (Polygon, CELL_SHAPE_POLYGON) | |
vtkm::VTKM_DEFINE_CELL_TAG (Quad, CELL_SHAPE_QUAD) | |
vtkm::VTKM_DEFINE_CELL_TAG (Tetra, CELL_SHAPE_TETRA) | |
vtkm::VTKM_DEFINE_CELL_TAG (Hexahedron, CELL_SHAPE_HEXAHEDRON) | |
vtkm::VTKM_DEFINE_CELL_TAG (Wedge, CELL_SHAPE_WEDGE) | |
vtkm::VTKM_DEFINE_CELL_TAG (Pyramid, CELL_SHAPE_PYRAMID) | |
#define VTKM_DEFINE_CELL_TAG | ( | name, | |
idname | |||
) |
#define VTKM_IS_CELL_SHAPE_TAG | ( | tag | ) |
Checks that the argument is a proper cell shape tag.
This is a handy concept check to make sure that a template argument is a proper cell shape tag.
#define vtkmGenericCellShapeMacro | ( | call | ) |
A macro used in a switch
statement to determine cell shape.
The vtkmGenericCellShapeMacro
is a series of case statements for all of the cell shapes supported by VTK-m. This macro is intended to be used inside of a switch statement on a cell type. For each cell shape condition, a CellShapeTag
typedef is created and the given call
is executed.
A typical use case of this class is to create the specialization of a function overloaded on a cell shape tag for the generic cell shape like as following.
Note that vtkmGenericCellShapeMacro
does not have a default case. You should consider adding one that gives a
#define vtkmGenericCellShapeMacroCase | ( | cellShapeId, | |
call | |||
) |