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