VTK  9.7.20261026
vtkCellTypeTraits.h File Reference

The metadata of the cell types of vtkCellType.h, known at compile time. More...

#include "vtkABINamespace.h"
#include "vtkCellType.h"
#include "vtkTypeList.h"
#include <utility>
Include dependency graph for vtkCellTypeTraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  vtkCellTypeTraits_detail

Macros

#define vtkCellTypeTraitsMacro(type, cellClass, className, name, dimension, isLinear, points, corners, edges, faces, minEdgeSize, maxEdgeSize, minFaceSize, maxFaceSize, maxFaceCorners, minFaceCorners, maxValence)
#define vtkFixedCellTypeTraitsMacro(type, cellClass, name, dimension, isLinear, points, corners, edges, faces, minEdgeSize, maxEdgeSize, minFaceSize, maxFaceSize, maxFaceCorners, minFaceCorners, maxValence)
#define vtkVariableCellTypeTraitsMacro(type, cellClass, name, dimension, isLinear)
#define vtkHigherOrderCellTypeTraitsMacro(type, cellClass, name, dimension, corners, edges, faces, maxFaceCorners, minFaceCorners, maxValence)
#define vtkCellTypeTraitsMembersMacro(cellType)
 Expose the traits of cellType in the public section of the class of its cells, e.g., vtkHexahedron: Traits, its vtkCellTypeTraits, and its members as static constexpr members, IsLinear as IsLinearCell, since vtkCell::IsLinear() is a function, and the sizes as vtkIdType.

Typedefs

using vtkCellTypeTraits_detail::AllCellTypeTraits

