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_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