00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00036 #ifndef __vtkPolyDataSourceWidget_h
00037 #define __vtkPolyDataSourceWidget_h
00038 
00039 #include "vtk3DWidget.h"
00040 
00041 class vtkPolyDataAlgorithm;
00042 class vtkPolyDataSource;
00043 
00044 class VTK_WIDGETS_EXPORT vtkPolyDataSourceWidget : public vtk3DWidget
00045 {
00046  public:
00047   vtkTypeMacro(vtkPolyDataSourceWidget, vtk3DWidget);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00049 
00052   virtual void PlaceWidget();
00053 
00058   virtual void PlaceWidget(double bounds[6]) = 0;
00059 
00061 
00062   void PlaceWidget(double xmin, double xmax, double ymin, double ymax, 
00063                    double zmin, double zmax)
00064     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
00066 
00068 
00074   virtual vtkPolyDataSource* GetPolyDataSource();
00075   virtual vtkPolyDataAlgorithm* GetPolyDataAlgorithm() = 0;
00077 
00081   virtual void UpdatePlacement() = 0;
00082 
00083 protected:
00086   vtkPolyDataSourceWidget();
00087 
00088 private:
00089   
00090   
00091   
00092   
00093   vtkPolyDataSourceWidget(const vtkPolyDataSourceWidget&);  
00094   void operator=(const vtkPolyDataSourceWidget&);  
00095 };
00096 
00097 #endif