VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPolyDataSourceWidget.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00036 #ifndef __vtkPolyDataSourceWidget_h 00037 #define __vtkPolyDataSourceWidget_h 00038 00039 #include "vtkInteractionWidgetsModule.h" // For export macro 00040 #include "vtk3DWidget.h" 00041 00042 class vtkPolyDataAlgorithm; 00043 00044 class VTKINTERACTIONWIDGETS_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 00073 virtual vtkPolyDataAlgorithm* GetPolyDataAlgorithm() = 0; 00074 00078 virtual void UpdatePlacement() = 0; 00079 00080 protected: 00083 vtkPolyDataSourceWidget(); 00084 00085 private: 00086 // this copy constructor and assignment operator are deliberately not 00087 // implemented so that any "accidental" invocation of a copy (pass by value) 00088 // or assignment will trigger linker errors; the class is not meant to 00089 // be used in these ways. I couldn't resist adding this explanation. :) 00090 vtkPolyDataSourceWidget(const vtkPolyDataSourceWidget&); // Not implemented. 00091 void operator=(const vtkPolyDataSourceWidget&); // Not implemented. 00092 }; 00093 00094 #endif