00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00042 #ifndef __vtkPolygonalSurfaceContourLineInterpolator_h
00043 #define __vtkPolygonalSurfaceContourLineInterpolator_h
00044 
00045 #include "vtkPolyDataContourLineInterpolator.h"
00046 
00047 class vtkDijkstraGraphGeodesicPath;
00048 
00049 class VTK_WIDGETS_EXPORT vtkPolygonalSurfaceContourLineInterpolator : public vtkPolyDataContourLineInterpolator
00050 {
00051 public:
00053 
00054   vtkTypeMacro(vtkPolygonalSurfaceContourLineInterpolator, vtkPolyDataContourLineInterpolator);
00055   void PrintSelf(ostream& os, vtkIndent indent);
00057 
00058   static vtkPolygonalSurfaceContourLineInterpolator *New();
00059 
00061 
00065   virtual int InterpolateLine( vtkRenderer *ren, 
00066                                vtkContourRepresentation *rep,
00067                                int idx1, int idx2 );
00069   
00071 
00076   virtual int UpdateNode( vtkRenderer *, 
00077                           vtkContourRepresentation *,
00078                           double * vtkNotUsed(node), int vtkNotUsed(idx) );
00080 
00082 
00086   vtkSetMacro( DistanceOffset, double ); 
00087   vtkGetMacro( DistanceOffset, double ); 
00089   
00090 protected:
00091   vtkPolygonalSurfaceContourLineInterpolator();
00092   ~vtkPolygonalSurfaceContourLineInterpolator();
00093 
00096   double         DistanceOffset;
00097 
00098 private:
00099   vtkPolygonalSurfaceContourLineInterpolator(const vtkPolygonalSurfaceContourLineInterpolator&);  
00100   void operator=(const vtkPolygonalSurfaceContourLineInterpolator&);  
00101 
00102   
00103   
00104   vtkIdType      LastInterpolatedVertexIds[2];
00105 
00106   vtkDijkstraGraphGeodesicPath* DijkstraGraphGeodesicPath;
00107 };
00108 
00109 #endif