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
90#ifndef vtkDisplaySizedImplicitPlaneWidget_h
91#define vtkDisplaySizedImplicitPlaneWidget_h
92
93#include "vtkAbstractWidget.h"
94#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
95#include "vtkInteractionWidgetsModule.h" // For export macro
96#include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
97
98VTK_ABI_NAMESPACE_BEGIN
100class vtkDisplaySizedImplicitPlaneInteractionCallback;
101
102class VTKINTERACTIONWIDGETS_EXPORT vtkDisplaySizedImplicitPlaneWidget : public vtkAbstractWidget
103{
104 friend class vtkDisplaySizedImplicitPlaneInteractionCallback;
105
106public:
111
113
117 void PrintSelf(ostream& os, vtkIndent indent) override;
119
126
127 // Description:
128 // Disable/Enable the widget if needed.
129 // Unobserved the camera if the widget is disabled.
130 void SetEnabled(int enabling) override;
131
136 void SetLockNormalToCamera(int lock);
137
145
150
151protected:
154
155 // Manage the state of the widget
158 {
159 Start = 0,
160 Active
161 };
162#if !defined(VTK_LEGACY_REMOVE)
163 VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
165#endif
166
167 // These methods handle events
181
186 int UpdateCursorShape(int interactionState);
187
189
192 vtkDisplaySizedImplicitPlaneInteractionCallback* InteractionCallback;
195
196private:
198 void operator=(const vtkDisplaySizedImplicitPlaneWidget&) = delete;
199};
200
201VTK_ABI_NAMESPACE_END
202#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)