VTK  9.4.20251007
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
63
64#ifndef vtkSeedWidget_h
65#define vtkSeedWidget_h
66
67#include "vtkAbstractWidget.h"
68#include "vtkInteractionWidgetsModule.h" // For export macro
69#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
70
71VTK_ABI_NAMESPACE_BEGIN
73class vtkHandleWidget;
74class vtkSeedList;
76
77class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkSeedWidget : public vtkAbstractWidget
78{
79public:
83 static vtkSeedWidget* New();
84
86
90 void PrintSelf(ostream& os, vtkIndent indent) override;
92
98 void SetEnabled(int) override;
99
105
111
121
126 {
127 return reinterpret_cast<vtkSeedRepresentation*>(this->WidgetRep);
128 }
129
134
140
150 virtual void CompleteInteraction();
151
156 virtual void RestartInteraction();
157
166
170 void DeleteSeed(int n);
171
176
178
181 vtkGetMacro(WidgetState, int);
183
184 // The state of the widget
185
186 enum
187 {
188 Start = 1,
192 };
193
194protected:
196 ~vtkSeedWidget() override;
197
199
200 // Callback interface to capture events when
201 // placing the widget.
207
208 // The positioning handle widgets
209 vtkSeedList* Seeds;
210
211 // Manipulating or defining ?
213
214private:
215 vtkSeedWidget(const vtkSeedWidget&) = delete;
216 void operator=(const vtkSeedWidget&) = delete;
217};
218
219VTK_ABI_NAMESPACE_END
220#endif
void SetWidgetRepresentation(vtkWidgetRepresentation *r)
vtkWidgetRepresentation * WidgetRep
abstract class for representing widget handles
a general widget for moving handles
a simple class to control print indentation
Definition vtkIndent.h:29
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
Definition vtkRenderer.h:63
represent the vtkSeedWidget
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
#define VTK_MARSHALAUTO