VTK  9.3.20240328
vtkPolyDataSourceWidget.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
25 #ifndef vtkPolyDataSourceWidget_h
26 #define vtkPolyDataSourceWidget_h
27 
28 #include "vtk3DWidget.h"
29 #include "vtkInteractionWidgetsModule.h" // For export macro
30 
31 VTK_ABI_NAMESPACE_BEGIN
33 
34 class VTKINTERACTIONWIDGETS_EXPORT vtkPolyDataSourceWidget : public vtk3DWidget
35 {
36 public:
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
44  void PlaceWidget() override;
45 
52  void PlaceWidget(double bounds[6]) override = 0;
53 
58  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
59  {
60  this->Superclass::PlaceWidget(xmin, xmax, ymin, ymax, zmin, zmax);
61  }
62 
71 
77  virtual void UpdatePlacement() = 0;
78 
79 protected:
85 
86 private:
87  // this copy constructor and assignment operator are deliberately not
88  // implemented so that any "accidental" invocation of a copy (pass by value)
89  // or assignment will trigger linker errors; the class is not meant to
90  // be used in these ways. I couldn't resist adding this explanation. :)
92  void operator=(const vtkPolyDataSourceWidget&) = delete;
93 };
94 
95 VTK_ABI_NAMESPACE_END
96 #endif
an abstract superclass for 3D widgets
Definition: vtk3DWidget.h:60
a simple class to control print indentation
Definition: vtkIndent.h:108
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.