vtkImplicitPlaneWidget

Section: Visualization Toolkit Widget Classes

Usage

This 3D widget defines an infinite plane that can be interactively placed in a scene. The widget is represented by a plane with a normal vector; the plane is contained by a bounding box, and where the plane intersects the bounding box the edges are shown (possibly tubed). The normal can be selected and moved to rotate the plane; the plane itself can be selected and translated in various directions. As the plane is moved, the implicit plane function and polygon (representing the plane cut against the bounding box) is updated.

To use this object, just invoke SetInteractor() with the argument of the method a vtkRenderWindowInteractor. You may also wish to invoke "PlaceWidget()" to initially position the widget. If the "i" key (for "interactor") is pressed, the vtkImplicitPlaneWidget will appear. (See superclass documentation for information about changing this behavior.) If you select the normal vector, the plane can be arbitrarily rotated. The plane can be translated along the normal by selecting the plane and moving it. The plane (the plane origin) can also be arbitrary moved by selecting the plane with the middle mouse button. The right mouse button can be used to uniformly scale the bounding box (moving "up" the box scales larger; moving "down" the box scales smaller). Events that occur outside of the widget (i.e., no part of the widget is picked) are propagated to any other registered obsevers (such as the interaction style). Turn off the widget by pressing the "i" key again (or invoke the Off() method).

The vtkImplicitPlaneWidget has several methods that can be used in conjunction with other VTK objects. The GetPolyData() method can be used to get a polygonal representation (the single polygon clipped by the bounding box). Typical usage of the widget is to make use of the StartInteractionEvent, InteractionEvent, and EndInteractionEvent events. The InteractionEvent is called on mouse motion; the other two events are called on button down and button up (either left or right button). (Note: there is also a PlaceWidgetEvent that is invoked when the widget is placed with PlaceWidget().)

Some additional features of this class include the ability to control the properties of the widget. You do this by setting property values on the normal vector (selected and unselected properties); the plane (selected and unselected properties); the outline (selected and unselected properties); and the edges. The edges may also be tubed or not.

To create an instance of class vtkImplicitPlaneWidget, simply invoke its constructor as follows

  obj = vtkImplicitPlaneWidget

Methods

The class vtkImplicitPlaneWidget has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, obj is an instance of the vtkImplicitPlaneWidget class.