VTK  9.4.20251203
vtkDistanceWidget.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
66#ifndef vtkDistanceWidget_h
67#define vtkDistanceWidget_h
68
69#include "vtkAbstractWidget.h"
70#include "vtkInteractionWidgetsModule.h" // For export macro
71#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
72
73VTK_ABI_NAMESPACE_BEGIN
75class vtkHandleWidget;
76class vtkDistanceWidgetCallback;
77
78class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkDistanceWidget : public vtkAbstractWidget
79{
80public:
85
87
91 void PrintSelf(ostream& os, vtkIndent indent) override;
93
99 void SetEnabled(int) override;
100
107 {
108 this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
109 }
110
118
123
129
137 enum
138 {
139 Start = 0,
141 Manipulate
142 };
143
145
155 virtual void SetWidgetStateToStart();
158
162 virtual int GetWidgetState() { return this->WidgetState; }
163
164protected:
167
168 // The state of the widget
171
172 // Callback interface to capture events when
173 // placing the widget.
180
181 // The positioning handle widgets
184 vtkDistanceWidgetCallback* DistanceWidgetCallback1;
185 vtkDistanceWidgetCallback* DistanceWidgetCallback2;
186
187 // Methods invoked when the handles at the
188 // end points of the widget are manipulated
189 void StartDistanceInteraction(int handleNum);
190 void DistanceInteraction(int handleNum);
191 void EndDistanceInteraction(int handleNum);
192
193 friend class vtkDistanceWidgetCallback;
194
195private:
196 vtkDistanceWidget(const vtkDistanceWidget&) = delete;
197 void operator=(const vtkDistanceWidget&) = delete;
198};
199
200VTK_ABI_NAMESPACE_END
201#endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
represent the vtkDistanceWidget
measure the distance between two points
virtual void SetWidgetStateToStart()
Set the state of the widget.
virtual int GetWidgetState()
Return the current widget state.
static void MoveAction3D(vtkAbstractWidget *)
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for a VTK class.
virtual void SetWidgetStateToManipulate()
Set the state of the widget.
vtkDistanceRepresentation * GetDistanceRepresentation()
Return the representation as a vtkDistanceRepresentation.
static void EndSelectAction(vtkAbstractWidget *)
void SetRepresentation(vtkDistanceRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
void EndDistanceInteraction(int handleNum)
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
static void AddPointAction3D(vtkAbstractWidget *)
~vtkDistanceWidget() override
vtkHandleWidget * Point2Widget
void StartDistanceInteraction(int handleNum)
vtkHandleWidget * Point1Widget
vtkDistanceWidgetCallback * DistanceWidgetCallback1
void DistanceInteraction(int handleNum)
vtkDistanceWidgetCallback * DistanceWidgetCallback2
static vtkDistanceWidget * New()
Instantiate this class.
static void MoveAction(vtkAbstractWidget *)
void SetEnabled(int) override
The method for activating and deactivating this widget.
void SetProcessEvents(vtkTypeBool) override
Methods to change the whether the widget responds to interaction.
static void AddPointAction(vtkAbstractWidget *)
static void EndSelectAction3D(vtkAbstractWidget *)
a general widget for moving handles
a simple class to control print indentation
Definition vtkIndent.h:29
abstract class defines interface between the widget and widget representation classes
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_MARSHALAUTO