VTK  9.2.5
vtkDisplaySizedImplicitPlaneWidget.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkDisplaySizedImplicitPlaneWidget.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
102#ifndef vtkDisplaySizedImplicitPlaneWidget_h
103#define vtkDisplaySizedImplicitPlaneWidget_h
104
105#include "vtkAbstractWidget.h"
106#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
107#include "vtkInteractionWidgetsModule.h" // For export macro
108
110class vtkDisplaySizedImplicitPlaneInteractionCallback;
111
112class VTKINTERACTIONWIDGETS_EXPORT vtkDisplaySizedImplicitPlaneWidget : public vtkAbstractWidget
113{
114 friend class vtkDisplaySizedImplicitPlaneInteractionCallback;
115
116public:
121
123
127 void PrintSelf(ostream& os, vtkIndent indent) override;
129
136
137 // Description:
138 // Disable/Enable the widget if needed.
139 // Unobserved the camera if the widget is disabled.
140 void SetEnabled(int enabling) override;
141
146 void SetLockNormalToCamera(int lock);
147
152 {
153 return reinterpret_cast<vtkDisplaySizedImplicitPlaneRepresentation*>(this->WidgetRep);
154 }
155
160
161protected:
164
165 // Manage the state of the widget
168 {
169 Start = 0,
170 Active
171 };
172#if !defined(VTK_LEGACY_REMOVE)
173 VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
175#endif
176
177 // These methods handle events
191
196 int UpdateCursorShape(int interactionState);
197
199
202 vtkDisplaySizedImplicitPlaneInteractionCallback* InteractionCallback;
205
206private:
208 void operator=(const vtkDisplaySizedImplicitPlaneWidget&) = delete;
209};
210
211#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:40
#define VTK_DEPRECATED_IN_9_2_0(reason)