00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00048 #ifndef __vtkQuad_h
00049 #define __vtkQuad_h
00050
00051 #include "vtkCell.h"
00052
00053 class vtkLine;
00054
00055 class VTK_COMMON_EXPORT vtkQuad : public vtkCell
00056 {
00057 public:
00058 static vtkQuad *New();
00059 vtkTypeRevisionMacro(vtkQuad,vtkCell);
00060
00062
00063 int GetCellType() {return VTK_QUAD;};
00064 int GetCellDimension() {return 2;};
00065 int GetNumberOfEdges() {return 4;};
00066 int GetNumberOfFaces() {return 0;};
00067 vtkCell *GetEdge(int edgeId);
00068 vtkCell *GetFace(int) {return 0;};
00069 int CellBoundary(int subId, float pcoords[3], vtkIdList *pts);
00070 void Contour(float value, vtkDataArray *cellScalars,
00071 vtkPointLocator *locator, vtkCellArray *verts,
00072 vtkCellArray *lines, vtkCellArray *polys,
00073 vtkPointData *inPd, vtkPointData *outPd,
00074 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
00075 int EvaluatePosition(float x[3], float* closestPoint,
00076 int& subId, float pcoords[3],
00077 float& dist2, float *weights);
00078 void EvaluateLocation(int& subId, float pcoords[3], float x[3],
00079 float *weights);
00080 int IntersectWithLine(float p1[3], float p2[3], float tol, float& t,
00081 float x[3], float pcoords[3], int& subId);
00082 int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
00083 void Derivatives(int subId, float pcoords[3], float *values,
00084 int dim, float *derivs);
00086
00088
00090 void Clip(float value, vtkDataArray *cellScalars,
00091 vtkPointLocator *locator, vtkCellArray *polys,
00092 vtkPointData *inPd, vtkPointData *outPd,
00093 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
00094 int insideOut);
00096
00098
00099 static void InterpolationFunctions(float pcoords[3], float sf[4]);
00100 static void InterpolationDerivs(float pcoords[3], float derivs[8]);
00102
00103
00104 protected:
00105 vtkQuad();
00106 ~vtkQuad();
00107
00108 vtkLine *Line;
00109
00110 private:
00111 vtkQuad(const vtkQuad&);
00112 void operator=(const vtkQuad&);
00113 };
00114
00115 #endif
00116
00117