00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00044 #ifndef __vtkVertex_h
00045 #define __vtkVertex_h
00046
00047 #include "vtkCell.h"
00048
00049 class VTK_COMMON_EXPORT vtkVertex : public vtkCell
00050 {
00051 public:
00052 static vtkVertex *New();
00053 vtkTypeRevisionMacro(vtkVertex,vtkCell);
00054
00059 int GetCellType() {return VTK_VERTEX;};
00060 int GetCellDimension() {return 0;};
00061 int GetNumberOfEdges() {return 0;};
00062 int GetNumberOfFaces() {return 0;};
00063 vtkCell *GetEdge(int) {return 0;};
00064 vtkCell *GetFace(int) {return 0;};
00065 void Clip(float value, vtkDataArray *cellScalars,
00066 vtkPointLocator *locator, vtkCellArray *pts,
00067 vtkPointData *inPd, vtkPointData *outPd,
00068 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
00069 int insideOut);
00070 int EvaluatePosition(float x[3], float* closestPoint,
00071 int& subId, float pcoords[3],
00072 float& dist2, float *weights);
00073 void EvaluateLocation(int& subId, float pcoords[3], float x[3],
00074 float *weights);
00076
00082 int CellBoundary(int subId, float pcoords[3], vtkIdList *pts);
00083
00085
00089 void Contour(float value, vtkDataArray *cellScalars,
00090 vtkPointLocator *locator, vtkCellArray *verts1,
00091 vtkCellArray *lines, vtkCellArray *verts2,
00092 vtkPointData *inPd, vtkPointData *outPd,
00093 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
00095
00097
00100 int IntersectWithLine(float p1[3], float p2[3], float tol, float& t,
00101 float x[3], float pcoords[3], int& subId);
00103
00106 int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
00107
00109
00111 void Derivatives(int subId, float pcoords[3], float *values,
00112 int dim, float *derivs);
00114
00116 static void InterpolationFunctions(float pcoords[3], float weights[1]);
00117
00118 protected:
00119 vtkVertex();
00120 ~vtkVertex() {};
00121
00122 private:
00123 vtkVertex(const vtkVertex&);
00124 void operator=(const vtkVertex&);
00125 };
00126
00127 #endif
00128
00129