Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkPointWidget Class Reference

#include <vtkPointWidget.h>

Inheritance diagram for vtkPointWidget:

Inheritance graph
[legend]
Collaboration diagram for vtkPointWidget:

Collaboration graph
[legend]
List of all members.

Detailed Description

position a point in 3D space

This 3D widget allows the user to position a point in 3D space using a 3D cursor. The cursor has an outline bounding box, axes-aligned cross-hairs, and axes shadows. (The outline and shadows can be turned off.) Any of these can be turned off. A nice feature of the object is that the vtkPointWidget, like any 3D widget, will work with the current interactor style. That is, if vtkPointWidget does not handle an event, then all other registered observers (including the interactor style) have an opportunity to process the event. Otherwise, the vtkPointWidget will terminate the processing of the event that it handles.

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. The interactor will act normally until the "i" key (for "interactor") is pressed, at which point the vtkPointWidget will appear. (See superclass documentation for information about changing this behavior.) To move the point, the user can grab (left mouse) on any widget line and "slide" the point into position. Scaling is achieved by using the right mouse button "up" the render window (makes the widget bigger) or "down" the render window (makes the widget smaller). To translate the widget use the middle mouse button. (Note: all of the translation interactions can be constrained to one of the x-y-z axes by using the "shift" key.) The vtkPointWidget produces as output a polydata with a single point and a vertex cell.

Some additional features of this class include the ability to control the rendered properties of the widget. You can set the properties of the selected and unselected representations of the parts of the widget. For example, you can set the property of the 3D cursor in its normal and selected states.

Warning:
Note that widget can be picked even when it is "behind" other actors. This is an intended feature and not a bug.

The constrained translation/sliding action (i.e., when the "shift" key is depressed) along the axes is based on a combination of a "hot" spot around the cursor focus plus the initial mouse motion after selection. That is, if the user selects an axis outside of the hot spot, then the motion is constrained along that axis. If the user selects the point widget near the focus (within the hot spot), the initial motion defines a vector which is compared to the x-y-z axes. The motion is constrained to the axis that is most parallel to the initial motion vector.

See also:
vtk3DWidget vtkLineWidget vtkBoxWidget vtkPlaneWidget
Events:
vtkCommand::DisableEvent vtkCommand::EndInteractionEvent vtkCommand::InteractionEvent vtkCommand::StartInteractionEvent vtkCommand::EnableEvent
Examples:
vtkPointWidget (Examples)
Tests:
vtkPointWidget (Tests)

Definition at line 88 of file vtkPointWidget.h.

Public Types

typedef vtk3DWidget Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetEnabled (int)
virtual void PlaceWidget (double bounds[6])
void PlaceWidget ()
void PlaceWidget (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
void GetPolyData (vtkPolyData *pd)
void SetPosition (double x, double y, double z)
void SetPosition (double x[3])
double * GetPosition ()
void GetPosition (double xyz[3])
void SetOutline (int o)
int GetOutline ()
void OutlineOn ()
void OutlineOff ()
void SetXShadows (int o)
int GetXShadows ()
void XShadowsOn ()
void XShadowsOff ()
void SetYShadows (int o)
int GetYShadows ()
void YShadowsOn ()
void YShadowsOff ()
void SetZShadows (int o)
int GetZShadows ()
void ZShadowsOn ()
void ZShadowsOff ()
void SetTranslationMode (int mode)
int GetTranslationMode ()
void TranslationModeOn ()
void TranslationModeOff ()
void AllOn ()
void AllOff ()
virtual vtkPropertyGetProperty ()
virtual vtkPropertyGetSelectedProperty ()
virtual void SetHotSpotSize (double)
virtual double GetHotSpotSize ()

Static Public Member Functions

static vtkPointWidgetNew ()
static int IsTypeOf (const char *type)
static vtkPointWidgetSafeDownCast (vtkObject *o)

Protected Types

enum  WidgetState {
  Start = 0, Moving, Scaling, Translating,
  Outside
}

Protected Member Functions

 vtkPointWidget ()
 ~vtkPointWidget ()
virtual void OnMouseMove ()
virtual void OnLeftButtonDown ()
virtual void OnLeftButtonUp ()
virtual void OnMiddleButtonDown ()
virtual void OnMiddleButtonUp ()
virtual void OnRightButtonDown ()
virtual void OnRightButtonUp ()
void Highlight (int highlight)
void Translate (double *p1, double *p2)
void Scale (double *p1, double *p2, int X, int Y)
void MoveFocus (double *p1, double *p2)
void CreateDefaultProperties ()
int DetermineConstraintAxis (int constraint, double *x)

Static Protected Member Functions

static void ProcessEvents (vtkObject *object, unsigned long event, void *clientdata, void *calldata)

Protected Attributes

int State
vtkActorActor
vtkPolyDataMapperMapper
vtkCursor3DCursor3D
vtkCellPickerCursorPicker
int ConstraintAxis
int TranslationMode
vtkPropertyProperty
vtkPropertySelectedProperty
double HotSpotSize
int WaitingForMotion
int WaitCount

Friends

class vtkLineWidget


Member Typedef Documentation

typedef vtk3DWidget vtkPointWidget::Superclass
 

Reimplemented from vtk3DWidget.

Definition at line 94 of file vtkPointWidget.h.


Member Enumeration Documentation

enum vtkPointWidget::WidgetState [protected]
 

Enumerator:
Start 
Moving 
Scaling 
Translating 
Outside 

Definition at line 230 of file vtkPointWidget.h.


Constructor & Destructor Documentation

vtkPointWidget::vtkPointWidget  )  [protected]
 

