00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027 #ifndef __vtkVertex_h
00028 #define __vtkVertex_h
00029
00030 #include "vtkCell.h"
00031
00032 class VTK_FILTERING_EXPORT vtkVertex : public vtkCell
00033 {
00034 public:
00035 static vtkVertex *New();
00036 vtkTypeRevisionMacro(vtkVertex,vtkCell);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00043 int GetCellType() {return VTK_VERTEX;};
00044 int GetCellDimension() {return 0;};
00045 int GetNumberOfEdges() {return 0;};
00046 int GetNumberOfFaces() {return 0;};
00047 vtkCell *GetEdge(int) {return 0;};
00048 vtkCell *GetFace(int) {return 0;};
00049 void Clip(double value, vtkDataArray *cellScalars,
00050 vtkPointLocator *locator, vtkCellArray *pts,
00051 vtkPointData *inPd, vtkPointData *outPd,
00052 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
00053 int insideOut);
00054 int EvaluatePosition(double x[3], double* closestPoint,
00055 int& subId, double pcoords[3],
00056 double& dist2, double *weights);
00057 void EvaluateLocation(int& subId, double pcoords[3], double x[3],
00058 double *weights);
00059 virtual double *GetParametricCoords();
00061
00067 int CellBoundary(int subId, double pcoords[3], vtkIdList *pts);
00068
00070
00074 void Contour(double value, vtkDataArray *cellScalars,
00075 vtkPointLocator *locator, vtkCellArray *verts1,
00076 vtkCellArray *lines, vtkCellArray *verts2,
00077 vtkPointData *inPd, vtkPointData *outPd,
00078 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
00080
00082 int GetParametricCenter(double pcoords[3]);
00083
00085
00088 int IntersectWithLine(double p1[3], double p2[3], double tol, double& t,
00089 double x[3], double pcoords[3], int& subId);
00091
00094 int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
00095
00097
00099 void Derivatives(int subId, double pcoords[3], double *values,
00100 int dim, double *derivs);
00102
00104 static void InterpolationFunctions(double pcoords[3], double weights[1]);
00105
00106 protected:
00107 vtkVertex();
00108 ~vtkVertex() {};
00109
00110 private:
00111 vtkVertex(const vtkVertex&);
00112 void operator=(const vtkVertex&);
00113 };
00114
00115
00116 inline int vtkVertex::GetParametricCenter(double pcoords[3])
00117 {
00118 pcoords[0] = pcoords[1] = pcoords[2] = 0.0;
00119 return 0;
00120 }
00121
00122 #endif
00123
00124