VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
vtkSphereWidget Class Reference

3D widget for manipulating a sphere More...

#include <vtkSphereWidget.h>

Inheritance diagram for vtkSphereWidget:
[legend]
Collaboration diagram for vtkSphereWidget:
[legend]

Public Types

typedef vtk3DWidget Superclass
 
- Public Types inherited from vtk3DWidget
typedef vtkInteractorObserver Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkSphereWidgetNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void GetPolyData (vtkPolyData *pd)
 
void GetSphere (vtkSphere *sphere)
 
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)
 
virtual void SetRepresentation (int)
 
virtual int GetRepresentation ()
 
void SetRepresentationToOff ()
 
void SetRepresentationToWireframe ()
 
void SetRepresentationToSurface ()
 
void SetThetaResolution (int r)
 
int GetThetaResolution ()
 
void SetPhiResolution (int r)
 
int GetPhiResolution ()
 
void SetRadius (double r)
 
double GetRadius ()
 
void SetCenter (double x, double y, double z)
 
void SetCenter (double x[3])
 
double * GetCenter ()
 
void GetCenter (double xyz[3])
 
virtual void SetTranslation (int)
 
virtual int GetTranslation ()
 
virtual void TranslationOn ()
 
virtual void TranslationOff ()
 
virtual void SetScale (int)
 
virtual int GetScale ()
 
virtual void ScaleOn ()
 
virtual void ScaleOff ()
 
virtual void SetHandleVisibility (int)
 
virtual int GetHandleVisibility ()
 
virtual void HandleVisibilityOn ()
 
virtual void HandleVisibilityOff ()
 
virtual void SetHandleDirection (double, double, double)
 
virtual void SetHandleDirection (double[3])
 
virtual double * GetHandleDirection ()
 
virtual void GetHandleDirection (double &, double &, double &)
 
virtual void GetHandleDirection (double[3])
 
virtual double * GetHandlePosition ()
 
virtual void GetHandlePosition (double &, double &, double &)
 
virtual void GetHandlePosition (double[3])
 
virtual vtkProperty * GetSphereProperty ()
 
virtual vtkProperty * GetSelectedSphereProperty ()
 
virtual vtkProperty * GetHandleProperty ()
 
virtual vtkProperty * GetSelectedHandleProperty ()
 
- Public Member Functions inherited from vtk3DWidget
vtk3DWidgetNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void SetProp3D (vtkProp3D *)
 
virtual vtkProp3D * GetProp3D ()
 
virtual void SetInputData (vtkDataSet *)
 
virtual void SetInputConnection (vtkAlgorithmOutput *)
 
virtual vtkDataSet * GetInput ()
 
virtual void SetPlaceFactor (double)
 
virtual double GetPlaceFactor ()
 
virtual void SetHandleSize (double)
 
virtual double GetHandleSize ()
 

Static Public Member Functions

static vtkSphereWidgetNew ()
 
static int IsTypeOf (const char *type)
 
static vtkSphereWidgetSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtk3DWidget
static int IsTypeOf (const char *type)
 
static vtk3DWidgetSafeDownCast (vtkObjectBase *o)
 

Protected Types

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

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkSphereWidget ()
 
 ~vtkSphereWidget ()
 
void OnLeftButtonDown ()
 
void OnLeftButtonUp ()
 
void OnRightButtonDown ()
 
void OnRightButtonUp ()
 
void OnMouseMove ()
 
void HighlightSphere (int highlight)
 
void SelectRepresentation ()
 
virtual void RegisterPickers ()
 
void Translate (double *p1, double *p2)
 
void ScaleSphere (double *p1, double *p2, int X, int Y)
 
void MoveHandle (double *p1, double *p2, int X, int Y)
 
void PlaceHandle (double *center, double radius)
 
void CreateDefaultProperties ()
 
void HighlightHandle (int)
 
virtual void SizeHandles ()
 
