|
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 () |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
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::InteractionEvent vtkCommand::EndInteractionEvent vtkCommand::StartInteractionEvent
- Tests:
- vtkImplicitPlaneWidget2 (Tests)
Definition at line 105 of file vtkImplicitPlaneWidget2.h.