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