VTK  9.4.20250102
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 "vtkInteractionWidgetsModule.h" // For export macro
95#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
96
97VTK_ABI_NAMESPACE_BEGIN
99class vtkDisplaySizedImplicitPlaneInteractionCallback;
100
101class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkDisplaySizedImplicitPlaneWidget
102 : 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
142 {
143 return reinterpret_cast<vtkDisplaySizedImplicitPlaneRepresentation*>(this->WidgetRep);
144 }
145
150
151protected:
154
155 // Manage the state of the widget
158 {
159 Start = 0,
160 Active
161 };
162
163 // These methods handle events
177
182 int UpdateCursorShape(int interactionState);
183
185
188 vtkDisplaySizedImplicitPlaneInteractionCallback* InteractionCallback;
191
192private:
194 void operator=(const vtkDisplaySizedImplicitPlaneWidget&) = delete;
195};
196
197VTK_ABI_NAMESPACE_END
198#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:108
#define VTK_MARSHALAUTO