VTK  9.3.1
vtkCoordinateFrameWidget.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
83#ifndef vtkCoordinateFrameWidget_h
84#define vtkCoordinateFrameWidget_h
85
86#include "vtkAbstractWidget.h"
87#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
88#include "vtkInteractionWidgetsModule.h" // For export macro
89#include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
90
91VTK_ABI_NAMESPACE_BEGIN
93class vtkCoordinateFrameWidgetInteractionCallback;
94
95class VTKINTERACTIONWIDGETS_EXPORT vtkCoordinateFrameWidget : public vtkAbstractWidget
96{
97 friend class vtkCoordinateFrameWidgetInteractionCallback;
98
99public:
104
106
110 void PrintSelf(ostream& os, vtkIndent indent) override;
112
119
120 // Description:
121 // Disable/Enable the widget if needed.
122 // Unobserved the camera if the widget is disabled.
123 void SetEnabled(int enabling) override;
124
132
137
138protected:
141
142 // Manage the state of the widget
145 {
146 Start = 0,
147 Active
148 };
149#if !defined(VTK_LEGACY_REMOVE)
150 VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
152#endif
153
154 // These methods handle events
164
169 int UpdateCursorShape(int interactionState);
170
172
175 vtkCoordinateFrameWidgetInteractionCallback* InteractionCallback;
178private:
180 void operator=(const vtkCoordinateFrameWidget&) = delete;
181};
182
183VTK_ABI_NAMESPACE_END
184#endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
a class defining the representation for a vtkCoordinateFrameWidget
3D widget for manipulating a display sized coordinate frame widget
static void PickDirectionPointAction(vtkAbstractWidget *w)
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
static void EndSelectAction(vtkAbstractWidget *)
int UpdateCursorShape(int interactionState)
Update the cursor shape based on the interaction state.
vtkCoordinateFrameRepresentation * GetCoordinateFrameRepresentation()
Return the representation as a vtkCoordinateFrameRepresentation.
~vtkCoordinateFrameWidget() override
static void MoveAction(vtkAbstractWidget *)
static void TranslateAction(vtkAbstractWidget *)
vtkCoordinateFrameWidgetInteractionCallback * InteractionCallback
Handle the interaction callback that may come from the representation.
static void SelectAction(vtkAbstractWidget *)
static void PickNormalAction(vtkAbstractWidget *)
static void TranslationAxisLock(vtkAbstractWidget *)
void PrintSelf(ostream &os, vtkIndent indent) override
Standard vtkObject methods.
static vtkCoordinateFrameWidget * New()
Instantiate the object.
static void PickOriginAction(vtkAbstractWidget *)
void SetRepresentation(vtkCoordinateFrameRepresentation *rep)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
void SetEnabled(int enabling) override
Methods for activating this widget.
void InvokeInteractionCallback()
Handle the interaction callback that may come from the representation.
static void TranslationAxisUnLock(vtkAbstractWidget *)
a simple class to control print indentation
Definition vtkIndent.h:29
#define VTK_DEPRECATED_IN_9_2_0(reason)