00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00056 #ifndef __vtkGenericCell_h
00057 #define __vtkGenericCell_h
00058
00059 #include "vtkCell.h"
00060
00061 class VTK_EXPORT vtkGenericCell : public vtkCell
00062 {
00063 public:
00065 static vtkGenericCell *New();
00066
00067 vtkTypeMacro(vtkGenericCell,vtkCell);
00068
00070 vtkCell *MakeObject();
00071 void ShallowCopy(vtkCell *c);
00072 void DeepCopy(vtkCell *c);
00073 int GetCellType();
00074 int GetCellDimension();
00075 int GetInterpolationOrder();
00076 int GetNumberOfEdges();
00077 int GetNumberOfFaces();
00078 vtkCell *GetEdge(int edgeId);
00079 vtkCell *GetFace(int faceId);
00080 int CellBoundary(int subId, float pcoords[3], vtkIdList *pts);
00081 int EvaluatePosition(float x[3], float* closestPoint,
00082 int& subId, float pcoords[3],
00083 float& dist2, float *weights);
00084 void EvaluateLocation(int& subId, float pcoords[3],
00085 float x[3], float *weights);
00086 void Contour(float value, vtkScalars *cellScalars,
00087 vtkPointLocator *locator, vtkCellArray *verts,
00088 vtkCellArray *lines, vtkCellArray *polys,
00089 vtkPointData *inPd, vtkPointData *outPd,
00090 vtkCellData *inCd, int cellId, vtkCellData *outCd);
00091 void Clip(float value, vtkScalars *cellScalars,
00092 vtkPointLocator *locator, vtkCellArray *connectivity,
00093 vtkPointData *inPd, vtkPointData *outPd,
00094 vtkCellData *inCd, int cellId, vtkCellData *outCd,
00095 int insideOut);
00096 int IntersectWithLine(float p1[3], float p2[3], float tol, float& t,
00097 float x[3], float pcoords[3], int& subId);
00098 int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
00099 void Derivatives(int subId, float pcoords[3], float *values,
00100 int dim, float *derivs);
00101 int GetParametricCenter(float pcoords[3]);
00102
00108 void SetCellType(int cellType);
00109 void SetCellTypeToEmptyCell() {this->SetCellType(VTK_EMPTY_CELL);}
00110 void SetCellTypeToVertex() {this->SetCellType(VTK_VERTEX);}
00111 void SetCellTypeToPolyVertex() {this->SetCellType(VTK_POLY_VERTEX);}
00112 void SetCellTypeToLine() {this->SetCellType(VTK_LINE);}
00113 void SetCellTypeToPolyLine() {this->SetCellType(VTK_POLY_LINE);}
00114 void SetCellTypeToTriangle() {this->SetCellType(VTK_TRIANGLE);}
00115 void SetCellTypeToTriangleStrip() {this->SetCellType(VTK_TRIANGLE_STRIP);}
00116 void SetCellTypeToPolygon() {this->SetCellType(VTK_POLYGON);}
00117 void SetCellTypeToPixel() {this->SetCellType(VTK_PIXEL);}
00118 void SetCellTypeToQuad() {this->SetCellType(VTK_QUAD);}
00119 void SetCellTypeToTetra() {this->SetCellType(VTK_TETRA);}
00120 void SetCellTypeToVoxel() {this->SetCellType(VTK_VOXEL);}
00121 void SetCellTypeToHexahedron() {this->SetCellType(VTK_HEXAHEDRON);}
00122 void SetCellTypeToWedge() {this->SetCellType(VTK_WEDGE);}
00123 void SetCellTypeToPyramid() {this->SetCellType(VTK_PYRAMID);}
00124
00125 #ifndef VTK_REMOVE_LEGACY_CODE
00126
00127 void DeepCopy(vtkCell &c)
00128 {VTK_LEGACY_METHOD(DeepCopy,"3.2"); this->DeepCopy(&c);}
00129 void ShallowCopy(vtkCell &c)
00130 {VTK_LEGACY_METHOD(ShallowCopy,"3.2"); this->ShallowCopy(&c);}
00131 #endif
00132
00133 protected:
00134 vtkGenericCell();
00135 ~vtkGenericCell();
00136 vtkGenericCell(const vtkGenericCell&) {};
00137 void operator=(const vtkGenericCell&) {};
00138
00139 vtkCell *Cell;
00140 };
00141
00142 #endif
00143
00144