Functions

 vtkFixedCellTypeTraitsMacro (VTK_EMPTY_CELL, vtkEmptyCell, "Empty Cell", 0, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 vtkFixedCellTypeTraitsMacro (VTK_VERTEX, vtkVertex, "Vertex", 0, true, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 vtkVariableCellTypeTraitsMacro (VTK_POLY_VERTEX, vtkPolyVertex, "Polyvertex", 0, true)
 vtkFixedCellTypeTraitsMacro (VTK_LINE, vtkLine, "Line", 1, true, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 vtkVariableCellTypeTraitsMacro (VTK_POLY_LINE, vtkPolyLine, "Polyline", 1, true)
 vtkFixedCellTypeTraitsMacro (VTK_TRIANGLE, vtkTriangle, "Triangle", 2, true, 3, 3, 3, 0, 2, 2, 0, 0, 0, 0, 2)
 vtkVariableCellTypeTraitsMacro (VTK_TRIANGLE_STRIP, vtkTriangleStrip, "Triangle Strip", 2, true)
 vtkVariableCellTypeTraitsMacro (VTK_POLYGON, vtkPolygon, "Polygon", 2, true)
 vtkFixedCellTypeTraitsMacro (VTK_PIXEL, vtkPixel, "Pixel", 2, true, 4, 4, 4, 0, 2, 2, 0, 0, 0, 0, 2)
 vtkFixedCellTypeTraitsMacro (VTK_QUAD, vtkQuad, "Quadrilateral", 2, true, 4, 4, 4, 0, 2, 2, 0, 0, 0, 0, 2)
 vtkFixedCellTypeTraitsMacro (VTK_TETRA, vtkTetra, "Tetrahedron", 3, true, 4, 4, 6, 4, 2, 2, 3, 3, 3, 3, 3)
 vtkFixedCellTypeTraitsMacro (VTK_VOXEL, vtkVoxel, "Voxel", 3, true, 8, 8, 12, 6, 2, 2, 4, 4, 4, 4, 3)
 vtkFixedCellTypeTraitsMacro (VTK_HEXAHEDRON, vtkHexahedron, "Hexahedron", 3, true, 8, 8, 12, 6, 2, 2, 4, 4, 4, 4, 3)
 vtkFixedCellTypeTraitsMacro (VTK_WEDGE, vtkWedge, "Wedge", 3, true, 6, 6, 9, 5, 2, 2, 3, 4, 4, 3, 3)
 vtkFixedCellTypeTraitsMacro (VTK_PYRAMID, vtkPyramid, "Pyramid", 3, true, 5, 5, 8, 5, 2, 2, 3, 4, 4, 3, 4)
 vtkFixedCellTypeTraitsMacro (VTK_PENTAGONAL_PRISM, vtkPentagonalPrism, "Pentagonal Prism", 3, true, 10, 10, 15, 7, 2, 2, 4, 5, 5, 4, 3)
 vtkFixedCellTypeTraitsMacro (VTK_HEXAGONAL_PRISM, vtkHexagonalPrism, "Hexagonal Prism", 3, true, 12, 12, 18, 8, 2, 2, 4, 6, 6, 4, 3)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_EDGE, vtkQuadraticEdge, "Quadratic Edge", 1, false, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_TRIANGLE, vtkQuadraticTriangle, "Quadratic Triangle", 2, false, 6, 3, 3, 0, 3, 3, 0, 0, 0, 0, 2)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_QUAD, vtkQuadraticQuad, "Quadratic Quadrilateral", 2, false, 8, 4, 4, 0, 3, 3, 0, 0, 0, 0, 2)
 vtkVariableCellTypeTraitsMacro (VTK_QUADRATIC_POLYGON, vtkQuadraticPolygon, "Quadratic Polygon", 2, false)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_TETRA, vtkQuadraticTetra, "Quadratic Tetrahedron", 3, false, 10, 4, 6, 4, 3, 3, 6, 6, 3, 3, 3)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_HEXAHEDRON, vtkQuadraticHexahedron, "Quadratic Hexahedron", 3, false, 20, 8, 12, 6, 3, 3, 8, 8, 4, 4, 3)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_WEDGE, vtkQuadraticWedge, "Quadratic Wedge", 3, false, 15, 6, 9, 5, 3, 3, 6, 8, 4, 3, 3)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_PYRAMID, vtkQuadraticPyramid, "Quadratic Pyramid", 3, false, 13, 5, 8, 5, 3, 3, 6, 8, 4, 3, 4)
 vtkFixedCellTypeTraitsMacro (VTK_BIQUADRATIC_QUAD, vtkBiQuadraticQuad, "Bi-Quadratic Quadrilateral", 2, false, 9, 4, 4, 0, 3, 3, 0, 0, 0, 0, 2)
 vtkFixedCellTypeTraitsMacro (VTK_TRIQUADRATIC_HEXAHEDRON, vtkTriQuadraticHexahedron, "Tri-Quadratic Hexahedron", 3, false, 27, 8, 12, 6, 3, 3, 9, 9, 4, 4, 3)
 vtkFixedCellTypeTraitsMacro (VTK_TRIQUADRATIC_PYRAMID, vtkTriQuadraticPyramid, "Tri-Quadratic Pyramid", 3, false, 19, 5, 8, 5, 3, 3, 7, 9, 4, 3, 4)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_LINEAR_QUAD, vtkQuadraticLinearQuad, "Quadratic Linear Quadrilateral", 2, false, 6, 4, 4, 0, 2, 3, 0, 0, 0, 0, 2)
 vtkFixedCellTypeTraitsMacro (VTK_QUADRATIC_LINEAR_WEDGE, vtkQuadraticLinearWedge, "Quadratic Linear Wedge", 3, false, 12, 6, 9, 5, 2, 3, 6, 6, 4, 3, 3)
 vtkFixedCellTypeTraitsMacro (VTK_BIQUADRATIC_QUADRATIC_WEDGE, vtkBiQuadraticQuadraticWedge, "Bi-Quadratic Quadratic Wedge", 3, false, 18, 6, 9, 5, 3, 3, 6, 9, 4, 3, 3)
 vtkFixedCellTypeTraitsMacro (VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON, vtkBiQuadraticQuadraticHexahedron, "Bi-Quadratic Quadratic Hexahedron", 3, false, 24, 8, 12, 6, 3, 3, 8, 9, 4, 4, 3)
 vtkFixedCellTypeTraitsMacro (VTK_BIQUADRATIC_TRIANGLE, vtkBiQuadraticTriangle, "Bi-Quadratic Triangle", 2, false, 7, 3, 3, 0, 3, 3, 0, 0, 0, 0, 2)
 vtkFixedCellTypeTraitsMacro (VTK_CUBIC_LINE, vtkCubicLine, "Cubic Line", 1, false, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 vtkCellTypeTraitsMacro (VTK_CONVEX_POINT_SET, vtkConvexPointSet, "vtkConvexPointSet", "Convex Pointset", 3, true, -1, -1, 0, -1, -1, -1, -1, -1, 3, 3, 0)
 vtkVariableCellTypeTraitsMacro (VTK_POLYHEDRON, vtkPolyhedron, "Polyhedron", 3, true)
 vtkHigherOrderCellTypeTraitsMacro (VTK_HIGHER_ORDER_CURVE, vtkHigherOrderCurve, "Higher Order Curve", 1, 2, 0, 0, 0, 0, 0)
 vtkHigherOrderCellTypeTraitsMacro (VTK_HIGHER_ORDER_TRIANGLE, vtkHigherOrderTriangle, "Higher Order Triangle", 2, 3, 3, 0, 0, 0, 2)
 vtkHigherOrderCellTypeTraitsMacro (VTK_HIGHER_ORDER_QUADRILATERAL, vtkHigherOrderQuadrilateral, "Higher Order Quadrilateral", 2, 4, 4, 0, 0, 0, 2)
 vtkHigherOrderCellTypeTraitsMacro (VTK_HIGHER_ORDER_TETRAHEDRON, vtkHigherOrderTetra, "Higher Order Tetrahedron", 3, 4, 6, 4, 3, 3, 3)
 vtkHigherOrderCellTypeTraitsMacro (VTK_HIGHER_ORDER_WEDGE, vtkHigherOrderWedge, "Higher Order Wedge", 3, 6, 9, 5, 4, 3, 3)
 vtkCellTypeTraitsMacro (VTK_HIGHER_ORDER_PYRAMID, void, nullptr, nullptr, 3, false, -1, 5, 8, 5, -1, -1, -1, -1, 4, 3, 4)
 vtkHigherOrderCellTypeTraitsMacro (VTK_HIGHER_ORDER_HEXAHEDRON, vtkHigherOrderHexahedron, "Higher Order Hexahedron", 3, 8, 12, 6, 4, 4, 3)
 vtkHigherOrderCellTypeTraitsMacro (VTK_LAGRANGE_CURVE, vtkLagrangeCurve, "Lagrange Curve", 1, 2, 0, 0, 0, 0, 0)
 vtkHigherOrderCellTypeTraitsMacro (VTK_LAGRANGE_TRIANGLE, vtkLagrangeTriangle, "Lagrange Triangle", 2, 3, 3, 0, 0, 0, 2)
 vtkHigherOrderCellTypeTraitsMacro (VTK_LAGRANGE_QUADRILATERAL, vtkLagrangeQuadrilateral, "Lagrange Quadrilateral", 2, 4, 4, 0, 0, 0, 2)
 vtkHigherOrderCellTypeTraitsMacro (VTK_LAGRANGE_TETRAHEDRON, vtkLagrangeTetra, "Lagrange Tetrahedron", 3, 4, 6, 4, 3, 3, 3)
 vtkHigherOrderCellTypeTraitsMacro (VTK_LAGRANGE_HEXAHEDRON, vtkLagrangeHexahedron, "Lagrange Hexahedron", 3, 8, 12, 6, 4, 4, 3)
 vtkHigherOrderCellTypeTraitsMacro (VTK_LAGRANGE_WEDGE, vtkLagrangeWedge, "Lagrange Wedge", 3, 6, 9, 5, 4, 3, 3)
 vtkCellTypeTraitsMacro (VTK_LAGRANGE_PYRAMID, void, nullptr, nullptr, 3, false, -1, 5, 8, 5, -1, -1, -1, -1, 4, 3, 4)
 vtkHigherOrderCellTypeTraitsMacro (VTK_BEZIER_CURVE, vtkBezierCurve, "Bezier Curve", 1, 2, 0, 0, 0, 0, 0)
 vtkHigherOrderCellTypeTraitsMacro (VTK_BEZIER_TRIANGLE, vtkBezierTriangle, "Bezier Triangle", 2, 3, 3, 0, 0, 0, 2)
 vtkHigherOrderCellTypeTraitsMacro (VTK_BEZIER_QUADRILATERAL, vtkBezierQuadrilateral, "Bezier Quadrilateral", 2, 4, 4, 0, 0, 0, 2)
 vtkHigherOrderCellTypeTraitsMacro (VTK_BEZIER_TETRAHEDRON, vtkBezierTetra, "Bezier Tetrahedron", 3, 4, 6, 4, 3, 3, 3)
 vtkHigherOrderCellTypeTraitsMacro (VTK_BEZIER_HEXAHEDRON, vtkBezierHexahedron, "Bezier Hexahedron", 3, 8, 12, 6, 4, 4, 3)
 vtkHigherOrderCellTypeTraitsMacro (VTK_BEZIER_WEDGE, vtkBezierWedge, "Bezier Wedge", 3, 6, 9, 5, 4, 3, 3)
 vtkCellTypeTraitsMacro (VTK_BEZIER_PYRAMID, void, nullptr, nullptr, 3, false, -1, 5, 8, 5, -1, -1, -1, -1, 4, 3, 4)
template<class Functor>
constexpr void vtkForEachCellType (Functor &&functor)
 Call functor(vtkCellTypeTraits<CellType>{}) for every cell type with traits, in the order of vtkCellType.h.

Detailed Description

The metadata of the cell types of vtkCellType.h, known at compile time.

vtkCellTypeTraits<CellType> gives, for a cell type of vtkCellType.h, e.g., VTK_HEXAHEDRON:

  • CellType: the cell type;
  • CellClass: the class of its cells, e.g., vtkHexahedron, only declared by this header, or void if it has none;
  • ClassName and Name: the name of its class and its display name, see vtkCellTypeUtilities, or nullptr if it has none;
  • Dimension and IsLinear: the dimension of its cells, and whether they are linear, see vtkCell::IsLinear();
  • HasFixedSize: whether all its cells have the same number of points;
  • NumberOfPoints and NumberOfCorners: the number of points of its cells, and of their corners, i.e., without the mid-edge, mid-face and mid-cell points of the nonlinear cells;
  • NumberOfEdges and NumberOfFaces: see vtkCell::GetNumberOfEdges() and vtkCell::GetNumberOfFaces();
  • MinimumEdgeSize, MaximumEdgeSize, MinimumFaceSize and MaximumFaceSize: the number of points of its smallest and largest edge and face, 0 if it has none, e.g., 2 and 3 for the edges of VTK_QUADRATIC_LINEAR_QUAD;
  • MaximumFaceCorners and MinimumFaceCorners: the number of corners of its faces with the most and the fewest corners, 0 if it has no face, e.g., 4 and 3 for VTK_WEDGE;
  • MaximumValence: the maximum number of its edges incident to one of its corners, 0 if it has no edge, e.g., 3 for VTK_HEXAHEDRON and 4 for VTK_PYRAMID.

The sizes are -1 when they depend on the cell: all of them for, e.g., VTK_POLYGON; the number of points and the sizes of the edges and faces for the higher order cells, whose corners, edges and faces are known; all but the number of edges, 0, and the corners of the faces, 3, for VTK_CONVEX_POINT_SET.

vtkForEachCellType() calls a functor with the traits of every cell type, e.g., to build lookup tables at compile time, as vtkCellTypeUtilities does.

static_assert(Traits::NumberOfPoints == 10 && Traits::NumberOfCorners == 4);
The traits of the cell type CellType, see the file description.

The deprecated parametric cell types, which are no longer used, have no traits.

See also
vtkCellType.h vtkCellTypeUtilities vtkCell

Definition in file vtkCellTypeTraits.h.

Macro Definition Documentation

◆ vtkCellTypeTraitsMacro

#define vtkCellTypeTraitsMacro ( type,
cellClass,
className,
name,
dimension,
isLinear,
points,
corners,
edges,
faces,
minEdgeSize,
maxEdgeSize,
minFaceSize,
maxFaceSize,
maxFaceCorners,
minFaceCorners,
maxValence )
Value:
template <> \
struct vtkCellTypeTraits<type> \
{ \
static constexpr int CellType = type; \
using CellClass = cellClass; \
static constexpr const char* ClassName = className; \
static constexpr const char* Name = name; \
static constexpr int Dimension = dimension; \
static constexpr bool IsLinear = isLinear; \
static constexpr bool HasFixedSize = (points) >= 0; \
static constexpr int NumberOfPoints = points; \
static constexpr int NumberOfCorners = corners; \
static constexpr int NumberOfEdges = edges; \
static constexpr int NumberOfFaces = faces; \
static constexpr int MinimumEdgeSize = minEdgeSize; \
static constexpr int MaximumEdgeSize = maxEdgeSize; \
static constexpr int MinimumFaceSize = minFaceSize; \
static constexpr int MaximumFaceSize = maxFaceSize; \
static constexpr int MaximumFaceCorners = maxFaceCorners; \
static constexpr int MinimumFaceCorners = minFaceCorners; \
static constexpr int MaximumValence = maxValence; \
}
std::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)

