VTK
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends
vtkDistanceWidget Class Reference

measure the distance between two points More...

#include <vtkDistanceWidget.h>

Inheritance diagram for vtkDistanceWidget:
Inheritance graph
[legend]
Collaboration diagram for vtkDistanceWidget:
Collaboration graph
[legend]

List of all members.

Public Types

enum  { Start = 0, Define, Manipulate }

Public Member Functions

virtual void SetEnabled (int)
void CreateDefaultRepresentation ()
virtual void SetProcessEvents (int)
void SetRepresentation (vtkDistanceRepresentation *r)
vtkDistanceRepresentationGetDistanceRepresentation ()
virtual void SetWidgetStateToStart ()
virtual void SetWidgetStateToManipulate ()
virtual int GetWidgetState ()

Static Public Member Functions

static vtkDistanceWidgetNew ()

Protected Member Functions

 vtkDistanceWidget ()
 ~vtkDistanceWidget ()
void StartDistanceInteraction (int handleNum)
void DistanceInteraction (int handleNum)
void EndDistanceInteraction (int handleNum)

Static Protected Member Functions

static void AddPointAction (vtkAbstractWidget *)
static void MoveAction (vtkAbstractWidget *)
static void EndSelectAction (vtkAbstractWidget *)

Protected Attributes

int WidgetState
int CurrentHandle
vtkHandleWidgetPoint1Widget
vtkHandleWidgetPoint2Widget
vtkDistanceWidgetCallbackDistanceWidgetCallback1
vtkDistanceWidgetCallbackDistanceWidgetCallback2

Friends

class vtkDistanceWidgetCallback
typedef vtkAbstractWidget Superclass
static int IsTypeOf (const char *type)
static vtkDistanceWidgetSafeDownCast (vtkObjectBase *o)
virtual int IsA (const char *type)
vtkDistanceWidgetNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
virtual vtkObjectBaseNewInstanceInternal () const

Detailed Description

measure the distance between two points

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.

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
 
Event Bindings:
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.
 
Event Bindings:
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))
 
See also:
vtkHandleWidget
Events:
vtkCommand::DisableEvent vtkCommand::EndInteractionEvent vtkCommand::MouseMoveEvent vtkCommand::InteractionEvent vtkCommand::EnableEvent vtkCommand::LeftButtonPressEvent vtkCommand::StartInteractionEvent vtkCommand::PlacePointEvent vtkCommand::LeftButtonReleaseEvent
Examples:
vtkDistanceWidget (Examples)
Tests:
vtkDistanceWidget (Tests)

Definition at line 88 of file vtkDistanceWidget.h.


Member Typedef Documentation

Standard methods for a VTK class.

Reimplemented from vtkAbstractWidget.

Definition at line 96 of file vtkDistanceWidget.h.


Member Enumeration Documentation

anonymous enum

Description: Enum defining the state of the widget. By default the widget is in Start mode, and expects to be interactively placed. While placing the points the widget transitions to Define state. Once placed, the widget enters the Manipulate state. BTX

Enumerator:
Start 
Define 
Manipulate 

Definition at line 132 of file vtkDistanceWidget.h.


Constructor & Destructor Documentation


Member Function Documentation

Instantiate this class.

Reimplemented from vtkObject.

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

Standard methods for a VTK class.

Reimplemented from vtkAbstractWidget.

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

Standard methods for a VTK class.

Reimplemented from vtkAbstractWidget.

Standard methods for a VTK class.

Reimplemented from vtkAbstractWidget.

virtual vtkObjectBase* vtkDistanceWidget::NewInstanceInternal ( ) const [protected, virtual]

Standard methods for a VTK class.

Reimplemented from vtkAbstractWidget.

Standard methods for a VTK class.

Reimplemented from vtkAbstractWidget.

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

Standard methods for a VTK class.

Reimplemented from vtkAbstractWidget.

virtual void vtkDistanceWidget::SetEnabled ( int  ) [virtual]

The method for activating and deactivating this widget. This method must be overridden because it is a composite widget and does more than its superclasses' vtkAbstractWidget::SetEnabled() method.

Reimplemented from vtkAbstractWidget.

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 109 of file vtkDistanceWidget.h.

Return the representation as a vtkDistanceRepresentation.

Definition at line 116 of file vtkDistanceWidget.h.

Create the default widget representation if one is not set.

Implements vtkAbstractWidget.

virtual void vtkDistanceWidget::SetProcessEvents ( int  ) [virtual]

Methods to change the whether the widget responds to interaction. Overridden to pass the state to component widgets.

Reimplemented from vtkAbstractWidget.

virtual void vtkDistanceWidget::SetWidgetStateToStart ( ) [virtual]

Set the state of the widget. If the state is set to "Manipulate" then it is assumed that the widget and its representation will be initialized programmatically and is not interactively placed. Initially the widget state is set to "Start" which means nothing will appear and the user must interactively place the widget with repeated mouse selections. Set the state to "Start" if you want interactive placement. Generally state changes must be followed by a Render() for things to visually take effect.

Set the state of the widget. If the state is set to "Manipulate" then it is assumed that the widget and its representation will be initialized programmatically and is not interactively placed. Initially the widget state is set to "Start" which means nothing will appear and the user must interactively place the widget with repeated mouse selections. Set the state to "Start" if you want interactive placement. Generally state changes must be followed by a Render() for things to visually take effect.

virtual int vtkDistanceWidget::GetWidgetState ( ) [inline, virtual]

Return the current widget state.

Definition at line 151 of file vtkDistanceWidget.h.

static void vtkDistanceWidget::AddPointAction ( vtkAbstractWidget ) [static, protected]
static void vtkDistanceWidget::MoveAction ( vtkAbstractWidget ) [static, protected]
static void vtkDistanceWidget::EndSelectAction ( vtkAbstractWidget ) [static, protected]
void vtkDistanceWidget::StartDistanceInteraction ( int  handleNum) [protected]
void vtkDistanceWidget::DistanceInteraction ( int  handleNum) [protected]
void vtkDistanceWidget::EndDistanceInteraction ( int  handleNum) [protected]

Friends And Related Function Documentation

friend class vtkDistanceWidgetCallback [friend]

Definition at line 182 of file vtkDistanceWidget.h.


Member Data Documentation

Definition at line 160 of file vtkDistanceWidget.h.

Definition at line 161 of file vtkDistanceWidget.h.

Definition at line 170 of file vtkDistanceWidget.h.

Definition at line 171 of file vtkDistanceWidget.h.

Definition at line 172 of file vtkDistanceWidget.h.

Definition at line 173 of file vtkDistanceWidget.h.


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