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 "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 // this copy constructor and assignment operator are deliberately not 00090 // implemented so that any "accidental" invocation of a copy (pass by value) 00091 // or assignment will trigger linker errors; the class is not meant to 00092 // be used in these ways. I couldn't resist adding this explanation. :) 00093 vtkPolyDataSourceWidget(const vtkPolyDataSourceWidget&); // Not implemented. 00094 void operator=(const vtkPolyDataSourceWidget&); // Not implemented. 00095 }; 00096 00097 #endif