VTK  9.3.0
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
80#ifndef vtkCoordinateFrameWidget_h
81#define vtkCoordinateFrameWidget_h
82
83#include "vtkAbstractWidget.h"
84#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
85#include "vtkInteractionWidgetsModule.h" // For export macro
86#include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
87
88VTK_ABI_NAMESPACE_BEGIN
90class vtkCoordinateFrameWidgetInteractionCallback;
91
92class VTKINTERACTIONWIDGETS_EXPORT vtkCoordinateFrameWidget : public vtkAbstractWidget
93{
94 friend class vtkCoordinateFrameWidgetInteractionCallback;
95
96public:
101
103
107 void PrintSelf(ostream& os, vtkIndent indent) override;
109
116
117 // Description:
118 // Disable/Enable the widget if needed.
119 // Unobserved the camera if the widget is disabled.
120 void SetEnabled(int enabling) override;
121
126 {
127 return reinterpret_cast<vtkCoordinateFrameRepresentation*>(this->WidgetRep);
128 }
129
134
135protected:
138
139 // Manage the state of the widget
142 {
143 Start = 0,
144 Active
145 };
146#if !defined(VTK_LEGACY_REMOVE)
147 VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
149#endif
150
151 // These methods handle events
161
166 int UpdateCursorShape(int interactionState);
167
169
172 vtkCoordinateFrameWidgetInteractionCallback* InteractionCallback;
175private:
177 void operator=(const vtkCoordinateFrameWidget&) = delete;
178};
179
180VTK_ABI_NAMESPACE_END
181#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)