VTK
dox/Common/DataModel/vtkCellType.h
Go to the documentation of this file.
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_POLYGON                = 36,
00067   VTK_QUADRATIC_TETRA                  = 24,
00068   VTK_QUADRATIC_HEXAHEDRON             = 25,
00069   VTK_QUADRATIC_WEDGE                  = 26,
00070   VTK_QUADRATIC_PYRAMID                = 27,
00071   VTK_BIQUADRATIC_QUAD                 = 28,
00072   VTK_TRIQUADRATIC_HEXAHEDRON          = 29,
00073   VTK_QUADRATIC_LINEAR_QUAD            = 30,
00074   VTK_QUADRATIC_LINEAR_WEDGE           = 31,
00075   VTK_BIQUADRATIC_QUADRATIC_WEDGE      = 32,
00076   VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON = 33,
00077   VTK_BIQUADRATIC_TRIANGLE             = 34,
00078 
00079   // Cubic, isoparametric cell
00080   VTK_CUBIC_LINE                       = 35,
00081 
00082   // Special class of cells formed by convex group of points
00083   VTK_CONVEX_POINT_SET = 41,
00084 
00085   // Polyhedron cell (consisting of polygonal faces)
00086   VTK_POLYHEDRON = 42,
00087 
00088   // Higher order cells in parametric form
00089   VTK_PARAMETRIC_CURVE        = 51,
00090   VTK_PARAMETRIC_SURFACE      = 52,
00091   VTK_PARAMETRIC_TRI_SURFACE  = 53,
00092   VTK_PARAMETRIC_QUAD_SURFACE = 54,
00093   VTK_PARAMETRIC_TETRA_REGION = 55,
00094   VTK_PARAMETRIC_HEX_REGION   = 56,
00095 
00096   // Higher order cells
00097   VTK_HIGHER_ORDER_EDGE        = 60,
00098   VTK_HIGHER_ORDER_TRIANGLE    = 61,
00099   VTK_HIGHER_ORDER_QUAD        = 62,
00100   VTK_HIGHER_ORDER_POLYGON     = 63,
00101   VTK_HIGHER_ORDER_TETRAHEDRON = 64,
00102   VTK_HIGHER_ORDER_WEDGE       = 65,
00103   VTK_HIGHER_ORDER_PYRAMID     = 66,
00104   VTK_HIGHER_ORDER_HEXAHEDRON  = 67,
00105 
00106   VTK_NUMBER_OF_CELL_TYPES
00107 } VTKCellType;
00108 
00109 #endif
00110 // VTK-HeaderTest-Exclude: vtkCellType.h