VTK  9.6.20260406
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
13
14#ifndef vtkCellType_h
15#define vtkCellType_h
16
17#include "vtkABINamespace.h"
18#include "vtkType.h" // For VTK_DEPRECATED_IN_9_7_0_TYPE
19
20// To add a new cell type, define a new integer type flag here, then
21// create a subclass of vtkCell to implement the proper behavior. You
22// may have to modify the following methods: vtkDataSet (and subclasses)
23// GetCell() and vtkGenericCell::SetCellType(). Also, to do the job right,
24// you'll also have to modify some filters (vtkGeometryFilter...) and
25// regression tests (example scripts) to reflect the new cell addition.
26// Also, make sure to update vtkCellTypeUtilities.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
33VTK_ABI_NAMESPACE_BEGIN
34typedef enum
35{
36 // Linear cells
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
83 VTK_PARAMETRIC_CURVE VTK_DEPRECATED_IN_9_7_0_TYPE("No longer used") = 51,
84 VTK_PARAMETRIC_SURFACE VTK_DEPRECATED_IN_9_7_0_TYPE("No longer used") = 52,
85 VTK_PARAMETRIC_TRI_SURFACE VTK_DEPRECATED_IN_9_7_0_TYPE("No longer used") = 53,
86 VTK_PARAMETRIC_QUAD_SURFACE VTK_DEPRECATED_IN_9_7_0_TYPE("No longer used") = 54,
87 VTK_PARAMETRIC_TETRA_REGION VTK_DEPRECATED_IN_9_7_0_TYPE("No longer used") = 55,
88 VTK_PARAMETRIC_HEX_REGION VTK_DEPRECATED_IN_9_7_0_TYPE("No longer used") = 56,
89
90 // Higher order cells
91 VTK_HIGHER_ORDER_EDGE VTK_DEPRECATED_IN_9_7_0_TYPE("Replaced by VTK_HIGHER_ORDER_CURVE") = 60,
94 VTK_HIGHER_ORDER_QUAD VTK_DEPRECATED_IN_9_7_0_TYPE("Replaced by VTK_HIGHER_ORDER_QUADRILATERAL") =
95 62,
97 VTK_HIGHER_ORDER_POLYGON VTK_DEPRECATED_IN_9_7_0_TYPE("No longer used") = 63,
100 VTK_HIGHER_ORDER_PYRAMID = 66, // Not Implemented yet, kept as placeholder.
102
103 // Arbitrary order Lagrange elements (formulated separated from generic higher order cells)
110 VTK_LAGRANGE_PYRAMID = 74, // Not Implemented yet, kept as placeholder.
111
112 // Arbitrary order Bezier elements (formulated separated from generic higher order cells)
119 VTK_BEZIER_PYRAMID = 81, // Not Implemented yet, kept as placeholder.
120
123
124VTK_ABI_NAMESPACE_END
125#endif
126// VTK-HeaderTest-Exclude: vtkCellType.h
VTKCellType
Definition vtkCellType.h:35
@ VTK_VOXEL
Definition vtkCellType.h:48
@ VTK_QUADRATIC_HEXAHEDRON
Definition vtkCellType.h:61
@ VTK_HIGHER_ORDER_TETRAHEDRON
Definition vtkCellType.h:98
@ VTK_TRIANGLE_STRIP
Definition vtkCellType.h:43
@ VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON
Definition vtkCellType.h:70
@ VTK_NUMBER_OF_CELL_TYPES
@ VTK_LAGRANGE_CURVE
@ VTK_PYRAMID
Definition vtkCellType.h:51
@ VTK_PIXEL
Definition vtkCellType.h:45
@ VTK_QUADRATIC_WEDGE
Definition vtkCellType.h:62
@ VTK_BEZIER_WEDGE
@ VTK_BIQUADRATIC_QUAD
Definition vtkCellType.h:64
@ VTK_HIGHER_ORDER_WEDGE
Definition vtkCellType.h:99
@ VTK_LAGRANGE_QUADRILATERAL
@ VTK_POLY_LINE
Definition vtkCellType.h:41
@ VTK_TRIQUADRATIC_PYRAMID
Definition vtkCellType.h:66
@ VTK_TRIANGLE
Definition vtkCellType.h:42
@ VTK_BEZIER_TRIANGLE
@ 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
@ VTK_LAGRANGE_WEDGE
@ VTK_LAGRANGE_HEXAHEDRON
@ VTK_PENTAGONAL_PRISM
Definition vtkCellType.h:52
@ VTK_HIGHER_ORDER_TRIANGLE
Definition vtkCellType.h:93
@ VTK_QUADRATIC_QUAD
Definition vtkCellType.h:58
@ VTK_WEDGE
Definition vtkCellType.h:50
@ VTK_LAGRANGE_TETRAHEDRON
@ VTK_BEZIER_CURVE
@ VTK_HIGHER_ORDER_PYRAMID
@ VTK_HEXAGONAL_PRISM
Definition vtkCellType.h:53
@ VTK_BEZIER_QUADRILATERAL
@ VTK_QUADRATIC_LINEAR_WEDGE
Definition vtkCellType.h:68
@ VTK_HEXAHEDRON
Definition vtkCellType.h:49
@ VTK_CUBIC_LINE
Definition vtkCellType.h:74
@ VTK_LAGRANGE_TRIANGLE
@ VTK_HIGHER_ORDER_HEXAHEDRON
@ VTK_HIGHER_ORDER_QUADRILATERAL
Definition vtkCellType.h:96
@ VTK_QUADRATIC_POLYGON
Definition vtkCellType.h:59
@ VTK_QUAD
Definition vtkCellType.h:46
@ VTK_HIGHER_ORDER_CURVE
Definition vtkCellType.h:92
@ VTK_QUADRATIC_TRIANGLE
Definition vtkCellType.h:57
@ VTK_QUADRATIC_EDGE
Definition vtkCellType.h:56
@ VTK_QUADRATIC_TETRA
Definition vtkCellType.h:60
@ VTK_LAGRANGE_PYRAMID
@ VTK_BEZIER_TETRAHEDRON
@ VTK_VERTEX
Definition vtkCellType.h:38
@ VTK_POLY_VERTEX
Definition vtkCellType.h:39
@ VTK_DEPRECATED_IN_9_7_0_TYPE
Definition vtkCellType.h:83
@ VTK_QUADRATIC_LINEAR_QUAD
Definition vtkCellType.h:67
@ VTK_BEZIER_PYRAMID
@ VTK_BIQUADRATIC_QUADRATIC_WEDGE
Definition vtkCellType.h:69
@ VTK_BIQUADRATIC_TRIANGLE
Definition vtkCellType.h:71