VTK: Interaction/Widgets/vtkAffineWidget.h Source File

| VTK 9.3.1

vtkAffineWidget.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
61 #ifndef vtkAffineWidget_h
62 #define vtkAffineWidget_h
63
64 #include "vtkAbstractWidget.h"
65 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
66 #include "vtkInteractionWidgetsModule.h" // For export macro
67 #include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
68
69 VTK_ABI_NAMESPACE_BEGIN
70 class vtkAffineRepresentation;
71
72 class VTKINTERACTIONWIDGETS_EXPORT vtkAffineWidget : public vtkAbstractWidget
73 {
74 public:
78 static vtkAffineWidget* New();
79
81
84 vtkTypeMacro(vtkAffineWidget, vtkAbstractWidget);
85 void PrintSelf(ostream& os, vtkIndent indent) override;
87
93 void SetRepresentation(vtkAffineRepresentation* r)
94 {
95 this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
96 }
97
101 vtkAffineRepresentation* GetAffineRepresentation()
102 {
103 return reinterpret_cast<vtkAffineRepresentation*>(this->WidgetRep);
104 }
105
109 void CreateDefaultRepresentation() override;
110
116 void SetEnabled(int) override;
117
118 protected:
119 vtkAffineWidget();
120 ~vtkAffineWidget() override;
121
122 // These are the callbacks for this widget
123 static void SelectAction(vtkAbstractWidget*);
124 static void EndSelectAction(vtkAbstractWidget*);
125 static void MoveAction(vtkAbstractWidget*);
126 static void ModifyEventAction(vtkAbstractWidget*);
127
128 // helper methods for cursor management
129 void SetCursor(int state) override;
130
131 // Manage the state of the widget
132 int WidgetState;
133 enum WidgetStateType
134 {
135 Start = 0,
136 Active
137 };
138 #if !defined(VTK_LEGACY_REMOVE)
139 VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
140 typedef WidgetStateType _WidgetState;
141 #endif
142
143 // Keep track whether key modifier key is pressed
144 int ModifierActive;
145
146 private:
147 vtkAffineWidget(const vtkAffineWidget&) = delete;
148 void operator=(const vtkAffineWidget&) = delete;
149 };
150
151 VTK_ABI_NAMESPACE_END
152 #endif
vtkAbstractWidget
define the API for widget / widget representation
Definition: vtkAbstractWidget.h:64
vtkAbstractWidget::WidgetRep
vtkWidgetRepresentation * WidgetRep
Definition: vtkAbstractWidget.h:178
vtkAffineRepresentation
abstract class for representing affine transformation widgets
Definition: vtkAffineRepresentation.h:39
vtkAffineWidget
perform affine transformations
Definition: vtkAffineWidget.h:73
vtkAffineWidget::ModifyEventAction
static void ModifyEventAction(vtkAbstractWidget *)
vtkAffineWidget::SetEnabled
void SetEnabled(int) override
Methods for activating this widget.
vtkAffineWidget::CreateDefaultRepresentation
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
vtkAffineWidget::SelectAction
static void SelectAction(vtkAbstractWidget *)
vtkAffineWidget::SetCursor
void SetCursor(int state) override
vtkAffineWidget::MoveAction
static void MoveAction(vtkAbstractWidget *)
vtkAffineWidget::WidgetState
int WidgetState
Definition: vtkAffineWidget.h:132
vtkAffineWidget::SetRepresentation
void SetRepresentation(vtkAffineRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
Definition: vtkAffineWidget.h:93
vtkAffineWidget::WidgetStateType
WidgetStateType
Definition: vtkAffineWidget.h:134
vtkAffineWidget::vtkAffineWidget
vtkAffineWidget()
vtkAffineWidget::New
static vtkAffineWidget * New()
Instantiate this class.
vtkAffineWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK class macros.
vtkAffineWidget::ModifierActive
int ModifierActive
Definition: vtkAffineWidget.h:144
vtkAffineWidget::~vtkAffineWidget
~vtkAffineWidget() override
vtkAffineWidget::EndSelectAction
static void EndSelectAction(vtkAbstractWidget *)
vtkAffineWidget::GetAffineRepresentation
vtkAffineRepresentation * GetAffineRepresentation()
Return the representation as a vtkAffineRepresentation.
Definition: vtkAffineWidget.h:101
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition: vtkWidgetRepresentation.h:65
vtkAbstractWidget.h
vtkDeprecation.h
VTK_DEPRECATED_IN_9_2_0
#define VTK_DEPRECATED_IN_9_2_0(reason)
Definition: vtkDeprecation.h:108