00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00031 #ifndef __vtkVertex_h
00032 #define __vtkVertex_h
00033
00034 #include "vtkCell.h"
00035
00036 class VTK_COMMON_EXPORT vtkVertex : public vtkCell
00037 {
00038 public:
00039 static vtkVertex *New();
00040 vtkTypeRevisionMacro(vtkVertex,vtkCell);
00041
00046 int GetCellType() {return VTK_VERTEX;};
00047 int GetCellDimension() {return 0;};
00048 int GetNumberOfEdges() {return 0;};
00049 int GetNumberOfFaces() {return 0;};
00050 vtkCell *GetEdge(int) {return 0;};
00051 vtkCell *GetFace(int) {return 0;};
00052 void Clip(float value, vtkDataArray *cellScalars,
00053 vtkPointLocator *locator, vtkCellArray *pts,
00054 vtkPointData *inPd, vtkPointData *outPd,
00055 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
00056 int insideOut);
00057 int EvaluatePosition(float x[3], float* closestPoint,
00058 int& subId, float pcoords[3],
00059 float& dist2, float *weights);
00060 void EvaluateLocation(int& subId, float pcoords[3], float x[3],
00061 float *weights);
00063
00069 int CellBoundary(int subId, float pcoords[3], vtkIdList *pts);
00070
00072
00076 void Contour(float value, vtkDataArray *cellScalars,
00077 vtkPointLocator *locator, vtkCellArray *verts1,
00078 vtkCellArray *lines, vtkCellArray *verts2,
00079 vtkPointData *inPd, vtkPointData *outPd,
00080 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
00082
00084
00087 int IntersectWithLine(float p1[3], float p2[3], float tol, float& t,
00088 float x[3], float pcoords[3], int& subId);
00090
00093 int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
00094
00096
00098 void Derivatives(int subId, float pcoords[3], float *values,
00099 int dim, float *derivs);
00101
00103 static void InterpolationFunctions(float pcoords[3], float weights[1]);
00104
00105 protected:
00106 vtkVertex();
00107 ~vtkVertex() {};
00108
00109 private:
00110 vtkVertex(const vtkVertex&);
00111 void operator=(const vtkVertex&);
00112 };
00113
00114 #endif
00115
00116