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 
102 class vtkInteractionCallback;
103 
104 class VTKINTERACTIONWIDGETS_EXPORT vtkImplicitPlaneWidget2 : public vtkAbstractWidget
105 {
106  friend class vtkInteractionCallback;
107 
108 public:
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 
151 protected:
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 
181 private:
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 *)
static void SelectAction(vtkAbstractWidget *)
static vtkImplicitPlaneWidget2 * New()
Instantiate the object.
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.
vtkImplicitPlaneRepresentation * GetImplicitPlaneRepresentation()
Return the representation as a vtkImplicitPlaneRepresentation.
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 void ScaleAction(vtkAbstractWidget *)
a simple class to control print indentation
Definition: vtkIndent.h:40