VTK  9.4.20250102
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 "vtkInteractionWidgetsModule.h" // For export macro
88#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
89
90VTK_ABI_NAMESPACE_BEGIN
92class vtkCoordinateFrameWidgetInteractionCallback;
93
94class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkCoordinateFrameWidget
95 : 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
129 {
130 return reinterpret_cast<vtkCoordinateFrameRepresentation*>(this->WidgetRep);
131 }
132
137
138protected:
141
142 // Manage the state of the widget
145 {
146 Start = 0,
147 Active
148 };
149
150 // These methods handle events
160
165 int UpdateCursorShape(int interactionState);
166
168
171 vtkCoordinateFrameWidgetInteractionCallback* InteractionCallback;
174private:
176 void operator=(const vtkCoordinateFrameWidget&) = delete;
177};
178
179VTK_ABI_NAMESPACE_END
180#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:108
#define VTK_MARSHALAUTO