vtkPointWidget::~vtkPointWidget  )  [protected]
 


Member Function Documentation

static vtkPointWidget* vtkPointWidget::New  )  [static]
 

Instantiate this widget

Reimplemented from vtkObject.

virtual const char* vtkPointWidget::GetClassName  )  [virtual]
 

Reimplemented from vtk3DWidget.

static int vtkPointWidget::IsTypeOf const char *  type  )  [static]
 

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtk3DWidget.

virtual int vtkPointWidget::IsA const char *  type  )  [virtual]
 

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtk3DWidget.

static vtkPointWidget* vtkPointWidget::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtk3DWidget.

void vtkPointWidget::PrintSelf ostream &  os,
vtkIndent  indent
[virtual]
 

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtk3DWidget.

virtual void vtkPointWidget::SetEnabled int   )  [virtual]
 

Methods that satisfy the superclass' API.

Reimplemented from vtkInteractorObserver.

virtual void vtkPointWidget::PlaceWidget double  bounds[6]  )  [virtual]
 

This method is used to initially place the widget. The placement of the widget depends on whether a Prop3D or input dataset is provided. If one of these two is provided, they will be used to obtain a bounding box, around which the widget is placed. Otherwise, you can manually specify a bounds with the PlaceWidget(bounds) method. Note: PlaceWidget(bounds) is required by all subclasses; the other methods are provided as convenience methods.

Implements vtk3DWidget.

void vtkPointWidget::PlaceWidget  )  [inline, virtual]
 

Reimplemented from vtk3DWidget.

Definition at line 101 of file vtkPointWidget.h.

void vtkPointWidget::PlaceWidget double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax
[inline, virtual]
 

Reimplemented from vtk3DWidget.

Definition at line 103 of file vtkPointWidget.h.

void vtkPointWidget::GetPolyData vtkPolyData pd  ) 
 

Grab the polydata (including points) that defines the point. A single point and a vertex compose the vtkPolyData.

void vtkPointWidget::SetPosition double  x,
double  y,
double  z
[inline]
 

Set/Get the position of the point. Note that if the position is set outside of the bounding box, it will be clamped to the boundary of the bounding box.

Definition at line 116 of file vtkPointWidget.h.

void vtkPointWidget::SetPosition double  x[3]  )  [inline]
 

Grab the polydata (including points) that defines the point. A single point and a vertex compose the vtkPolyData.

Definition at line 118 of file vtkPointWidget.h.

double* vtkPointWidget::GetPosition  )  [inline]
 

Grab the polydata (including points) that defines the point. A single point and a vertex compose the vtkPolyData.

Definition at line 120 of file vtkPointWidget.h.

