VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCellType.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00025 #ifndef __vtkCellType_h 00026 #define __vtkCellType_h 00027 00028 // To add a new cell type, define a new integer type flag here, then 00029 // create a subclass of vtkCell to implement the proper behavior. You 00030 // may have to modify the following methods: vtkDataSet (and subclasses) 00031 // GetCell() and vtkGenericCell::SetCellType(). Also, to do the job right, 00032 // you'll also have to modify some filters (vtkGeometryFilter...) and 00033 // regression tests (example scripts) to reflect the new cell addition. 00034 // Also, make sure to update vtkCellTypesStrings in vtkCellTypes.cxx 00035 // and the vtkCellTypes::IsLinear method in vtkCellTypes.h. 00036 00037 // .SECTION Caveats 00038 // An unstructured grid stores the types of its cells as a 00039 // unsigned char array. Therefore, the maximum encoding number for a cell type 00040 // is 255. 00041 00042 typedef enum { 00043 // Linear cells 00044 VTK_EMPTY_CELL = 0, 00045 VTK_VERTEX = 1, 00046 VTK_POLY_VERTEX = 2, 00047 VTK_LINE = 3, 00048 VTK_POLY_LINE = 4, 00049 VTK_TRIANGLE = 5, 00050 VTK_TRIANGLE_STRIP = 6, 00051 VTK_POLYGON = 7, 00052 VTK_PIXEL = 8, 00053 VTK_QUAD = 9, 00054 VTK_TETRA = 10, 00055 VTK_VOXEL = 11, 00056 VTK_HEXAHEDRON = 12, 00057 VTK_WEDGE = 13, 00058 VTK_PYRAMID = 14, 00059 VTK_PENTAGONAL_PRISM = 15, 00060 VTK_HEXAGONAL_PRISM = 16, 00061 00062 // Quadratic, isoparametric cells 00063 VTK_QUADRATIC_EDGE = 21, 00064 VTK_QUADRATIC_TRIANGLE = 22, 00065 VTK_QUADRATIC_QUAD = 23, 00066 VTK_QUADRATIC_TETRA = 24, 00067 VTK_QUADRATIC_HEXAHEDRON = 25, 00068 VTK_QUADRATIC_WEDGE = 26, 00069 VTK_QUADRATIC_PYRAMID = 27, 00070 VTK_BIQUADRATIC_QUAD = 28, 00071 VTK_TRIQUADRATIC_HEXAHEDRON = 29, 00072 VTK_QUADRATIC_LINEAR_QUAD = 30, 00073 VTK_QUADRATIC_LINEAR_WEDGE = 31, 00074 VTK_BIQUADRATIC_QUADRATIC_WEDGE = 32, 00075 VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON = 33, 00076 VTK_BIQUADRATIC_TRIANGLE = 34, 00077 00078 // Cubic, isoparametric cell 00079 VTK_CUBIC_LINE = 35, 00080 00081 // Special class of cells formed by convex group of points 00082 VTK_CONVEX_POINT_SET = 41, 00083 00084 // Polyhedron cell (consisting of polygonal faces) 00085 VTK_POLYHEDRON = 42, 00086 00087 // Higher order cells in parametric form 00088 VTK_PARAMETRIC_CURVE = 51, 00089 VTK_PARAMETRIC_SURFACE = 52, 00090 VTK_PARAMETRIC_TRI_SURFACE = 53, 00091 VTK_PARAMETRIC_QUAD_SURFACE = 54, 00092 VTK_PARAMETRIC_TETRA_REGION = 55, 00093 VTK_PARAMETRIC_HEX_REGION = 56, 00094 00095 // Higher order cells 00096 VTK_HIGHER_ORDER_EDGE = 60, 00097 VTK_HIGHER_ORDER_TRIANGLE = 61, 00098 VTK_HIGHER_ORDER_QUAD = 62, 00099 VTK_HIGHER_ORDER_POLYGON = 63, 00100 VTK_HIGHER_ORDER_TETRAHEDRON = 64, 00101 VTK_HIGHER_ORDER_WEDGE = 65, 00102 VTK_HIGHER_ORDER_PYRAMID = 66, 00103 VTK_HIGHER_ORDER_HEXAHEDRON = 67, 00104 00105 VTK_NUMBER_OF_CELL_TYPES 00106 } VTKCellType; 00107 00108 #endif 00109 // VTK-HeaderTest-Exclude: vtkCellType.h