Public Member Functions |
| void | CreateDefaultRepresentation () |
|
| void | SetRepresentation (vtkImplicitPlaneRepresentation *r) |
|
| vtkImplicitPlaneRepresentation * | GetImplicitPlaneRepresentation () |
| virtual void | SetEnabled (int) |
| void | Render () |
| virtual void | SetPriority (float) |
| virtual void | SetProcessEvents (int) |
| virtual int | GetProcessEvents () |
| virtual void | ProcessEventsOn () |
| virtual void | ProcessEventsOff () |
| vtkWidgetEventTranslator * | GetEventTranslator () |
| void | SetParent (vtkAbstractWidget *parent) |
| virtual vtkAbstractWidget * | GetParent () |
| vtkWidgetRepresentation * | GetRepresentation () |
| virtual void | SetManagesCursor (int) |
| virtual int | GetManagesCursor () |
| virtual void | ManagesCursorOn () |
| virtual void | ManagesCursorOff () |
| virtual void | OnChar () |
| int | GetEnabled () |
| void | EnabledOn () |
| void | EnabledOff () |
| void | On () |
| void | Off () |
| virtual void | SetInteractor (vtkRenderWindowInteractor *iren) |
| virtual vtkRenderWindowInteractor * | GetInteractor () |
| virtual float | GetPriority () |
| virtual void | SetKeyPressActivation (int) |
| virtual int | GetKeyPressActivation () |
| virtual void | KeyPressActivationOn () |
| virtual void | KeyPressActivationOff () |
| virtual void | SetKeyPressActivationValue (char) |
| virtual char | GetKeyPressActivationValue () |
| virtual vtkRenderer * | GetDefaultRenderer () |
| virtual void | SetDefaultRenderer (vtkRenderer *) |
| virtual vtkRenderer * | GetCurrentRenderer () |
| virtual void | SetCurrentRenderer (vtkRenderer *) |
| void | GrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
| void | ReleaseFocus () |
| virtual void | DebugOn () |
| virtual void | DebugOff () |
| unsigned char | GetDebug () |
| void | SetDebug (unsigned char debugFlag) |
| virtual void | Modified () |
| virtual unsigned long | GetMTime () |
| unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
| vtkCommand * | GetCommand (unsigned long tag) |
| void | RemoveObserver (vtkCommand *) |
| void | RemoveObservers (unsigned long event, vtkCommand *) |
| void | RemoveObservers (const char *event, vtkCommand *) |
| int | HasObserver (unsigned long event, vtkCommand *) |
| int | HasObserver (const char *event, vtkCommand *) |
| void | RemoveObserver (unsigned long tag) |
| void | RemoveObservers (unsigned long event) |
| void | RemoveObservers (const char *event) |
| void | RemoveAllObservers () |
| int | HasObserver (unsigned long event) |
| int | HasObserver (const char *event) |
| template<class U , class T > |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| template<class U , class T > |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| int | InvokeEvent (unsigned long event, void *callData) |
| int | InvokeEvent (const char *event, void *callData) |
| int | InvokeEvent (unsigned long event) |
| int | InvokeEvent (const char *event) |
| const char * | GetClassName () const |
| virtual void | Delete () |
| virtual void | FastDelete () |
| void | Print (ostream &os) |
| virtual void | Register (vtkObjectBase *o) |
| virtual void | UnRegister (vtkObjectBase *o) |
| void | SetReferenceCount (int) |
| void | PrintRevisions (ostream &os) |
| virtual void | PrintHeader (ostream &os, vtkIndent indent) |
| virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
| int | GetReferenceCount () |
3D widget for manipulating an infinite plane
This 3D widget defines an infinite plane that can be interactively placed in a scene. The widget is assumed to consist of four parts: 1) a plane contained in a 2) bounding box, with a 3) plane normal, which is rooted at a 4) point on the plane. (The representation paired with this widget determines the actual geometry of the widget.)
To use this widget, you generally pair it with a vtkImplicitPlaneRepresentation (or a subclass). Variuos options are available for controlling how the representation appears, and how the widget functions.
- Event Bindings:
- By default, the widget responds to the following VTK events (i.e., it watches the vtkRenderWindowInteractor for these events):
If the plane normal is selected:
LeftButtonPressEvent - select normal
LeftButtonReleaseEvent - release normal
MouseMoveEvent - orient the normal vector
If the origin point is selected:
LeftButtonPressEvent - select slider (if on slider)
LeftButtonReleaseEvent - release slider (if selected)
MouseMoveEvent - move the origin point (constrained to the plane)
If the plane is selected:
LeftButtonPressEvent - select slider (if on slider)
LeftButtonReleaseEvent - release slider (if selected)
MouseMoveEvent - move the plane
If the outline is selected:
LeftButtonPressEvent - select slider (if on slider)
LeftButtonReleaseEvent - release slider (if selected)
MouseMoveEvent - move the outline
In all the cases, independent of what is picked, the widget responds to the
following VTK events:
MiddleButtonPressEvent - move the plane
MiddleButtonReleaseEvent - release the plane
RightButtonPressEvent - scale the widget's representation
RightButtonReleaseEvent - stop scaling the widget
MouseMoveEvent - scale (if right button) or move (if middle button) the widget
- Event Bindings:
- Note that the event bindings described above can be changed using this class's vtkWidgetEventTranslator. This class translates VTK events into the vtkImplicitPlaneWidget2's widget events:
vtkWidgetEvent::Select – some part of the widget has been selected
vtkWidgetEvent::EndSelect – the selection process has completed
vtkWidgetEvent::Move – a request for slider motion has been invoked
- Event Bindings:
- In turn, when these widget events are processed, the vtkImplicitPlaneWidget2 invokes the following VTK events on itself (which observers can listen for):
vtkCommand::StartInteractionEvent (on vtkWidgetEvent::Select)
vtkCommand::EndInteractionEvent (on vtkWidgetEvent::EndSelect)
vtkCommand::InteractionEvent (on vtkWidgetEvent::Move)
- Warning:
- Note that the widget can be picked even when it is "behind" other actors. This is an intended feature and not a bug.
-
This class, and vtkImplicitPlaneRepresentation, are next generation VTK widgets. An earlier version of this functionality was defined in the class vtkImplicitPlaneWidget.
- See also:
- vtk3DWidget vtkBoxWidget vtkPlaneWidget vtkLineWidget vtkPointWidget vtkSphereWidget vtkImagePlaneWidget
- Events:
- vtkCommand::EndInteractionEvent vtkCommand::InteractionEvent vtkCommand::StartInteractionEvent
- Tests:
- vtkImplicitPlaneWidget2 (Tests)
Definition at line 105 of file vtkImplicitPlaneWidget2.h.