vtkImplicitPlaneWidget2 Class Reference

#include <vtkImplicitPlaneWidget2.h>

Inheritance diagram for vtkImplicitPlaneWidget2:

Inheritance graph
[legend]
Collaboration diagram for vtkImplicitPlaneWidget2:

Collaboration graph
[legend]

List of all members.


Detailed Description

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.

typedef vtkAbstractWidget Superclass
static int IsTypeOf (const char *type)
static vtkImplicitPlaneWidget2SafeDownCast (vtkObject *o)
virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)

Public Member Functions

void CreateDefaultRepresentation ()
void SetRepresentation (vtkImplicitPlaneRepresentation *r)

Static Public Member Functions

static vtkImplicitPlaneWidget2New ()

Protected Types

enum  _WidgetState { Start = 0, Active }

Protected Member Functions

 vtkImplicitPlaneWidget2 ()
 ~vtkImplicitPlaneWidget2 ()

Static Protected Member Functions

static void SelectAction (vtkAbstractWidget *)
static void TranslateAction (vtkAbstractWidget *)
static void ScaleAction (vtkAbstractWidget *)
static void EndSelectAction (vtkAbstractWidget *)
static void MoveAction (vtkAbstractWidget *)

Protected Attributes

int WidgetState

Member Typedef Documentation

Standard vtkObject methods

Reimplemented from vtkAbstractWidget.

Definition at line 113 of file vtkImplicitPlaneWidget2.h.


Member Enumeration Documentation

Enumerator:
Start 
Active 

Definition at line 134 of file vtkImplicitPlaneWidget2.h.


Constructor & Destructor Documentation

vtkImplicitPlaneWidget2::vtkImplicitPlaneWidget2 (  )  [protected]

vtkImplicitPlaneWidget2::~vtkImplicitPlaneWidget2 (  )  [protected]


Member Function Documentation

static vtkImplicitPlaneWidget2* vtkImplicitPlaneWidget2::New (  )  [static]

Instantiate the object.

Reimplemented from vtkObject.

virtual const char* vtkImplicitPlaneWidget2::GetClassName (  )  [virtual]

Standard vtkObject methods

Reimplemented from vtkAbstractWidget.

static int vtkImplicitPlaneWidget2::IsTypeOf ( const char *  type  )  [static]

Standard vtkObject methods

Reimplemented from vtkAbstractWidget.

virtual int vtkImplicitPlaneWidget2::IsA ( const char *  type  )  [virtual]

Standard vtkObject methods

Reimplemented from vtkAbstractWidget.

static vtkImplicitPlaneWidget2* vtkImplicitPlaneWidget2::SafeDownCast ( vtkObject o  )  [static]

Standard vtkObject methods

Reimplemented from vtkAbstractWidget.

void vtkImplicitPlaneWidget2::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Standard vtkObject methods

Reimplemented from vtkAbstractWidget.

void vtkImplicitPlaneWidget2::SetRepresentation ( vtkImplicitPlaneRepresentation r  )  [inline]

Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene. Note that the representation is a subclass of vtkProp so it can be added to the renderer independent of the widget.

Definition at line 121 of file vtkImplicitPlaneWidget2.h.

void vtkImplicitPlaneWidget2::CreateDefaultRepresentation (  )  [virtual]

Create the default widget representation if one is not set.

Implements vtkAbstractWidget.

static void vtkImplicitPlaneWidget2::SelectAction ( vtkAbstractWidget  )  [static, protected]

static void vtkImplicitPlaneWidget2::TranslateAction ( vtkAbstractWidget  )  [static, protected]

static void vtkImplicitPlaneWidget2::ScaleAction ( vtkAbstractWidget  )  [static, protected]

static void vtkImplicitPlaneWidget2::EndSelectAction ( vtkAbstractWidget  )  [static, protected]

static void vtkImplicitPlaneWidget2::MoveAction ( vtkAbstractWidget  )  [static, protected]


Member Data Documentation

Definition at line 133 of file vtkImplicitPlaneWidget2.h.


The documentation for this class was generated from the following file:

Generated on Sat Dec 27 13:32:25 2008 for VTK by  doxygen 1.5.6