- Protected Member Functions inherited from vtk3DWidget
 vtk3DWidget ()
 
 ~vtk3DWidget ()
 
void AdjustBounds (double bounds[6], double newBounds[6], double center[3])
 
double SizeHandles (double factor)
 
void UpdateInput ()
 

Static Protected Member Functions

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

Protected Attributes

int State
 
vtkActor * SphereActor
 
vtkPolyDataMapper * SphereMapper
 
vtkSphereSourceSphereSource
 
int Representation
 
vtkCellPicker * Picker
 
int Translation
 
int Scale
 
vtkProperty * SphereProperty
 
vtkProperty * SelectedSphereProperty
 
vtkProperty * HandleProperty
 
vtkProperty * SelectedHandleProperty
 
vtkActor * HandleActor
 
vtkPolyDataMapper * HandleMapper
 
vtkSphereSourceHandleSource
 
int HandleVisibility
 
double HandleDirection [3]
 
double HandlePosition [3]
 
- Protected Attributes inherited from vtk3DWidget
vtkProp3D * Prop3D
 
vtk3DWidgetConnection * ConnectionHolder
 
double PlaceFactor
 
int Placed
 
double InitialBounds [6]
 
double InitialLength
 
double HandleSize
 
int ValidPick
 
double LastPickPosition [3]
 

Detailed Description

3D widget for manipulating a sphere

