#include <vtkImplicitPlaneWidget2.h>
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.
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
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
vtkCommand::StartInteractionEvent (on vtkWidgetEvent::Select) vtkCommand::EndInteractionEvent (on vtkWidgetEvent::EndSelect) vtkCommand::InteractionEvent (on vtkWidgetEvent::Move)
This class, and vtkImplicitPlaneRepresentation, are next generation VTK widgets. An earlier version of this functionality was defined in the class vtkImplicitPlaneWidget.
Definition at line 105 of file vtkImplicitPlaneWidget2.h.
typedef vtkAbstractWidget | Superclass |
static int | IsTypeOf (const char *type) |
static vtkImplicitPlaneWidget2 * | SafeDownCast (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 vtkImplicitPlaneWidget2 * | New () |
Protected Types | |
enum | _WidgetState { Start = 0, Active } |
Protected Member Functions | |
vtkImplicitPlaneWidget2 () | |
~vtkImplicitPlaneWidget2 () | |
int | UpdateCursorShape (int interactionState) |
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 |
Standard vtkObject methods
Reimplemented from vtkAbstractWidget.
Definition at line 113 of file vtkImplicitPlaneWidget2.h.
enum vtkImplicitPlaneWidget2::_WidgetState [protected] |
vtkImplicitPlaneWidget2::vtkImplicitPlaneWidget2 | ( | ) | [protected] |
vtkImplicitPlaneWidget2::~vtkImplicitPlaneWidget2 | ( | ) | [protected] |
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] |
int vtkImplicitPlaneWidget2::UpdateCursorShape | ( | int | interactionState | ) | [protected] |
Update the cursor shape based on the interaction state. Returns 1 if the cursor shape requested is different from the existing one.
int vtkImplicitPlaneWidget2::WidgetState [protected] |
Definition at line 133 of file vtkImplicitPlaneWidget2.h.