Definition at line 119 of file vtkCellTypeTraits.h.

◆ vtkFixedCellTypeTraitsMacro

#define vtkFixedCellTypeTraitsMacro ( type,
cellClass,
name,
dimension,
isLinear,
points,
corners,
edges,
faces,
minEdgeSize,
maxEdgeSize,
minFaceSize,
maxFaceSize,
maxFaceCorners,
minFaceCorners,
maxValence )
Value:
vtkCellTypeTraitsMacro(type, cellClass, #cellClass, name, dimension, isLinear, points, corners, \
edges, faces, minEdgeSize, maxEdgeSize, minFaceSize, maxFaceSize, maxFaceCorners, \
minFaceCorners, maxValence)
#define vtkCellTypeTraitsMacro(type, cellClass, className, name, dimension, isLinear, points, corners, edges, faces, minEdgeSize, maxEdgeSize, minFaceSize, maxFaceSize, maxFaceCorners, minFaceCorners, maxValence)

Definition at line 147 of file vtkCellTypeTraits.h.

◆ vtkVariableCellTypeTraitsMacro

#define vtkVariableCellTypeTraitsMacro ( type,
cellClass,
name,
dimension,
isLinear )
Value:
vtkCellTypeTraitsMacro(type, cellClass, #cellClass, name, dimension, isLinear, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, -1, -1)

Definition at line 153 of file vtkCellTypeTraits.h.

◆ vtkHigherOrderCellTypeTraitsMacro

#define vtkHigherOrderCellTypeTraitsMacro ( type,
cellClass,
name,
dimension,
corners,
edges,
faces,
maxFaceCorners,
minFaceCorners,
maxValence )
Value:
vtkCellTypeTraitsMacro(type, cellClass, #cellClass, name, dimension, false, -1, corners, edges, \
faces, -1, -1, -1, -1, maxFaceCorners, minFaceCorners, maxValence)

