VTK  9.1.0
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 =========================================================================*/
109 #ifndef vtkSeedWidget_h
110 #define vtkSeedWidget_h
111 
112 #include "vtkAbstractWidget.h"
113 #include "vtkInteractionWidgetsModule.h" // For export macro
114 
116 class vtkHandleWidget;
117 class vtkSeedList;
119 
120 class VTKINTERACTIONWIDGETS_EXPORT vtkSeedWidget : public vtkAbstractWidget
121 {
122 public:
126  static vtkSeedWidget* New();
127 
129 
133  void PrintSelf(ostream& os, vtkIndent indent) override;
135 
141  void SetEnabled(int) override;
142 
148 
154 
161  {
162  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(rep));
163  }
164 
169  {
170  return reinterpret_cast<vtkSeedRepresentation*>(this->WidgetRep);
171  }
172 
177 
183 
193  virtual void CompleteInteraction();
194 
199  virtual void RestartInteraction();
200 
209 
213  void DeleteSeed(int n);
214 
219 
221 
224  vtkGetMacro(WidgetState, int);
226 
227  // The state of the widget
228 
229  enum
230  {
231  Start = 1,
232  PlacingSeeds = 2,
233  PlacedSeeds = 4,
234  MovingSeed = 8
235  };
236 
237 protected:
239  ~vtkSeedWidget() override;
240 
242 
243  // Callback interface to capture events when
244  // placing the widget.
250 
251  // The positioning handle widgets
252  vtkSeedList* Seeds;
253 
254  // Manipulating or defining ?
255  int Defining;
256 
257 private:
258  vtkSeedWidget(const vtkSeedWidget&) = delete;
259  void operator=(const vtkSeedWidget&) = delete;
260 };
261 
262 #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:113
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
Definition: vtkRenderer.h:173
represent the vtkSeedWidget
place multiple seed points
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
Standard methods for a VTK class.
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