00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00032 #ifndef __vtkGenericCell_h
00033 #define __vtkGenericCell_h
00034
00035 #include "vtkCell.h"
00036
00037 class VTK_FILTERING_EXPORT vtkGenericCell : public vtkCell
00038 {
00039 public:
00041 static vtkGenericCell *New();
00042
00043 vtkTypeRevisionMacro(vtkGenericCell,vtkCell);
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047
00048 void ShallowCopy(vtkCell *c);
00049 void DeepCopy(vtkCell *c);
00050 int GetCellType();
00051 int GetCellDimension();
00052 int IsLinear();
00053 int RequiresInitialization();
00054 void Initialize();
00055 int GetNumberOfEdges();
00056 int GetNumberOfFaces();
00057 vtkCell *GetEdge(int edgeId);
00058 vtkCell *GetFace(int faceId);
00059 int CellBoundary(int subId, double pcoords[3], vtkIdList *pts);
00060 int EvaluatePosition(double x[3], double* closestPoint,
00061 int& subId, double pcoords[3],
00062 double& dist2, double *weights);
00063 void EvaluateLocation(int& subId, double pcoords[3],
00064 double x[3], double *weights);
00065 void Contour(double value, vtkDataArray *cellScalars,
00066 vtkPointLocator *locator, vtkCellArray *verts,
00067 vtkCellArray *lines, vtkCellArray *polys,
00068 vtkPointData *inPd, vtkPointData *outPd,
00069 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
00070 void Clip(double value, vtkDataArray *cellScalars,
00071 vtkPointLocator *locator, vtkCellArray *connectivity,
00072 vtkPointData *inPd, vtkPointData *outPd,
00073 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
00074 int insideOut);
00075 int IntersectWithLine(double p1[3], double p2[3], double tol, double& t,
00076 double x[3], double pcoords[3], int& subId);
00077 int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
00078 void Derivatives(int subId, double pcoords[3], double *values,
00079 int dim, double *derivs);
00080 int GetParametricCenter(double pcoords[3]);
00081 double *GetParametricCoords();
00082 int IsPrimaryCell();
00084
00086
00091 void SetCellType(int cellType);
00092 void SetCellTypeToEmptyCell() {this->SetCellType(VTK_EMPTY_CELL);}
00093 void SetCellTypeToVertex() {this->SetCellType(VTK_VERTEX);}
00094 void SetCellTypeToPolyVertex() {this->SetCellType(VTK_POLY_VERTEX);}
00095 void SetCellTypeToLine() {this->SetCellType(VTK_LINE);}
00096 void SetCellTypeToPolyLine() {this->SetCellType(VTK_POLY_LINE);}
00097 void SetCellTypeToTriangle() {this->SetCellType(VTK_TRIANGLE);}
00098 void SetCellTypeToTriangleStrip() {this->SetCellType(VTK_TRIANGLE_STRIP);}
00099 void SetCellTypeToPolygon() {this->SetCellType(VTK_POLYGON);}
00100 void SetCellTypeToPixel() {this->SetCellType(VTK_PIXEL);}
00101 void SetCellTypeToQuad() {this->SetCellType(VTK_QUAD);}
00102 void SetCellTypeToTetra() {this->SetCellType(VTK_TETRA);}
00103 void SetCellTypeToVoxel() {this->SetCellType(VTK_VOXEL);}
00104 void SetCellTypeToHexahedron() {this->SetCellType(VTK_HEXAHEDRON);}
00105 void SetCellTypeToWedge() {this->SetCellType(VTK_WEDGE);}
00106 void SetCellTypeToPyramid() {this->SetCellType(VTK_PYRAMID);}
00107 void SetCellTypeToPentagonalPrism() {this->SetCellType(VTK_PENTAGONAL_PRISM);}
00108 void SetCellTypeToHexagonalPrism() {this->SetCellType(VTK_HEXAGONAL_PRISM);}
00109 void SetCellTypeToConvexPointSet() {this->SetCellType(VTK_CONVEX_POINT_SET);}
00110 void SetCellTypeToQuadraticEdge() {this->SetCellType(VTK_QUADRATIC_EDGE);}
00111 void SetCellTypeToQuadraticTriangle() {this->SetCellType(VTK_QUADRATIC_TRIANGLE);}
00112 void SetCellTypeToQuadraticQuad() {this->SetCellType(VTK_QUADRATIC_QUAD);}
00113 void SetCellTypeToQuadraticTetra() {this->SetCellType(VTK_QUADRATIC_TETRA);}
00114 void SetCellTypeToQuadraticHexahedron() {this->SetCellType(VTK_QUADRATIC_HEXAHEDRON);}
00115 void SetCellTypeToQuadraticWedge() {this->SetCellType(VTK_QUADRATIC_WEDGE);}
00116 void SetCellTypeToQuadraticPyramid() {this->SetCellType(VTK_QUADRATIC_PYRAMID);}
00118
00119 protected:
00120 vtkGenericCell();
00121 ~vtkGenericCell();
00122
00123 vtkCell *Cell;
00124
00125 private:
00126 vtkGenericCell(const vtkGenericCell&);
00127 void operator=(const vtkGenericCell&);
00128 };
00129
00130 #endif
00131
00132