VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCellType.h,v $ 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 00036 // .SECTION Caveats 00037 // An unstructured grid stores the types of its cells as a 00038 // unsigned char array. Therefore, the maximum encoding number for a cell type 00039 // is 255. 00040 00041 typedef enum { 00042 // Linear cells 00043 VTK_EMPTY_CELL = 0, 00044 VTK_VERTEX = 1, 00045 VTK_POLY_VERTEX = 2, 00046 VTK_LINE = 3, 00047 VTK_POLY_LINE = 4, 00048 VTK_TRIANGLE = 5, 00049 VTK_TRIANGLE_STRIP = 6, 00050 VTK_POLYGON = 7, 00051 VTK_PIXEL = 8, 00052 VTK_QUAD = 9, 00053 VTK_TETRA = 10, 00054 VTK_VOXEL = 11, 00055 VTK_HEXAHEDRON = 12, 00056 VTK_WEDGE = 13, 00057 VTK_PYRAMID = 14, 00058 VTK_PENTAGONAL_PRISM = 15, 00059 VTK_HEXAGONAL_PRISM = 16, 00060 00061 // Quadratic, isoparametric cells 00062 VTK_QUADRATIC_EDGE = 21, 00063 VTK_QUADRATIC_TRIANGLE = 22, 00064 VTK_QUADRATIC_QUAD = 23, 00065 VTK_QUADRATIC_TETRA = 24, 00066 VTK_QUADRATIC_HEXAHEDRON = 25, 00067 VTK_QUADRATIC_WEDGE = 26, 00068 VTK_QUADRATIC_PYRAMID = 27, 00069 VTK_BIQUADRATIC_QUAD = 28, 00070 VTK_TRIQUADRATIC_HEXAHEDRON = 29, 00071 VTK_QUADRATIC_LINEAR_QUAD = 30, 00072 VTK_QUADRATIC_LINEAR_WEDGE = 31, 00073 VTK_BIQUADRATIC_QUADRATIC_WEDGE = 32, 00074 VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON = 33, 00075 00076 // Special class of cells formed by convex group of points 00077 VTK_CONVEX_POINT_SET = 41, 00078 00079 // Higher order cells in parametric form 00080 VTK_PARAMETRIC_CURVE = 51, 00081 VTK_PARAMETRIC_SURFACE = 52, 00082 VTK_PARAMETRIC_TRI_SURFACE = 53, 00083 VTK_PARAMETRIC_QUAD_SURFACE = 54, 00084 VTK_PARAMETRIC_TETRA_REGION = 55, 00085 VTK_PARAMETRIC_HEX_REGION = 56, 00086 00087 // Higher order cells 00088 VTK_HIGHER_ORDER_EDGE = 60, 00089 VTK_HIGHER_ORDER_TRIANGLE = 61, 00090 VTK_HIGHER_ORDER_QUAD = 62, 00091 VTK_HIGHER_ORDER_POLYGON = 63, 00092 VTK_HIGHER_ORDER_TETRAHEDRON = 64, 00093 VTK_HIGHER_ORDER_WEDGE = 65, 00094 VTK_HIGHER_ORDER_PYRAMID = 66, 00095 VTK_HIGHER_ORDER_HEXAHEDRON = 67, 00096 00097 VTK_NUMBER_OF_CELL_TYPES 00098 } VTKCellType; 00099 00100 #endif