VTK  9.0.3
vtkSeedWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSeedWidget.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 =========================================================================*/
70 #ifndef vtkSeedWidget_h
71 #define vtkSeedWidget_h
72 
73 #include "vtkAbstractWidget.h"
74 #include "vtkInteractionWidgetsModule.h" // For export macro
75 
77 class vtkHandleWidget;
78 class vtkSeedList;
80 
81 class VTKINTERACTIONWIDGETS_EXPORT vtkSeedWidget : public vtkAbstractWidget
82 {
83 public:
87  static vtkSeedWidget* New();
88 
90 
94  void PrintSelf(ostream& os, vtkIndent indent) override;
96 
102  void SetEnabled(int) override;
103 
109 
115 
122  {
123  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(rep));
124  }
125 
130  {
131  return reinterpret_cast<vtkSeedRepresentation*>(this->WidgetRep);
132  }
133 
138 
144 
154  virtual void CompleteInteraction();
155 
160  virtual void RestartInteraction();
161 
170 
174  void DeleteSeed(int n);
175 
180 
182 
185  vtkGetMacro(WidgetState, int);
187 
188  // The state of the widget
189 
190  enum
191  {
192  Start = 1,
193  PlacingSeeds = 2,
194  PlacedSeeds = 4,
195  MovingSeed = 8
196  };
197 
198 protected:
200  ~vtkSeedWidget() override;
201 
203 
204  // Callback interface to capture events when
205  // placing the widget.
211 
212  // The positioning handle widgets
213  vtkSeedList* Seeds;
214 
215  // Manipulating or defining ?
216  int Defining;
217 
218 private:
219  vtkSeedWidget(const vtkSeedWidget&) = delete;
220  void operator=(const vtkSeedWidget&) = delete;
221 };
222 
223 #endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
abstract class for representing widget handles
a general widget for moving handles
a simple class to control print indentation
Definition: vtkIndent.h:34
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
Definition: vtkRenderer.h:59
represent the vtkSeedWidget
place multiple seed points
Definition: vtkSeedWidget.h:82
virtual void CompleteInteraction()
Method to be called when the seed widget should stop responding to the place point interaction.
void DeleteSeed(int n)
Delete the nth seed.
vtkSeedRepresentation * GetSeedRepresentation()
Return the representation as a vtkSeedRepresentation.
static void EndSelectAction(vtkAbstractWidget *)
~vtkSeedWidget() override
static vtkSeedWidget * New()
Instantiate this class.
void SetProcessEvents(vtkTypeBool) override
Methods to change the whether the widget responds to interaction.
vtkSeedList * Seeds
static void CompletedAction(vtkAbstractWidget *)
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetEnabled(int) override
The method for activating and deactivating this widget.
virtual void RestartInteraction()
Method to be called when the seed widget should start responding to the interaction.
static void MoveAction(vtkAbstractWidget *)
void SetInteractor(vtkRenderWindowInteractor *) override
Set the interactor.
static void AddPointAction(vtkAbstractWidget *)
void SetCurrentRenderer(vtkRenderer *) override
Set the current renderer.
static void DeleteAction(vtkAbstractWidget *)
vtkHandleWidget * GetSeed(int n)
Get the nth seed.
virtual vtkHandleWidget * CreateNewHandle()
Use this method to programmatically create a new handle.
void SetRepresentation(vtkSeedRepresentation *rep)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
abstract class defines interface between the widget and widget representation classes
int vtkTypeBool
Definition: vtkABI.h:69