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