VTK  9.3.0
vtkDisplaySizedImplicitPlaneWidget.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
87#ifndef vtkDisplaySizedImplicitPlaneWidget_h
88#define vtkDisplaySizedImplicitPlaneWidget_h
89
90#include "vtkAbstractWidget.h"
91#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
92#include "vtkInteractionWidgetsModule.h" // For export macro
93#include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
94
95VTK_ABI_NAMESPACE_BEGIN
97class vtkDisplaySizedImplicitPlaneInteractionCallback;
98
99class VTKINTERACTIONWIDGETS_EXPORT vtkDisplaySizedImplicitPlaneWidget : public vtkAbstractWidget
100{
101 friend class vtkDisplaySizedImplicitPlaneInteractionCallback;
102
103public:
108
110
114 void PrintSelf(ostream& os, vtkIndent indent) override;
116
123
124 // Description:
125 // Disable/Enable the widget if needed.
126 // Unobserved the camera if the widget is disabled.
127 void SetEnabled(int enabling) override;
128
133 void SetLockNormalToCamera(int lock);
134
139 {
140 return reinterpret_cast<vtkDisplaySizedImplicitPlaneRepresentation*>(this->WidgetRep);
141 }
142
147
148protected:
151
152 // Manage the state of the widget
155 {
156 Start = 0,
157 Active
158 };
159#if !defined(VTK_LEGACY_REMOVE)
160 VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
162#endif
163
164 // These methods handle events
178
183 int UpdateCursorShape(int interactionState);
184
186
189 vtkDisplaySizedImplicitPlaneInteractionCallback* InteractionCallback;
192
193private:
195 void operator=(const vtkDisplaySizedImplicitPlaneWidget&) = delete;
196};
197
198VTK_ABI_NAMESPACE_END
199#endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
a class defining the representation for a vtkDisplaySizedImplicitPlaneWidget
3D widget for manipulating a display sized plane
void SetRepresentation(vtkDisplaySizedImplicitPlaneRepresentation *rep)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
static vtkDisplaySizedImplicitPlaneWidget * New()
Instantiate the object.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard vtkObject methods.
void InvokeInteractionCallback()
Handle the interaction callback that may come from the representation.
static void EndSelectAction(vtkAbstractWidget *)
static void MoveAction(vtkAbstractWidget *)
static void ScaleAction(vtkAbstractWidget *)
void SetLockNormalToCamera(int lock)
Observe/Unobserve the camera if the widget is locked/unlocked to update the vtkImplicitePlaneRepresen...
static void SelectAction3D(vtkAbstractWidget *)
vtkDisplaySizedImplicitPlaneInteractionCallback * InteractionCallback
Handle the interaction callback that may come from the representation.
void SetEnabled(int enabling) override
Methods for activating this widget.
int UpdateCursorShape(int interactionState)
Update the cursor shape based on the interaction state.
vtkDisplaySizedImplicitPlaneRepresentation * GetDisplaySizedImplicitPlaneRepresentation()
Return the representation as a vtkDisplaySizedImplicitPlaneRepresentation.
static void MoveAction3D(vtkAbstractWidget *)
static void SelectAction(vtkAbstractWidget *)
static void MovePlaneAction(vtkAbstractWidget *)
static void TranslationAxisLock(vtkAbstractWidget *)
static void PickNormalAction(vtkAbstractWidget *)
static void TranslateAction(vtkAbstractWidget *)
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
static void TranslationAxisUnLock(vtkAbstractWidget *)
static void EndSelectAction3D(vtkAbstractWidget *)
static void PickOriginAction(vtkAbstractWidget *)
a simple class to control print indentation
Definition vtkIndent.h:29
#define VTK_DEPRECATED_IN_9_2_0(reason)