VTK  9.3.0
vtkSeedWidget.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
70#ifndef vtkSeedWidget_h
71#define vtkSeedWidget_h
72
73#include "vtkAbstractWidget.h"
74#include "vtkInteractionWidgetsModule.h" // For export macro
75
76VTK_ABI_NAMESPACE_BEGIN
78class vtkHandleWidget;
79class vtkSeedList;
81
82class VTKINTERACTIONWIDGETS_EXPORT vtkSeedWidget : public vtkAbstractWidget
83{
84public:
88 static vtkSeedWidget* New();
89
91
95 void PrintSelf(ostream& os, vtkIndent indent) override;
97
103 void SetEnabled(int) override;
104
110
116
123 {
124 this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(rep));
125 }
126
131 {
132 return reinterpret_cast<vtkSeedRepresentation*>(this->WidgetRep);
133 }
134
139
145
155 virtual void CompleteInteraction();
156
161 virtual void RestartInteraction();
162
171
175 void DeleteSeed(int n);
176
181
183
186 vtkGetMacro(WidgetState, int);
188
189 // The state of the widget
190
191 enum
192 {
193 Start = 1,
194 PlacingSeeds = 2,
195 PlacedSeeds = 4,
196 MovingSeed = 8
197 };
198
199protected:
201 ~vtkSeedWidget() override;
202
204
205 // Callback interface to capture events when
206 // placing the widget.
212
213 // The positioning handle widgets
214 vtkSeedList* Seeds;
215
216 // Manipulating or defining ?
218
219private:
220 vtkSeedWidget(const vtkSeedWidget&) = delete;
221 void operator=(const vtkSeedWidget&) = delete;
222};
223
224VTK_ABI_NAMESPACE_END
225#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:38
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
Definition vtkRenderer.h:68
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.
static void EndSelectAction(vtkAbstractWidget *)
~vtkSeedWidget() override
vtkHandleWidget * GetSeed(int n)
Get the nth seed.
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 *)
static vtkSeedWidget * New()
Instantiate this class.
void SetCurrentRenderer(vtkRenderer *) override
Set the current renderer.
static void DeleteAction(vtkAbstractWidget *)
vtkSeedRepresentation * GetSeedRepresentation()
Return the representation as a vtkSeedRepresentation.
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:64