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