void vtkPointWidget::GetPosition double  xyz[3]  )  [inline]
 

Grab the polydata (including points) that defines the point. A single point and a vertex compose the vtkPolyData.

Definition at line 122 of file vtkPointWidget.h.

void vtkPointWidget::SetOutline int  o  )  [inline]
 

Turn on/off the wireframe bounding box.

Definition at line 128 of file vtkPointWidget.h.

int vtkPointWidget::GetOutline  )  [inline]
 

Turn on/off the wireframe bounding box.

Definition at line 130 of file vtkPointWidget.h.

void vtkPointWidget::OutlineOn  )  [inline]
 

Turn on/off the wireframe bounding box.

Definition at line 132 of file vtkPointWidget.h.

void vtkPointWidget::OutlineOff  )  [inline]
 

Turn on/off the wireframe bounding box.

Definition at line 134 of file vtkPointWidget.h.

void vtkPointWidget::SetXShadows int  o  )  [inline]
 

Turn on/off the wireframe x-shadows.

Definition at line 140 of file vtkPointWidget.h.

int vtkPointWidget::GetXShadows  )  [inline]
 

Turn on/off the wireframe x-shadows.

Definition at line 142 of file vtkPointWidget.h.

void vtkPointWidget::XShadowsOn  )  [inline]
 

Turn on/off the wireframe x-shadows.

Definition at line 144 of file vtkPointWidget.h.

void vtkPointWidget::XShadowsOff  )  [inline]
 

Turn on/off the wireframe x-shadows.

Definition at line 146 of file vtkPointWidget.h.

void vtkPointWidget::SetYShadows int  o  )  [inline]
 

Turn on/off the wireframe y-shadows.

Definition at line 152 of file vtkPointWidget.h.

int vtkPointWidget::GetYShadows  )  [inline]
 

Turn on/off the wireframe y-shadows.

Definition at line 154 of file vtkPointWidget.h.

void vtkPointWidget::YShadowsOn  )  [inline]
 

Turn on/off the wireframe y-shadows.

Definition at line 156 of file vtkPointWidget.h.

void vtkPointWidget::YShadowsOff  )  [inline]
 

Turn on/off the wireframe y-shadows.

Definition at line 158 of file vtkPointWidget.h.

void vtkPointWidget::SetZShadows int  o  )  [inline]
 

Turn on/off the wireframe z-shadows.

Definition at line 164 of file vtkPointWidget.h.

int vtkPointWidget::GetZShadows  )  [inline]
 

Turn on/off the wireframe z-shadows.

Definition at line 166 of file vtkPointWidget.h.

void vtkPointWidget::ZShadowsOn  )  [inline]
 

Turn on/off the wireframe z-shadows.

Definition at line 168 of file vtkPointWidget.h.

void vtkPointWidget::ZShadowsOff  )  [inline]
 

Turn on/off the wireframe z-shadows.

Definition at line 170 of file vtkPointWidget.h.

void vtkPointWidget::SetTranslationMode int  mode  )  [inline]
 

If translation mode is on, as the widget is moved the bounding box, shadows, and cursor are all translated simultaneously as the point moves.

Definition at line 178 of file vtkPointWidget.h.

int vtkPointWidget::GetTranslationMode  )  [inline]
 

If translation mode is on, as the widget is moved the bounding box, shadows, and cursor are all translated simultaneously as the point moves.

Definition at line 180 of file vtkPointWidget.h.

void vtkPointWidget::TranslationModeOn  )  [inline]
 

If translation mode is on, as the widget is moved the bounding box, shadows, and cursor are all translated simultaneously as the point moves.

Definition at line 182 of file vtkPointWidget.h.

void vtkPointWidget::TranslationModeOff  )  [inline]
 

If translation mode is on, as the widget is moved the bounding box, shadows, and cursor are all translated simultaneously as the point moves.

Definition at line 184 of file vtkPointWidget.h.

void vtkPointWidget::AllOn  )  [inline]
 

Convenience methods to turn outline and shadows on and off.

Definition at line 190 of file vtkPointWidget.h.

void vtkPointWidget::AllOff  )  [inline]
 

