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 
98 VTK_ABI_NAMESPACE_BEGIN
100 class vtkDisplaySizedImplicitPlaneInteractionCallback;
101 
102 class VTKINTERACTIONWIDGETS_EXPORT vtkDisplaySizedImplicitPlaneWidget : public vtkAbstractWidget
103 {
104  friend class vtkDisplaySizedImplicitPlaneInteractionCallback;
105 
106 public:
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 
151 protected:
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 
196 private:
198  void operator=(const vtkDisplaySizedImplicitPlaneWidget&) = delete;
199 };
200 
201 VTK_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.
static void MoveAction3D(vtkAbstractWidget *)
static void SelectAction(vtkAbstractWidget *)
static void MovePlaneAction(vtkAbstractWidget *)
static void TranslationAxisLock(vtkAbstractWidget *)
vtkDisplaySizedImplicitPlaneRepresentation * GetDisplaySizedImplicitPlaneRepresentation()
Return the representation as a vtkDisplaySizedImplicitPlaneRepresentation.
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:38
#define VTK_DEPRECATED_IN_9_2_0(reason)