Definition at line 156 of file vtkCellTypeTraits.h.

◆ vtkCellTypeTraitsMembersMacro

#define vtkCellTypeTraitsMembersMacro ( cellType)
Value:
using Traits = vtkCellTypeTraits<cellType>; \
static constexpr int CellType = Traits::CellType; \
static constexpr int Dimension = Traits::Dimension; \
static constexpr bool IsLinearCell = Traits::IsLinear; \
static constexpr bool HasFixedSize = Traits::HasFixedSize; \
static constexpr vtkIdType NumberOfPoints = Traits::NumberOfPoints; \
static constexpr vtkIdType NumberOfCorners = Traits::NumberOfCorners; \
static constexpr vtkIdType NumberOfEdges = Traits::NumberOfEdges; \
static constexpr vtkIdType NumberOfFaces = Traits::NumberOfFaces; \
static constexpr vtkIdType MinimumEdgeSize = Traits::MinimumEdgeSize; \
static constexpr vtkIdType MaximumEdgeSize = Traits::MaximumEdgeSize; \
static constexpr vtkIdType MinimumFaceSize = Traits::MinimumFaceSize; \
static constexpr vtkIdType MaximumFaceSize = Traits::MaximumFaceSize; \
static constexpr vtkIdType MaximumFaceCorners = Traits::MaximumFaceCorners; \
static constexpr vtkIdType MinimumFaceCorners = Traits::MinimumFaceCorners; \
static constexpr vtkIdType MaximumValence = Traits::MaximumValence
int vtkIdType
Definition vtkType.h:363

