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
72
73#ifndef vtkImplicitAnnulusWidget_h
74#define vtkImplicitAnnulusWidget_h
75
76#include "vtkAbstractWidget.h"
77#include "vtkInteractionWidgetsModule.h" // For export macro
78#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
79
80VTK_ABI_NAMESPACE_BEGIN
82
83class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkImplicitAnnulusWidget
84 : public vtkAbstractWidget
85{
86public:
87 static vtkImplicitAnnulusWidget* New();
88 vtkTypeMacro(vtkImplicitAnnulusWidget, vtkAbstractWidget);
89
96
104
109
110private:
111 enum WidgetStateType
112 {
113 Idle = 0,
114 Active
115 };
116
118 ~vtkImplicitAnnulusWidget() override = default;
119
121 void operator=(const vtkImplicitAnnulusWidget&) = delete;
122
124
127 static void SelectAction(vtkAbstractWidget* widget);
128 static void TranslateAction(vtkAbstractWidget* widget);
129 static void ScaleAction(vtkAbstractWidget* widget);
130 static void EndSelectAction(vtkAbstractWidget* widget);
131 static void MoveAction(vtkAbstractWidget* widget);
132 static void MoveAnnulusAction(vtkAbstractWidget* widget);
133 static void TranslationAxisLock(vtkAbstractWidget* widget);
134 static void TranslationAxisUnLock(vtkAbstractWidget* widget);
136
141 bool UpdateCursorShape(int interactionState);
142
143 // Manage the state of the widget
144 WidgetStateType WidgetState = vtkImplicitAnnulusWidget::Idle;
145};
146
147VTK_ABI_NAMESPACE_END
148#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