Section: Visualization Toolkit Widget Classes
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 vtkPlaneWidget will appear. (See superclass documentation for information about changing this behavior.) By grabbing the one of the four handles (use the left mouse button), the plane can be resized. By grabbing the plane itself, the entire plane can be arbitrarily translated. Pressing CTRL while grabbing the plane will spin the plane around the normal. If you select the normal vector, the plane can be arbitrarily rotated. Selecting any part of the widget with the middle mouse button enables translation of the plane along its normal. (Once selected using middle mouse, moving the mouse in the direction of the normal translates the plane in the direction of the normal; moving in the direction opposite the normal translates the plane in the direction opposite the normal.) Scaling (about the center of the plane) is achieved by using the right mouse button. By moving the mouse "up" the render window the plane will be made bigger; by moving "down" the render window the widget will be made 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 vtkPlaneWidget has several methods that can be used in conjunction with other VTK objects. The Set/GetResolution() methods control the number of subdivisions of the plane; the GetPolyData() method can be used to get the polygonal representation and can be used for things like seeding stream lines. GetPlane() can be used to update a vtkPlane implicit function. 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).
Some additional features of this class include the ability to control the properties of the widget. You can set the properties of the selected and unselected representations of the plane. For example, you can set the property for the handles and plane. In addition there are methods to constrain the plane so that it is perpendicular to the x-y-z axes.
To create an instance of class vtkPlaneWidget, simply invoke its constructor as follows
obj = vtkPlaneWidget
obj
is an instance of the vtkPlaneWidget class.
string = obj.GetClassName ()
int = obj.IsA (string name)
vtkPlaneWidget = obj.NewInstance ()
vtkPlaneWidget = obj.SafeDownCast (vtkObject o)
obj.SetEnabled (int )
- Methods that satisfy the superclass' API.
obj.PlaceWidget (double bounds[6])
- Methods that satisfy the superclass' API.
obj.PlaceWidget ()
- Methods that satisfy the superclass' API.
obj.PlaceWidget (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
- Set/Get the resolution (number of subdivisions) of the plane.
obj.SetResolution (int r)
- Set/Get the resolution (number of subdivisions) of the plane.
int = obj.GetResolution ()
- Set/Get the resolution (number of subdivisions) of the plane.
obj.SetOrigin (double x, double y, double z)
- Set/Get the origin of the plane.
obj.SetOrigin (double x[3])
- Set/Get the origin of the plane.
double = obj.GetOrigin ()
- Set/Get the origin of the plane.
obj.GetOrigin (double xyz[3])
- Set/Get the origin of the plane.
obj.SetPoint1 (double x, double y, double z)
- Set/Get the position of the point defining the first axis of the plane.
obj.SetPoint1 (double x[3])
- Set/Get the position of the point defining the first axis of the plane.
double = obj.GetPoint1 ()
- Set/Get the position of the point defining the first axis of the plane.
obj.GetPoint1 (double xyz[3])
- Set/Get the position of the point defining the first axis of the plane.
obj.SetPoint2 (double x, double y, double z)
- Set/Get the position of the point defining the second axis of the plane.
obj.SetPoint2 (double x[3])
- Set/Get the position of the point defining the second axis of the plane.
double = obj.GetPoint2 ()
- Set/Get the position of the point defining the second axis of the plane.
obj.GetPoint2 (double xyz[3])
- Set/Get the position of the point defining the second axis of the plane.
obj.SetCenter (double x, double y, double z)
- Get the center of the plane.
obj.SetCenter (double x[3])
- Get the center of the plane.
double = obj.GetCenter ()
- Get the center of the plane.
obj.GetCenter (double xyz[3])
- Get the center of the plane.
obj.SetNormal (double x, double y, double z)
- Get the normal to the plane.
obj.SetNormal (double x[3])
- Get the normal to the plane.
double = obj.GetNormal ()
- Get the normal to the plane.
obj.GetNormal (double xyz[3])
- Get the normal to the plane.
obj.SetRepresentation (int )
- Control how the plane appears when GetPolyData() is invoked.
If the mode is "outline", then just the outline of the plane
is shown. If the mode is "wireframe" then the plane is drawn
with the outline plus the interior mesh (corresponding to the
resolution specified). If the mode is "surface" then the plane
is drawn as a surface.
int = obj.GetRepresentationMinValue ()
- Control how the plane appears when GetPolyData() is invoked.
If the mode is "outline", then just the outline of the plane
is shown. If the mode is "wireframe" then the plane is drawn
with the outline plus the interior mesh (corresponding to the
resolution specified). If the mode is "surface" then the plane
is drawn as a surface.
int = obj.GetRepresentationMaxValue ()
- Control how the plane appears when GetPolyData() is invoked.
If the mode is "outline", then just the outline of the plane
is shown. If the mode is "wireframe" then the plane is drawn
with the outline plus the interior mesh (corresponding to the
resolution specified). If the mode is "surface" then the plane
is drawn as a surface.
int = obj.GetRepresentation ()
- Control how the plane appears when GetPolyData() is invoked.
If the mode is "outline", then just the outline of the plane
is shown. If the mode is "wireframe" then the plane is drawn
with the outline plus the interior mesh (corresponding to the
resolution specified). If the mode is "surface" then the plane
is drawn as a surface.
obj.SetRepresentationToOff ()
- Control how the plane appears when GetPolyData() is invoked.
If the mode is "outline", then just the outline of the plane
is shown. If the mode is "wireframe" then the plane is drawn
with the outline plus the interior mesh (corresponding to the
resolution specified). If the mode is "surface" then the plane
is drawn as a surface.
obj.SetRepresentationToOutline ()
- Control how the plane appears when GetPolyData() is invoked.
If the mode is "outline", then just the outline of the plane
is shown. If the mode is "wireframe" then the plane is drawn
with the outline plus the interior mesh (corresponding to the
resolution specified). If the mode is "surface" then the plane
is drawn as a surface.
obj.SetRepresentationToWireframe ()
- Control how the plane appears when GetPolyData() is invoked.
If the mode is "outline", then just the outline of the plane
is shown. If the mode is "wireframe" then the plane is drawn
with the outline plus the interior mesh (corresponding to the
resolution specified). If the mode is "surface" then the plane
is drawn as a surface.
obj.SetRepresentationToSurface ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.SetNormalToXAxis (int )
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
int = obj.GetNormalToXAxis ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.NormalToXAxisOn ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.NormalToXAxisOff ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.SetNormalToYAxis (int )
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
int = obj.GetNormalToYAxis ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.NormalToYAxisOn ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.NormalToYAxisOff ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.SetNormalToZAxis (int )
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
int = obj.GetNormalToZAxis ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.NormalToZAxisOn ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.NormalToZAxisOff ()
- Force the plane widget to be aligned with one of the x-y-z axes.
Remember that when the state changes, a ModifiedEvent is invoked.
This can be used to snap the plane to the axes if it is orginally
not aligned.
obj.GetPolyData (vtkPolyData pd)
- Grab the polydata (including points) that defines the plane. The
polydata consists of (res+1)*(res+1) points, and res*res quadrilateral
polygons, where res is the resolution of the plane. These point values
are guaranteed to be up-to-date when either the InteractionEvent or
EndInteraction events are invoked. The user provides the vtkPolyData and
the points and polyplane are added to it.
obj.GetPlane (vtkPlane plane)
- Get the planes describing the implicit function defined by the plane
widget. The user must provide the instance of the class vtkPlane. Note
that vtkPlane is a subclass of vtkImplicitFunction, meaning that it can
be used by a variety of filters to perform clipping, cutting, and
selection of data.
vtkPolyDataAlgorithm = obj.GetPolyDataAlgorithm ()
- Satisfies superclass API. This returns a pointer to the underlying
PolyData. Make changes to this before calling the initial PlaceWidget()
to have the initial placement follow suit. Or, make changes after the
widget has been initialised and call UpdatePlacement() to realise.
obj.UpdatePlacement (void )
- Satisfies superclass API. This will change the state of the widget to
match changes that have been made to the underlying PolyDataSource
vtkProperty = obj.GetHandleProperty ()
- Get the handle properties (the little balls are the handles). The
properties of the handles when selected and normal can be
manipulated.
vtkProperty = obj.GetSelectedHandleProperty ()
- Get the handle properties (the little balls are the handles). The
properties of the handles when selected and normal can be
manipulated.
obj.SetPlaneProperty (vtkProperty )
- Get the plane properties. The properties of the plane when selected
and unselected can be manipulated.
vtkProperty = obj.GetPlaneProperty ()
- Get the plane properties. The properties of the plane when selected
and unselected can be manipulated.
vtkProperty = obj.GetSelectedPlaneProperty ()
- Get the plane properties. The properties of the plane when selected
and unselected can be manipulated.