Expose the traits of cellType in the public section of the class of its cells, e.g., vtkHexahedron: Traits, its vtkCellTypeTraits, and its members as static constexpr members, IsLinear as IsLinearCell, since vtkCell::IsLinear() is a function, and the sizes as vtkIdType.

Definition at line 346 of file vtkCellTypeTraits.h.

Function Documentation

◆ vtkFixedCellTypeTraitsMacro() [1/29]

vtkFixedCellTypeTraitsMacro ( VTK_EMPTY_CELL ,
vtkEmptyCell ,
"Empty Cell" ,
0 ,
true ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ vtkFixedCellTypeTraitsMacro() [2/29]

vtkFixedCellTypeTraitsMacro ( VTK_VERTEX ,
vtkVertex ,
"Vertex" ,
0 ,
true ,
1 ,
1 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ vtkVariableCellTypeTraitsMacro() [1/6]

vtkVariableCellTypeTraitsMacro ( VTK_POLY_VERTEX ,
vtkPolyVertex ,
"Polyvertex" ,
0 ,
true  )

◆ vtkFixedCellTypeTraitsMacro() [3/29]

vtkFixedCellTypeTraitsMacro ( VTK_LINE ,
vtkLine ,
"Line" ,
1 ,
true ,
2 ,
2 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ vtkVariableCellTypeTraitsMacro() [2/6]

vtkVariableCellTypeTraitsMacro ( VTK_POLY_LINE ,
vtkPolyLine ,
"Polyline" ,
1 ,
true  )

◆ vtkFixedCellTypeTraitsMacro() [4/29]

vtkFixedCellTypeTraitsMacro ( VTK_TRIANGLE ,
vtkTriangle ,
"Triangle" ,
2 ,
true ,
3 ,
3 ,
3 ,
0 ,
2 ,
2 ,
0 ,
0 ,
0 ,
0 ,
2  )

◆ vtkVariableCellTypeTraitsMacro() [3/6]

vtkVariableCellTypeTraitsMacro ( VTK_TRIANGLE_STRIP ,
vtkTriangleStrip ,
"Triangle Strip" ,
2 ,
true  )

◆ vtkVariableCellTypeTraitsMacro() [4/6]

vtkVariableCellTypeTraitsMacro ( VTK_POLYGON ,
vtkPolygon ,
"Polygon" ,
2 ,
true  )

◆ vtkFixedCellTypeTraitsMacro() [5/29]

vtkFixedCellTypeTraitsMacro ( VTK_PIXEL ,
vtkPixel ,
"Pixel" ,
2 ,
true ,
4 ,
4 ,
4 ,
0 ,
2 ,
2 ,
0 ,
0 ,
0 ,
0 ,
2  )

◆ vtkFixedCellTypeTraitsMacro() [6/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUAD ,
vtkQuad ,
"Quadrilateral" ,
2 ,
true ,
4 ,
4 ,
4 ,
0 ,
2 ,
2 ,
0 ,
0 ,
0 ,
0 ,
2  )

◆ vtkFixedCellTypeTraitsMacro() [7/29]

vtkFixedCellTypeTraitsMacro ( VTK_TETRA ,
vtkTetra ,
"Tetrahedron" ,
3 ,
true ,
4 ,
4 ,
6 ,
4 ,
2 ,
2 ,
3 ,
3 ,
3 ,
3 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [8/29]

vtkFixedCellTypeTraitsMacro ( VTK_VOXEL ,
vtkVoxel ,
"Voxel" ,
3 ,
true ,
8 ,
8 ,
12 ,
6 ,
2 ,
2 ,
4 ,
4 ,
4 ,
4 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [9/29]

vtkFixedCellTypeTraitsMacro ( VTK_HEXAHEDRON ,
vtkHexahedron ,
"Hexahedron" ,
3 ,
true ,
8 ,
8 ,
12 ,
6 ,
2 ,
2 ,
4 ,
4 ,
4 ,
4 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [10/29]

vtkFixedCellTypeTraitsMacro ( VTK_WEDGE ,
vtkWedge ,
"Wedge" ,
3 ,
true ,
6 ,
6 ,
9 ,
5 ,
2 ,
2 ,
3 ,
4 ,
4 ,
3 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [11/29]

vtkFixedCellTypeTraitsMacro ( VTK_PYRAMID ,
vtkPyramid ,
"Pyramid" ,
3 ,
true ,
5 ,
5 ,
8 ,
5 ,
2 ,
2 ,
3 ,
4 ,
4 ,
3 ,
4  )

◆ vtkFixedCellTypeTraitsMacro() [12/29]

vtkFixedCellTypeTraitsMacro ( VTK_PENTAGONAL_PRISM ,
vtkPentagonalPrism ,
"Pentagonal Prism" ,
3 ,
true ,
10 ,
10 ,
15 ,
7 ,
2 ,
2 ,
4 ,
5 ,
5 ,
4 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [13/29]

vtkFixedCellTypeTraitsMacro ( VTK_HEXAGONAL_PRISM ,
vtkHexagonalPrism ,
"Hexagonal Prism" ,
3 ,
true ,
12 ,
12 ,
18 ,
8 ,
2 ,
2 ,
4 ,
6 ,
6 ,
4 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [14/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_EDGE ,
vtkQuadraticEdge ,
"Quadratic Edge" ,
1 ,
false ,
3 ,
2 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ vtkFixedCellTypeTraitsMacro() [15/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_TRIANGLE ,
vtkQuadraticTriangle ,
"Quadratic Triangle" ,
2 ,
false ,
6 ,
3 ,
3 ,
0 ,
3 ,
3 ,
0 ,
0 ,
0 ,
0 ,
2  )

◆ vtkFixedCellTypeTraitsMacro() [16/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_QUAD ,
vtkQuadraticQuad ,
"Quadratic Quadrilateral" ,
2 ,
false ,
8 ,
4 ,
4 ,
0 ,
3 ,
3 ,
0 ,
0 ,
0 ,
0 ,
2  )

◆ vtkVariableCellTypeTraitsMacro() [5/6]

vtkVariableCellTypeTraitsMacro ( VTK_QUADRATIC_POLYGON ,
vtkQuadraticPolygon ,
"Quadratic Polygon" ,
2 ,
false  )

◆ vtkFixedCellTypeTraitsMacro() [17/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_TETRA ,
vtkQuadraticTetra ,
"Quadratic Tetrahedron" ,
3 ,
false ,
10 ,
4 ,
6 ,
4 ,
3 ,
3 ,
6 ,
6 ,
3 ,
3 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [18/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_HEXAHEDRON ,
vtkQuadraticHexahedron ,
"Quadratic Hexahedron" ,
3 ,
false ,
20 ,
8 ,
12 ,
6 ,
3 ,
3 ,
8 ,
8 ,
4 ,
4 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [19/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_WEDGE ,
vtkQuadraticWedge ,
"Quadratic Wedge" ,
3 ,
false ,
15 ,
6 ,
9 ,
5 ,
3 ,
3 ,
6 ,
8 ,
4 ,
3 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [20/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_PYRAMID ,
vtkQuadraticPyramid ,
"Quadratic Pyramid" ,
3 ,
false ,
13 ,
5 ,
8 ,
5 ,
3 ,
3 ,
6 ,
8 ,
4 ,
3 ,
4  )

◆ vtkFixedCellTypeTraitsMacro() [21/29]

vtkFixedCellTypeTraitsMacro ( VTK_BIQUADRATIC_QUAD ,
vtkBiQuadraticQuad ,
"Bi-Quadratic Quadrilateral" ,
2 ,
false ,
9 ,
4 ,
4 ,
0 ,
3 ,
3 ,
0 ,
0 ,
0 ,
0 ,
2  )

◆ vtkFixedCellTypeTraitsMacro() [22/29]

vtkFixedCellTypeTraitsMacro ( VTK_TRIQUADRATIC_HEXAHEDRON ,
vtkTriQuadraticHexahedron ,
"Tri-Quadratic Hexahedron" ,
3 ,
false ,
27 ,
8 ,
12 ,
6 ,
3 ,
3 ,
9 ,
9 ,
4 ,
4 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [23/29]

vtkFixedCellTypeTraitsMacro ( VTK_TRIQUADRATIC_PYRAMID ,
vtkTriQuadraticPyramid ,
"Tri-Quadratic Pyramid" ,
3 ,
false ,
19 ,
5 ,
8 ,
5 ,
3 ,
3 ,
7 ,
9 ,
4 ,
3 ,
4  )

◆ vtkFixedCellTypeTraitsMacro() [24/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_LINEAR_QUAD ,
vtkQuadraticLinearQuad ,
"Quadratic Linear Quadrilateral" ,
2 ,
false ,
6 ,
4 ,
4 ,
0 ,
2 ,
3 ,
0 ,
0 ,
0 ,
0 ,
2  )

◆ vtkFixedCellTypeTraitsMacro() [25/29]

vtkFixedCellTypeTraitsMacro ( VTK_QUADRATIC_LINEAR_WEDGE ,
vtkQuadraticLinearWedge ,
"Quadratic Linear Wedge" ,
3 ,
false ,
12 ,
6 ,
9 ,
5 ,
2 ,
3 ,
6 ,
6 ,
4 ,
3 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [26/29]

vtkFixedCellTypeTraitsMacro ( VTK_BIQUADRATIC_QUADRATIC_WEDGE ,
vtkBiQuadraticQuadraticWedge ,
"Bi-Quadratic Quadratic Wedge" ,
3 ,
false ,
18 ,
6 ,
9 ,
5 ,
3 ,
3 ,
6 ,
9 ,
4 ,
3 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [27/29]

vtkFixedCellTypeTraitsMacro ( VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON ,
vtkBiQuadraticQuadraticHexahedron ,
"Bi-Quadratic Quadratic Hexahedron" ,
3 ,
false ,
24 ,
8 ,
12 ,
6 ,
3 ,
3 ,
8 ,
9 ,
4 ,
4 ,
3  )

◆ vtkFixedCellTypeTraitsMacro() [28/29]

vtkFixedCellTypeTraitsMacro ( VTK_BIQUADRATIC_TRIANGLE ,
vtkBiQuadraticTriangle ,
"Bi-Quadratic Triangle" ,
2 ,
false ,
7 ,
3 ,
3 ,
0 ,
3 ,
3 ,
0 ,
0 ,
0 ,
0 ,
2  )

◆ vtkFixedCellTypeTraitsMacro() [29/29]

vtkFixedCellTypeTraitsMacro ( VTK_CUBIC_LINE ,
vtkCubicLine ,
"Cubic Line" ,
1 ,
false ,
4 ,
2 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ vtkCellTypeTraitsMacro() [1/4]

vtkCellTypeTraitsMacro ( VTK_CONVEX_POINT_SET ,
vtkConvexPointSet ,
"vtkConvexPointSet" ,
"Convex Pointset" ,
3 ,
true ,
- 1,
- 1,
0 ,
- 1,
- 1,
- 1,
- 1,
- 1,
3 ,
3 ,
0  )

◆ vtkVariableCellTypeTraitsMacro() [6/6]

vtkVariableCellTypeTraitsMacro ( VTK_POLYHEDRON ,
vtkPolyhedron ,
"Polyhedron" ,
3 ,
true  )

◆ vtkHigherOrderCellTypeTraitsMacro() [1/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_HIGHER_ORDER_CURVE ,
vtkHigherOrderCurve ,
"Higher Order Curve" ,
1 ,
2 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ vtkHigherOrderCellTypeTraitsMacro() [2/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_HIGHER_ORDER_TRIANGLE ,
vtkHigherOrderTriangle ,
"Higher Order Triangle" ,
2 ,
3 ,
3 ,
0 ,
0 ,
0 ,
2  )

◆ vtkHigherOrderCellTypeTraitsMacro() [3/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_HIGHER_ORDER_QUADRILATERAL ,
vtkHigherOrderQuadrilateral ,
"Higher Order Quadrilateral" ,
2 ,
4 ,
4 ,
0 ,
0 ,
0 ,
2  )

◆ vtkHigherOrderCellTypeTraitsMacro() [4/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_HIGHER_ORDER_TETRAHEDRON ,
vtkHigherOrderTetra ,
"Higher Order Tetrahedron" ,
3 ,
4 ,
6 ,
4 ,
3 ,
3 ,
3  )

◆ vtkHigherOrderCellTypeTraitsMacro() [5/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_HIGHER_ORDER_WEDGE ,
vtkHigherOrderWedge ,
"Higher Order Wedge" ,
3 ,
6 ,
9 ,
5 ,
4 ,
3 ,
3  )

◆ vtkCellTypeTraitsMacro() [2/4]

vtkCellTypeTraitsMacro ( VTK_HIGHER_ORDER_PYRAMID ,
void ,
nullptr ,
nullptr ,
3 ,
false ,
- 1,
5 ,
8 ,
5 ,
- 1,
- 1,
- 1,
- 1,
4 ,
3 ,
4  )

◆ vtkHigherOrderCellTypeTraitsMacro() [6/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_HIGHER_ORDER_HEXAHEDRON ,
vtkHigherOrderHexahedron ,
"Higher Order Hexahedron" ,
3 ,
8 ,
12 ,
6 ,
4 ,
4 ,
3  )

◆ vtkHigherOrderCellTypeTraitsMacro() [7/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_LAGRANGE_CURVE ,
vtkLagrangeCurve ,
"Lagrange Curve" ,
1 ,
2 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ vtkHigherOrderCellTypeTraitsMacro() [8/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_LAGRANGE_TRIANGLE ,
vtkLagrangeTriangle ,
"Lagrange Triangle" ,
2 ,
3 ,
3 ,
0 ,
0 ,
0 ,
2  )

◆ vtkHigherOrderCellTypeTraitsMacro() [9/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_LAGRANGE_QUADRILATERAL ,
vtkLagrangeQuadrilateral ,
"Lagrange Quadrilateral" ,
2 ,
4 ,
4 ,
0 ,
0 ,
0 ,
2  )

◆ vtkHigherOrderCellTypeTraitsMacro() [10/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_LAGRANGE_TETRAHEDRON ,
vtkLagrangeTetra ,
"Lagrange Tetrahedron" ,
3 ,
4 ,
6 ,
4 ,
3 ,
3 ,
3  )

◆ vtkHigherOrderCellTypeTraitsMacro() [11/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_LAGRANGE_HEXAHEDRON ,
vtkLagrangeHexahedron ,
"Lagrange Hexahedron" ,
3 ,
8 ,
12 ,
6 ,
4 ,
4 ,
3  )

◆ vtkHigherOrderCellTypeTraitsMacro() [12/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_LAGRANGE_WEDGE ,
vtkLagrangeWedge ,
"Lagrange Wedge" ,
3 ,
6 ,
9 ,
5 ,
4 ,
3 ,
3  )

◆ vtkCellTypeTraitsMacro() [3/4]

vtkCellTypeTraitsMacro ( VTK_LAGRANGE_PYRAMID ,
void ,
nullptr ,
nullptr ,
3 ,
false ,
- 1,
5 ,
8 ,
5 ,
- 1,
- 1,
- 1,
- 1,
4 ,
3 ,
4  )

◆ vtkHigherOrderCellTypeTraitsMacro() [13/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_BEZIER_CURVE ,
vtkBezierCurve ,
"Bezier Curve" ,
1 ,
2 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ vtkHigherOrderCellTypeTraitsMacro() [14/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_BEZIER_TRIANGLE ,
vtkBezierTriangle ,
"Bezier Triangle" ,
2 ,
3 ,
3 ,
0 ,
0 ,
0 ,
2  )

◆ vtkHigherOrderCellTypeTraitsMacro() [15/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_BEZIER_QUADRILATERAL ,
vtkBezierQuadrilateral ,
"Bezier Quadrilateral" ,
2 ,
4 ,
4 ,
0 ,
0 ,
0 ,
2  )

◆ vtkHigherOrderCellTypeTraitsMacro() [16/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_BEZIER_TETRAHEDRON ,
vtkBezierTetra ,
"Bezier Tetrahedron" ,
3 ,
4 ,
6 ,
4 ,
3 ,
3 ,
3  )

◆ vtkHigherOrderCellTypeTraitsMacro() [17/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_BEZIER_HEXAHEDRON ,
vtkBezierHexahedron ,
"Bezier Hexahedron" ,
3 ,
8 ,
12 ,
6 ,
4 ,
4 ,
3  )

◆ vtkHigherOrderCellTypeTraitsMacro() [18/18]

vtkHigherOrderCellTypeTraitsMacro ( VTK_BEZIER_WEDGE ,
vtkBezierWedge ,
"Bezier Wedge" ,
3 ,
6 ,
9 ,
5 ,
4 ,
3 ,
3  )

◆ vtkCellTypeTraitsMacro() [4/4]

vtkCellTypeTraitsMacro ( VTK_BEZIER_PYRAMID ,
void ,
nullptr ,
nullptr ,
3 ,
false ,
- 1,
5 ,
8 ,
5 ,
- 1,
- 1,
- 1,
- 1,
4 ,
3 ,
4  )

◆ vtkForEachCellType()

template<class Functor>
void vtkForEachCellType ( Functor && functor)
constexpr

Call functor(vtkCellTypeTraits<CellType>{}) for every cell type with traits, in the order of vtkCellType.h.

It can be called at compile time, e.g., to build a lookup table:

constexpr std::array<int, VTK_NUMBER_OF_CELL_TYPES> MakeDimensions()
{
std::array<int, VTK_NUMBER_OF_CELL_TYPES> dimensions{};
[&](auto traits) { dimensions[decltype(traits)::CellType] = decltype(traits)::Dimension; });
return dimensions;
}
constexpr void vtkForEachCellType(Functor &&functor)
Call functor(vtkCellTypeTraits<CellType>{}) for every cell type with traits, in the order of vtkCellT...

Definition at line 334 of file vtkCellTypeTraits.h.