VTK  9.2.20220705
vtkPolyDataSourceWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPolyDataSourceWidget.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
37 #ifndef vtkPolyDataSourceWidget_h
38 #define vtkPolyDataSourceWidget_h
39 
40 #include "vtk3DWidget.h"
41 #include "vtkInteractionWidgetsModule.h" // For export macro
42 
44 
45 class VTKINTERACTIONWIDGETS_EXPORT vtkPolyDataSourceWidget : public vtk3DWidget
46 {
47 public:
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
55  void PlaceWidget() override;
56 
63  void PlaceWidget(double bounds[6]) override = 0;
64 
69  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
70  {
71  this->Superclass::PlaceWidget(xmin, xmax, ymin, ymax, zmin, zmax);
72  }
73 
82 
88  virtual void UpdatePlacement() = 0;
89 
90 protected:
96 
97 private:
98  // this copy constructor and assignment operator are deliberately not
99  // implemented so that any "accidental" invocation of a copy (pass by value)
100  // or assignment will trigger linker errors; the class is not meant to
101  // be used in these ways. I couldn't resist adding this explanation. :)
103  void operator=(const vtkPolyDataSourceWidget&) = delete;
104 };
105 
106 #endif
an abstract superclass for 3D widgets
Definition: vtk3DWidget.h:71
a simple class to control print indentation
Definition: vtkIndent.h:119
Superclass for algorithms that produce only polydata as output.
abstract PolyDataSource-based 3D widget
virtual void UpdatePlacement()=0
If you've made changes to the underlying vtkPolyDataSource AFTER your initial call to PlaceWidget(),...
void PlaceWidget() override
Overrides vtk3DWidget PlaceWidget() so that it doesn't complain if there's no Input and no Prop3D.
void PlaceWidget(double bounds[6]) override=0
We have to redeclare this abstract, PlaceWidget() requires it.
vtkPolyDataSourceWidget()
Empty constructor that calls the parent constructor.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void PlaceWidget(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
Convenience method brought over from vtkPlaneWidget.
virtual vtkPolyDataAlgorithm * GetPolyDataAlgorithm()=0
Returns underlying vtkPolyDataAlgorithm that determines geometry.