Convenience methods to turn outline and shadows on and off.

Definition at line 197 of file vtkPointWidget.h.

virtual vtkProperty* vtkPointWidget::GetProperty  )  [virtual]
 

Get the handle properties (the little balls are the handles). The properties of the handles when selected and normal can be set.

virtual vtkProperty* vtkPointWidget::GetSelectedProperty  )  [virtual]
 

Get the handle properties (the little balls are the handles). The properties of the handles when selected and normal can be set.

virtual void vtkPointWidget::SetHotSpotSize double   )  [virtual]
 

Set the "hot spot" size; i.e., the region around the focus, in which the motion vector is used to control the constrained sliding action. Note the size is specified as a fraction of the length of the diagonal of the point widget's bounding box.

virtual double vtkPointWidget::GetHotSpotSize  )  [virtual]
 

Set the "hot spot" size; i.e., the region around the focus, in which the motion vector is used to control the constrained sliding action. Note the size is specified as a fraction of the length of the diagonal of the point widget's bounding box.

static void vtkPointWidget::ProcessEvents vtkObject object,
unsigned long  event,
void *  clientdata,
void *  calldata
[static, protected]
 

Handles the char widget activation event. Also handles the delete event.

Reimplemented from vtkInteractorObserver.

virtual void vtkPointWidget::OnMouseMove  )  [protected, virtual]
 

virtual void vtkPointWidget::OnLeftButtonDown  )  [protected, virtual]
 

virtual void vtkPointWidget::OnLeftButtonUp  )  [protected, virtual]
 

virtual void vtkPointWidget::OnMiddleButtonDown  )  [protected, virtual]
 

virtual void vtkPointWidget::OnMiddleButtonUp  )  [protected, virtual]
 

virtual void vtkPointWidget::OnRightButtonDown  )  [protected, virtual]
 

virtual void vtkPointWidget::OnRightButtonUp  )  [protected, virtual]
 

void vtkPointWidget::Highlight int  highlight  )  [protected]
 

void vtkPointWidget::Translate double *  p1,
double *  p2
[protected]
 

void vtkPointWidget::Scale double *  p1,
double *  p2,
int  X,
int  Y
[protected]
 

void vtkPointWidget::MoveFocus double *  p1,
double *  p2
[protected]
 

void vtkPointWidget::CreateDefaultProperties  )  [protected]
 

int vtkPointWidget::DetermineConstraintAxis int  constraint,
double *  x
[protected]
 


Friends And Related Function Documentation

friend class vtkLineWidget [friend]
 

Definition at line 227 of file vtkPointWidget.h.


Member Data Documentation

int vtkPointWidget::State [protected]
 

Definition at line 229 of file vtkPointWidget.h.

vtkActor* vtkPointWidget::Actor [protected]
 

Definition at line 256 of file vtkPointWidget.h.

vtkPolyDataMapper* vtkPointWidget::Mapper [protected]
 

Definition at line 257 of file vtkPointWidget.h.

vtkCursor3D* vtkPointWidget::Cursor3D [protected]
 

Definition at line 258 of file vtkPointWidget.h.

vtkCellPicker* vtkPointWidget::CursorPicker [protected]
 

Definition at line 262 of file vtkPointWidget.h.

int vtkPointWidget::ConstraintAxis [protected]
 

Definition at line 265 of file vtkPointWidget.h.

int vtkPointWidget::TranslationMode [protected]
 

Definition at line 269 of file vtkPointWidget.h.

vtkProperty* vtkPointWidget::Property [protected]
 

Definition at line 273 of file vtkPointWidget.h.

vtkProperty* vtkPointWidget::SelectedProperty [protected]
 

Definition at line 274 of file vtkPointWidget.h.

double vtkPointWidget::HotSpotSize [protected]
 

Definition at line 278 of file vtkPointWidget.h.

int vtkPointWidget::WaitingForMotion [protected]
 

Definition at line 280 of file vtkPointWidget.h.

int vtkPointWidget::WaitCount [protected]
 

Definition at line 281 of file vtkPointWidget.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 22 00:09:09 2008 for VTK by  doxygen 1.4.3-20050530