This 3D widget defines a sphere that can be interactively placed in a scene.

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 vtkSphereWidget will appear. (See superclass documentation for information about changing this behavior.) 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 vtkSphereWidget has several methods that can be used in conjunction with other VTK objects. The Set/GetThetaResolution() and Set/GetPhiResolution() methods control the number of subdivisions of the sphere in the theta and phi directions; the GetPolyData() method can be used to get the polygonal representation and can be used for things like seeding streamlines. The GetSphere() method returns a sphere implicit function that can be used for cutting and clipping. 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 (any mouse 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 sphere.

See Also
vtk3DWidget vtkLineWidget vtkBoxWidget vtkPlaneWidget
Events:
vtkCommand::DisableEvent vtkCommand::EndInteractionEvent vtkCommand::StartInteractionEvent vtkCommand::InteractionEvent vtkCommand::EnableEvent
Examples:
vtkSphereWidget (Examples)

Definition at line 78 of file vtkSphereWidget.h.

Member Typedef Documentation

Definition at line 84 of file vtkSphereWidget.h.

Member Enumeration Documentation

Enumerator
Start 
Moving 
Scaling 
Positioning 
Outside 

Definition at line 229 of file vtkSphereWidget.h.

Constructor & Destructor Documentation

vtkSphereWidget::vtkSphereWidget ( )
protected
vtkSphereWidget::~vtkSphereWidget ( )
protected

Member Function Documentation

static vtkSphereWidget* vtkSphereWidget::New ( )
static

Instantiate the object.

static int vtkSphereWidget::IsTypeOf ( const char *  type)
static
virtual int vtkSphereWidget::IsA ( const char *  type)
virtual

Reimplemented from vtk3DWidget.

static vtkSphereWidget* vtkSphereWidget::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkSphereWidget::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtk3DWidget.

vtkSphereWidget* vtkSphereWidget::NewInstance ( ) const
void vtkSphereWidget::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual void vtkSphereWidget::SetEnabled ( int  )
virtual

Methods that satisfy the superclass' API.

virtual void vtkSphereWidget::PlaceWidget ( double  bounds[6])
virtual

Methods that satisfy the superclass' API.

Implements vtk3DWidget.

void vtkSphereWidget::PlaceWidget ( )
inlinevirtual

Methods that satisfy the superclass' API.

Reimplemented from vtk3DWidget.

Definition at line 91 of file vtkSphereWidget.h.

void vtkSphereWidget::PlaceWidget ( double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax 
)
inlinevirtual

Methods that satisfy the superclass' API.

Reimplemented from vtk3DWidget.

Definition at line 93 of file vtkSphereWidget.h.

virtual void vtkSphereWidget::SetRepresentation ( int  )
virtual

Set the representation of the sphere. Different representations are useful depending on the application. The default is VTK_SPHERE_WIREFRAME.

virtual int vtkSphereWidget::GetRepresentation ( )
virtual

Set the representation of the sphere. Different representations are useful depending on the application. The default is VTK_SPHERE_WIREFRAME.

void vtkSphereWidget::SetRepresentationToOff ( )
inline

Set the representation of the sphere. Different representations are useful depending on the application. The default is VTK_SPHERE_WIREFRAME.

Definition at line 104 of file vtkSphereWidget.h.

void vtkSphereWidget::SetRepresentationToWireframe ( )
inline

Set the representation of the sphere. Different representations are useful depending on the application. The default is VTK_SPHERE_WIREFRAME.

Definition at line 106 of file vtkSphereWidget.h.

void vtkSphereWidget::SetRepresentationToSurface ( )
inline

Set the representation of the sphere. Different representations are useful depending on the application. The default is VTK_SPHERE_WIREFRAME.

Definition at line 108 of file vtkSphereWidget.h.

void vtkSphereWidget::SetThetaResolution ( int  r)
inline

Set/Get the resolution of the sphere in the Theta direction. The default is 16.

Definition at line 115 of file vtkSphereWidget.h.

int vtkSphereWidget::GetThetaResolution ( )
inline

Set/Get the resolution of the sphere in the Theta direction. The default is 16.

Definition at line 117 of file vtkSphereWidget.h.

void vtkSphereWidget::SetPhiResolution ( int  r)
inline

Set/Get the resolution of the sphere in the Phi direction. The default is 8.

Definition at line 124 of file vtkSphereWidget.h.

int vtkSphereWidget::GetPhiResolution ( )
inline

Set/Get the resolution of the sphere in the Phi direction. The default is 8.

Definition at line 126 of file vtkSphereWidget.h.

void vtkSphereWidget::SetRadius ( double  r)
inline

Set/Get the radius of sphere. Default is .5.

Definition at line 132 of file vtkSphereWidget.h.

double vtkSphereWidget::GetRadius ( )
inline

Set/Get the radius of sphere. Default is .5.

Definition at line 140 of file vtkSphereWidget.h.

void vtkSphereWidget::SetCenter ( double  x,
double  y,
double  z 
)
inline

Set/Get the center of the sphere.

Definition at line 146 of file vtkSphereWidget.h.

void vtkSphereWidget::SetCenter ( double  x[3])
inline

Set/Get the center of the sphere.

Definition at line 150 of file vtkSphereWidget.h.

double* vtkSphereWidget::GetCenter ( )
inline

Set/Get the center of the sphere.

Definition at line 154 of file vtkSphereWidget.h.

void vtkSphereWidget::GetCenter ( double  xyz[3])
inline

Set/Get the center of the sphere.

Definition at line 156 of file vtkSphereWidget.h.

virtual void vtkSphereWidget::SetTranslation ( int  )
virtual

Enable translation and scaling of the widget. By default, the widget can be translated and rotated.

virtual int vtkSphereWidget::GetTranslation ( )
virtual

Enable translation and scaling of the widget. By default, the widget can be translated and rotated.

virtual void vtkSphereWidget::TranslationOn ( )
virtual

Enable translation and scaling of the widget. By default, the widget can be translated and rotated.

virtual void vtkSphereWidget::TranslationOff ( )
virtual

Enable translation and scaling of the widget. By default, the widget can be translated and rotated.

virtual void vtkSphereWidget::SetScale ( int  )
virtual

Enable translation and scaling of the widget. By default, the widget can be translated and rotated.

virtual int vtkSphereWidget::GetScale ( )
virtual

Enable translation and scaling of the widget. By default, the widget can be translated and rotated.

virtual void vtkSphereWidget::ScaleOn ( )
virtual

Enable translation and scaling of the widget. By default, the widget can be translated and rotated.

virtual void vtkSphereWidget::ScaleOff ( )
virtual

Enable translation and scaling of the widget. By default, the widget can be translated and rotated.

virtual void vtkSphereWidget::SetHandleVisibility ( int  )
virtual

The handle sits on the surface of the sphere and may be moved around the surface by picking (left mouse) and then moving. The position of the handle can be retrieved, this is useful for positioning cameras and lights. By default, the handle is turned off.

virtual int vtkSphereWidget::GetHandleVisibility ( )
virtual

The handle sits on the surface of the sphere and may be moved around the surface by picking (left mouse) and then moving. The position of the handle can be retrieved, this is useful for positioning cameras and lights. By default, the handle is turned off.

virtual void vtkSphereWidget::HandleVisibilityOn ( )
virtual

The handle sits on the surface of the sphere and may be moved around the surface by picking (left mouse) and then moving. The position of the handle can be retrieved, this is useful for positioning cameras and lights. By default, the handle is turned off.

virtual void vtkSphereWidget::HandleVisibilityOff ( )
virtual

The handle sits on the surface of the sphere and may be moved around the surface by picking (left mouse) and then moving. The position of the handle can be retrieved, this is useful for positioning cameras and lights. By default, the handle is turned off.

virtual void vtkSphereWidget::SetHandleDirection ( double  ,
double  ,
double   
)
virtual

Set/Get the direction vector of the handle relative to the center of the sphere. The direction of the handle is from the sphere center to the handle position.

virtual void vtkSphereWidget::SetHandleDirection ( double  [3])
virtual

Set/Get the direction vector of the handle relative to the center of the sphere. The direction of the handle is from the sphere center to the handle position.

virtual double* vtkSphereWidget::GetHandleDirection ( )
virtual

Set/Get the direction vector of the handle relative to the center of the sphere. The direction of the handle is from the sphere center to the handle position.

virtual void vtkSphereWidget::GetHandleDirection ( double &  ,
double &  ,
double &   
)
virtual

Set/Get the direction vector of the handle relative to the center of the sphere. The direction of the handle is from the sphere center to the handle position.

virtual void vtkSphereWidget::GetHandleDirection ( double  [3])
virtual

Set/Get the direction vector of the handle relative to the center of the sphere. The direction of the handle is from the sphere center to the handle position.

virtual double* vtkSphereWidget::GetHandlePosition ( )
virtual

Get the position of the handle.

virtual void vtkSphereWidget::GetHandlePosition ( double &  ,
double &  ,
double &   
)
virtual

Get the position of the handle.

virtual void vtkSphereWidget::GetHandlePosition ( double  [3])
virtual

Get the position of the handle.

void vtkSphereWidget::GetPolyData ( vtkPolyData pd)

Grab the polydata (including points) that defines the sphere. The polydata consists of n+1 points, where n is the resolution of the sphere. 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 polysphere are added to it.

void vtkSphereWidget::GetSphere ( vtkSphere *  sphere)

Get the spherical implicit function defined by this widget. Note that vtkSphere is a subclass of vtkImplicitFunction, meaning that it can be used by a variety of filters to perform clipping, cutting, and selection of data.

virtual vtkProperty* vtkSphereWidget::GetSphereProperty ( )
virtual

Get the sphere properties. The properties of the sphere when selected and unselected can be manipulated.

virtual vtkProperty* vtkSphereWidget::GetSelectedSphereProperty ( )
virtual

Get the sphere properties. The properties of the sphere when selected and unselected can be manipulated.

virtual vtkProperty* vtkSphereWidget::GetHandleProperty ( )
virtual

Get the handle properties (the little ball on the sphere is the handle). The properties of the handle when selected and unselected can be manipulated.

virtual vtkProperty* vtkSphereWidget::GetSelectedHandleProperty ( )
virtual

Get the handle properties (the little ball on the sphere is the handle). The properties of the handle when selected and unselected can be manipulated.

static void vtkSphereWidget::ProcessEvents ( vtkObject *  object,
unsigned long  event,
void *  clientdata,
void *  calldata 
)
staticprotected
void vtkSphereWidget::OnLeftButtonDown ( )
protected
void vtkSphereWidget::OnLeftButtonUp ( )
protected
void vtkSphereWidget::OnRightButtonDown ( )
protected
void vtkSphereWidget::OnRightButtonUp ( )
protected
void vtkSphereWidget::OnMouseMove ( )
protected
void vtkSphereWidget::HighlightSphere ( int  highlight)
protected
void vtkSphereWidget::SelectRepresentation ( )
protected
virtual void vtkSphereWidget::RegisterPickers ( )
protectedvirtual
void vtkSphereWidget::Translate ( double *  p1,
double *  p2 
)
protected
void vtkSphereWidget::ScaleSphere ( double *  p1,
double *  p2,
int  X,
int  Y 
)
protected
void vtkSphereWidget::MoveHandle ( double *  p1,
double *  p2,
int  X,
int  Y 
)
protected
void vtkSphereWidget::PlaceHandle ( double *  center,
double  radius 
)
protected
void vtkSphereWidget::CreateDefaultProperties ( )
protected
void vtkSphereWidget::HighlightHandle ( int  )
protected
virtual void vtkSphereWidget::SizeHandles ( )
protectedvirtual

Reimplemented from vtk3DWidget.

Member Data Documentation

int vtkSphereWidget::State
protected

Definition at line 228 of file vtkSphereWidget.h.

vtkActor* vtkSphereWidget::SphereActor
protected

Definition at line 253 of file vtkSphereWidget.h.

vtkPolyDataMapper* vtkSphereWidget::SphereMapper
protected

Definition at line 254 of file vtkSphereWidget.h.

vtkSphereSource* vtkSphereWidget::SphereSource
protected

Definition at line 255 of file vtkSphereWidget.h.

int vtkSphereWidget::Representation
protected

Definition at line 260 of file vtkSphereWidget.h.

vtkCellPicker* vtkSphereWidget::Picker
protected

Definition at line 263 of file vtkSphereWidget.h.

int vtkSphereWidget::Translation
protected

Definition at line 269 of file vtkSphereWidget.h.

int vtkSphereWidget::Scale
protected

Definition at line 270 of file vtkSphereWidget.h.

vtkProperty* vtkSphereWidget::SphereProperty
protected

Definition at line 278 of file vtkSphereWidget.h.

vtkProperty* vtkSphereWidget::SelectedSphereProperty
protected

Definition at line 279 of file vtkSphereWidget.h.

vtkProperty* vtkSphereWidget::HandleProperty
protected

Definition at line 280 of file vtkSphereWidget.h.

vtkProperty* vtkSphereWidget::SelectedHandleProperty
protected

Definition at line 281 of file vtkSphereWidget.h.

vtkActor* vtkSphereWidget::HandleActor
protected

Definition at line 285 of file vtkSphereWidget.h.

vtkPolyDataMapper* vtkSphereWidget::HandleMapper
protected

Definition at line 286 of file vtkSphereWidget.h.

vtkSphereSource* vtkSphereWidget::HandleSource
protected

Definition at line 287 of file vtkSphereWidget.h.

int vtkSphereWidget::HandleVisibility
protected

Definition at line 289 of file vtkSphereWidget.h.

double vtkSphereWidget::HandleDirection[3]
protected

Definition at line 290 of file vtkSphereWidget.h.

double vtkSphereWidget::HandlePosition[3]
protected

Definition at line 291 of file vtkSphereWidget.h.


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