FreeMat

- Main Page
- Related Pages

vtkDistanceWidget

Section: Visualization Toolkit Widget Classes

# Usage

The vtkDistanceWidget is used to measure the distance between two points. The two end points can be positioned independently, and when they are released, a special PlacePointEvent is invoked so that special operations may be take to reposition the point (snap to grid, etc.) The widget has two different modes of interaction: when initially defined (i.e., placing the two points) and then a manipulate mode (adjusting the position of the two points).

To use this widget, specify an instance of vtkDistanceWidget and a representation (a subclass of vtkDistanceRepresentation). The widget is implemented using two instances of vtkHandleWidget which are used to position the end points of the line. The representations for these two handle widgets are provided by the vtkDistanceRepresentation.

.SECTION Event Bindings By default, the widget responds to the following VTK events (i.e., it watches the vtkRenderWindowInteractor for these events):

       LeftButtonPressEvent - add a point or select a handle
       MouseMoveEvent - position the second point or move a handle
       LeftButtonReleaseEvent - release the handle

Note that the event bindings described above can be changed using this class's vtkWidgetEventTranslator. This class translates VTK events into the vtkDistanceWidget's widget events:

       vtkWidgetEvent::AddPoint – add one point; depending on the state
                                   it may the first or second point added. Or,
                                   if near a handle, select the handle.
       vtkWidgetEvent::Move – move the second point or handle depending on the state.
       vtkWidgetEvent::EndSelect – the handle manipulation process has completed.

This widget invokes the following VTK events on itself (which observers can listen for):

       vtkCommand::StartInteractionEvent (beginning to interact)
       vtkCommand::EndInteractionEvent (completing interaction)
       vtkCommand::InteractionEvent (moving after selecting something)
       vtkCommand::PlacePointEvent (after point is positioned;
                                    call data includes handle id (0,1))

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

      obj = vtkDistanceWidget

# Methods

The class vtkDistanceWidget 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 vtkDistanceWidget class.

- `string = obj.GetClassName ()` - Standard methods for a VTK class.
- `int = obj.IsA (string name)` - Standard methods for a VTK class.
- `vtkDistanceWidget = obj.NewInstance ()` - Standard methods for a VTK class.
- `vtkDistanceWidget = obj.SafeDownCast (vtkObject o)` - Standard methods for a VTK class.
- `obj.SetEnabled (int )` - The method for activiating and deactiviating this widget. This method must be overridden because it is a composite widget and does more than its superclasses' vtkAbstractWidget::SetEnabled() method.
- `obj.SetRepresentation (vtkDistanceRepresentation r)` - Create the default widget representation if one is not set.
- `obj.CreateDefaultRepresentation ()` - Create the default widget representation if one is not set.
- `obj.SetProcessEvents (int )` - Methods to change the whether the widget responds to interaction. Overridden to pass the state to component widgets.