VTK
vtkImplicitPlaneWidget2.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkImplicitPlaneWidget2.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=========================================================================*/
95#ifndef vtkImplicitPlaneWidget2_h
96#define vtkImplicitPlaneWidget2_h
97
98#include "vtkInteractionWidgetsModule.h" // For export macro
99#include "vtkAbstractWidget.h"
100
102class vtkInteractionCallback;
103
104class VTKINTERACTIONWIDGETS_EXPORT vtkImplicitPlaneWidget2 : public vtkAbstractWidget
105{
106 friend class vtkInteractionCallback;
107
108public:
113
115
119 void PrintSelf(ostream& os, vtkIndent indent);
121
128
129 // Descritpion:
130 // Disable/Enable the widget if needed.
131 // Unobserved the camera if the widget is disabled.
132 void SetEnabled(int enabling);
133
138 void SetLockNormalToCamera(int lock);
139
144 {return reinterpret_cast<vtkImplicitPlaneRepresentation*>(this->WidgetRep);}
145
150
151protected:
154
155 // Manage the state of the widget
157 enum _WidgetState {Start=0,Active};
158
159 // These methods handle events
166
171 int UpdateCursorShape( int interactionState );
172
174
177 vtkInteractionCallback *InteractionCallback;
180
181private:
182 vtkImplicitPlaneWidget2(const vtkImplicitPlaneWidget2&) VTK_DELETE_FUNCTION;
183 void operator=(const vtkImplicitPlaneWidget2&) VTK_DELETE_FUNCTION;
184};
185
186#endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
a class defining the representation for a vtkImplicitPlaneWidget2
3D widget for manipulating an infinite plane
int UpdateCursorShape(int interactionState)
Update the cursor shape based on the interaction state.
void SetEnabled(int enabling)
Methods for activating this widget.
static void TranslateAction(vtkAbstractWidget *)
void SetLockNormalToCamera(int lock)
Observe/Unobserve the camera if the widget is locked/unlocked to update the vtkImplicitePlaneRepresen...
static void MoveAction(vtkAbstractWidget *)
vtkImplicitPlaneRepresentation * GetImplicitPlaneRepresentation()
Return the representation as a vtkImplicitPlaneRepresentation.
static void SelectAction(vtkAbstractWidget *)
static void MovePlaneAction(vtkAbstractWidget *)
static void EndSelectAction(vtkAbstractWidget *)
vtkInteractionCallback * InteractionCallback
Handle the interaction callback that may come from the representation.
void SetRepresentation(vtkImplicitPlaneRepresentation *rep)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
void CreateDefaultRepresentation()
Create the default widget representation if one is not set.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
static vtkImplicitPlaneWidget2 * New()
Instantiate the object.
static void ScaleAction(vtkAbstractWidget *)
a simple class to control print indentation
Definition: vtkIndent.h:40