VTK  9.5.2
vtkImplicitAnnulusWidget.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
3
91
92#ifndef vtkImplicitAnnulusWidget_h
93#define vtkImplicitAnnulusWidget_h
94
95#include "vtkAbstractWidget.h"
96#include "vtkInteractionWidgetsModule.h" // For export macro
97#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
98
99VTK_ABI_NAMESPACE_BEGIN
101
102class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkImplicitAnnulusWidget
103 : public vtkAbstractWidget
104{
105public:
106 static vtkImplicitAnnulusWidget* New();
107 vtkTypeMacro(vtkImplicitAnnulusWidget, vtkAbstractWidget);
108
115
123
128
129private:
130 enum WidgetStateType
131 {
132 Idle = 0,
133 Active
134 };
135
137 ~vtkImplicitAnnulusWidget() override = default;
138
140 void operator=(const vtkImplicitAnnulusWidget&) = delete;
141
143
146 static void SelectAction(vtkAbstractWidget* widget);
147 static void TranslateAction(vtkAbstractWidget* widget);
148 static void ScaleAction(vtkAbstractWidget* widget);
149 static void EndSelectAction(vtkAbstractWidget* widget);
150 static void MoveAction(vtkAbstractWidget* widget);
151 static void MoveAnnulusAction(vtkAbstractWidget* widget);
152 static void TranslationAxisLock(vtkAbstractWidget* widget);
153 static void TranslationAxisUnLock(vtkAbstractWidget* widget);
155
160 bool UpdateCursorShape(int interactionState);
161
162 // Manage the state of the widget
163 WidgetStateType WidgetState = vtkImplicitAnnulusWidget::Idle;
164};
165
166VTK_ABI_NAMESPACE_END
167#endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
defining the representation for a vtkImplicitAnnulusWidget
3D widget for manipulating an infinite annulus
static vtkImplicitAnnulusWidget * New()
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
void SetRepresentation(vtkImplicitAnnulusRepresentation *rep)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
vtkImplicitAnnulusRepresentation * GetAnnulusRepresentation()
Return the representation as a vtkImplicitAnnulusRepresentation.
#define VTK_MARSHALAUTO