VTK  9.3.0
vtkCellType.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
14 #ifndef vtkCellType_h
15 #define vtkCellType_h
16 
17 #include "vtkABINamespace.h"
18 
19 // To add a new cell type, define a new integer type flag here, then
20 // create a subclass of vtkCell to implement the proper behavior. You
21 // may have to modify the following methods: vtkDataSet (and subclasses)
22 // GetCell() and vtkGenericCell::SetCellType(). Also, to do the job right,
23 // you'll also have to modify some filters (vtkGeometryFilter...) and
24 // regression tests (example scripts) to reflect the new cell addition.
25 // Also, make sure to update vtkCellTypesStrings in vtkCellTypes.cxx
26 // and the vtkCellTypes::IsLinear method in vtkCellTypes.h.
27 
28 // .SECTION Caveats
29 // An unstructured grid stores the types of its cells as a
30 // unsigned char array. Therefore, the maximum encoding number for a cell type
31 // is 255.
32 
33 VTK_ABI_NAMESPACE_BEGIN
34 typedef enum
35 {
36  // Linear cells
40  VTK_LINE = 3,
45  VTK_PIXEL = 8,
46  VTK_QUAD = 9,
47  VTK_TETRA = 10,
48  VTK_VOXEL = 11,
50  VTK_WEDGE = 13,
54 
55  // Quadratic, isoparametric cells
72 
73  // Cubic, isoparametric cell
75 
76  // Special class of cells formed by convex group of points
78 
79  // Polyhedron cell (consisting of polygonal faces)
81 
82  // Higher order cells in parametric form
89 
90  // Higher order cells
99 
100  // Arbitrary order Lagrange elements (formulated separated from generic higher order cells)
108 
109  // Arbitrary order Bezier elements (formulated separated from generic higher order cells)
117 
120 
121 VTK_ABI_NAMESPACE_END
122 #endif
123 // VTK-HeaderTest-Exclude: vtkCellType.h
VTKCellType
Definition: vtkCellType.h:35
@ VTK_VOXEL
Definition: vtkCellType.h:48
@ VTK_QUADRATIC_HEXAHEDRON
Definition: vtkCellType.h:61
@ VTK_PARAMETRIC_SURFACE
Definition: vtkCellType.h:84
@ VTK_HIGHER_ORDER_TETRAHEDRON
Definition: vtkCellType.h:95
@ VTK_TRIANGLE_STRIP
Definition: vtkCellType.h:43
@ VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON
Definition: vtkCellType.h:70
@ VTK_NUMBER_OF_CELL_TYPES
Definition: vtkCellType.h:118
@ VTK_LAGRANGE_CURVE
Definition: vtkCellType.h:101
@ VTK_HIGHER_ORDER_QUAD
Definition: vtkCellType.h:93
@ VTK_PYRAMID
Definition: vtkCellType.h:51
@ VTK_PIXEL
Definition: vtkCellType.h:45
@ VTK_QUADRATIC_WEDGE
Definition: vtkCellType.h:62
@ VTK_BEZIER_WEDGE
Definition: vtkCellType.h:115
@ VTK_BIQUADRATIC_QUAD
Definition: vtkCellType.h:64
@ VTK_HIGHER_ORDER_WEDGE
Definition: vtkCellType.h:96
@ VTK_LAGRANGE_QUADRILATERAL
Definition: vtkCellType.h:103
@ VTK_POLY_LINE
Definition: vtkCellType.h:41
@ VTK_TRIQUADRATIC_PYRAMID
Definition: vtkCellType.h:66
@ VTK_TRIANGLE
Definition: vtkCellType.h:42
@ VTK_BEZIER_TRIANGLE
Definition: vtkCellType.h:111
@ VTK_POLYGON
Definition: vtkCellType.h:44
@ VTK_EMPTY_CELL
Definition: vtkCellType.h:37
@ VTK_QUADRATIC_PYRAMID
Definition: vtkCellType.h:63
@ VTK_POLYHEDRON
Definition: vtkCellType.h:80
@ VTK_TRIQUADRATIC_HEXAHEDRON
Definition: vtkCellType.h:65
@ VTK_TETRA
Definition: vtkCellType.h:47
@ VTK_LINE
Definition: vtkCellType.h:40
@ VTK_CONVEX_POINT_SET
Definition: vtkCellType.h:77
@ VTK_BEZIER_HEXAHEDRON
Definition: vtkCellType.h:114
@ VTK_PARAMETRIC_TRI_SURFACE
Definition: vtkCellType.h:85
@ VTK_LAGRANGE_WEDGE
Definition: vtkCellType.h:106
@ VTK_LAGRANGE_HEXAHEDRON
Definition: vtkCellType.h:105
@ VTK_PENTAGONAL_PRISM
Definition: vtkCellType.h:52
@ VTK_HIGHER_ORDER_TRIANGLE
Definition: vtkCellType.h:92
@ VTK_QUADRATIC_QUAD
Definition: vtkCellType.h:58
@ VTK_WEDGE
Definition: vtkCellType.h:50
@ VTK_PARAMETRIC_QUAD_SURFACE
Definition: vtkCellType.h:86
@ VTK_LAGRANGE_TETRAHEDRON
Definition: vtkCellType.h:104
@ VTK_PARAMETRIC_CURVE
Definition: vtkCellType.h:83
@ VTK_BEZIER_CURVE
Definition: vtkCellType.h:110
@ VTK_HIGHER_ORDER_PYRAMID
Definition: vtkCellType.h:97
@ VTK_HEXAGONAL_PRISM
Definition: vtkCellType.h:53
@ VTK_PARAMETRIC_HEX_REGION
Definition: vtkCellType.h:88
@ VTK_BEZIER_QUADRILATERAL
Definition: vtkCellType.h:112
@ VTK_QUADRATIC_LINEAR_WEDGE
Definition: vtkCellType.h:68
@ VTK_HEXAHEDRON
Definition: vtkCellType.h:49
@ VTK_CUBIC_LINE
Definition: vtkCellType.h:74
@ VTK_LAGRANGE_TRIANGLE
Definition: vtkCellType.h:102
@ VTK_HIGHER_ORDER_HEXAHEDRON
Definition: vtkCellType.h:98
@ VTK_QUADRATIC_POLYGON
Definition: vtkCellType.h:59
@ VTK_QUAD
Definition: vtkCellType.h:46
@ VTK_QUADRATIC_TRIANGLE
Definition: vtkCellType.h:57
@ VTK_PARAMETRIC_TETRA_REGION
Definition: vtkCellType.h:87
@ VTK_QUADRATIC_EDGE
Definition: vtkCellType.h:56
@ VTK_QUADRATIC_TETRA
Definition: vtkCellType.h:60
@ VTK_HIGHER_ORDER_EDGE
Definition: vtkCellType.h:91
@ VTK_LAGRANGE_PYRAMID
Definition: vtkCellType.h:107
@ VTK_BEZIER_TETRAHEDRON
Definition: vtkCellType.h:113
@ VTK_VERTEX
Definition: vtkCellType.h:38
@ VTK_POLY_VERTEX
Definition: vtkCellType.h:39
@ VTK_QUADRATIC_LINEAR_QUAD
Definition: vtkCellType.h:67
@ VTK_BEZIER_PYRAMID
Definition: vtkCellType.h:116
@ VTK_BIQUADRATIC_QUADRATIC_WEDGE
Definition: vtkCellType.h:69
@ VTK_HIGHER_ORDER_POLYGON
Definition: vtkCellType.h:94
@ VTK_BIQUADRATIC_TRIANGLE
Definition: vtkCellType.h:71