#include <vtkSphereWidget.h>
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.
Definition at line 78 of file vtkSphereWidget.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) |
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 () |
Static Public Member Functions | |
static vtkSphereWidget * | New () |
static int | IsTypeOf (const char *type) |
static vtkSphereWidget * | SafeDownCast (vtkObject *o) |
Protected Types | |
enum | WidgetState { Start = 0, Moving, Scaling, Positioning, Outside } |
Protected Member Functions | |
vtkSphereWidget () | |
~vtkSphereWidget () | |
void | OnLeftButtonDown () |
void | OnLeftButtonUp () |
void | OnRightButtonDown () |
void | OnRightButtonUp () |
void | OnMouseMove () |
void | HighlightSphere (int highlight) |
void | SelectRepresentation () |
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 () |
Static Protected Member Functions | |
static void | ProcessEvents (vtkObject *object, unsigned long event, void *clientdata, void *calldata) |
Protected Attributes | |
int | State |
vtkActor * | SphereActor |
vtkPolyDataMapper * | SphereMapper |
vtkSphereSource * | SphereSource |
int | Representation |
vtkCellPicker * | Picker |
int | Translation |
int | Scale |
vtkProperty * | SphereProperty |
vtkProperty * | SelectedSphereProperty |
vtkProperty * | HandleProperty |
vtkProperty * | SelectedHandleProperty |
vtkActor * | HandleActor |
vtkPolyDataMapper * | HandleMapper |
vtkSphereSource * | HandleSource |
int | HandleVisibility |
double | HandleDirection [3] |
double | HandlePosition [3] |
enum vtkSphereWidget::WidgetState [protected] |
Definition at line 226 of file vtkSphereWidget.h.
vtkSphereWidget::vtkSphereWidget | ( | ) | [protected] |
vtkSphereWidget::~vtkSphereWidget | ( | ) | [protected] |
static vtkSphereWidget* vtkSphereWidget::New | ( | ) | [static] |
Instantiate the object.
Reimplemented from vtkObject.
virtual const char* vtkSphereWidget::GetClassName | ( | ) | [virtual] |
Reimplemented from vtk3DWidget.
static int vtkSphereWidget::IsTypeOf | ( | const char * | name | ) | [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 vtkSphereWidget::IsA | ( | const char * | name | ) | [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 vtkSphereWidget* vtkSphereWidget::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtk3DWidget.
void vtkSphereWidget::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 vtkSphereWidget::SetEnabled | ( | int | ) | [virtual] |
Methods that satisfy the superclass' API.
Reimplemented from vtkInteractorObserver.
virtual void vtkSphereWidget::PlaceWidget | ( | double | bounds[6] | ) | [virtual] |
Methods that satisfy the superclass' API.
Implements vtk3DWidget.
void vtkSphereWidget::PlaceWidget | ( | ) | [inline, virtual] |
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 | |||
) | [inline, virtual] |
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.
virtual int vtkSphereWidget::GetRepresentation | ( | ) | [virtual] |
Set the representation of the sphere. Different representations are useful depending on the application.
void vtkSphereWidget::SetRepresentationToOff | ( | ) | [inline] |
Set the representation of the sphere. Different representations are useful depending on the application.
Definition at line 103 of file vtkSphereWidget.h.
void vtkSphereWidget::SetRepresentationToWireframe | ( | ) | [inline] |
Set the representation of the sphere. Different representations are useful depending on the application.
Definition at line 105 of file vtkSphereWidget.h.
void vtkSphereWidget::SetRepresentationToSurface | ( | ) | [inline] |
Set the representation of the sphere. Different representations are useful depending on the application.
Definition at line 107 of file vtkSphereWidget.h.
void vtkSphereWidget::SetThetaResolution | ( | int | r | ) | [inline] |
Set/Get the resolution of the sphere in the Theta direction.
Definition at line 113 of file vtkSphereWidget.h.
int vtkSphereWidget::GetThetaResolution | ( | ) | [inline] |
Set/Get the resolution of the sphere in the Theta direction.
Definition at line 115 of file vtkSphereWidget.h.
void vtkSphereWidget::SetPhiResolution | ( | int | r | ) | [inline] |
Set/Get the resolution of the sphere in the Phi direction.
Definition at line 121 of file vtkSphereWidget.h.
int vtkSphereWidget::GetPhiResolution | ( | ) | [inline] |
Set/Get the resolution of the sphere in the Phi direction.
Definition at line 123 of file vtkSphereWidget.h.
void vtkSphereWidget::SetRadius | ( | double | r | ) | [inline] |
Set/Get the radius of sphere. Default is .5.
Definition at line 129 of file vtkSphereWidget.h.
double vtkSphereWidget::GetRadius | ( | ) | [inline] |
Set/Get the radius of sphere. Default is .5.
Definition at line 137 of file vtkSphereWidget.h.
void vtkSphereWidget::SetCenter | ( | double | x, | |
double | y, | |||
double | z | |||
) | [inline] |
Set/Get the center of the sphere.
Definition at line 143 of file vtkSphereWidget.h.
void vtkSphereWidget::SetCenter | ( | double | x[3] | ) | [inline] |
Set/Get the center of the sphere.
Definition at line 147 of file vtkSphereWidget.h.
double* vtkSphereWidget::GetCenter | ( | ) | [inline] |
Set/Get the center of the sphere.
Definition at line 151 of file vtkSphereWidget.h.
void vtkSphereWidget::GetCenter | ( | double | xyz[3] | ) | [inline] |
Set/Get the center of the sphere.
Definition at line 153 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 | |||
) | [static, protected] |
Handles the char widget activation event. Also handles the delete event.
Reimplemented from vtkInteractorObserver.
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] |
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 | ( | ) | [protected, virtual] |
Reimplemented from vtk3DWidget.
int vtkSphereWidget::State [protected] |
Definition at line 225 of file vtkSphereWidget.h.
vtkActor* vtkSphereWidget::SphereActor [protected] |
Definition at line 250 of file vtkSphereWidget.h.
vtkPolyDataMapper* vtkSphereWidget::SphereMapper [protected] |
Definition at line 251 of file vtkSphereWidget.h.
vtkSphereSource* vtkSphereWidget::SphereSource [protected] |
Definition at line 252 of file vtkSphereWidget.h.
int vtkSphereWidget::Representation [protected] |
Definition at line 257 of file vtkSphereWidget.h.
vtkCellPicker* vtkSphereWidget::Picker [protected] |
Definition at line 260 of file vtkSphereWidget.h.
int vtkSphereWidget::Translation [protected] |
Definition at line 263 of file vtkSphereWidget.h.
int vtkSphereWidget::Scale [protected] |
Definition at line 264 of file vtkSphereWidget.h.
vtkProperty* vtkSphereWidget::SphereProperty [protected] |
Definition at line 272 of file vtkSphereWidget.h.
vtkProperty* vtkSphereWidget::SelectedSphereProperty [protected] |
Definition at line 273 of file vtkSphereWidget.h.
vtkProperty* vtkSphereWidget::HandleProperty [protected] |
Definition at line 274 of file vtkSphereWidget.h.
vtkProperty* vtkSphereWidget::SelectedHandleProperty [protected] |
Definition at line 275 of file vtkSphereWidget.h.
vtkActor* vtkSphereWidget::HandleActor [protected] |
Definition at line 279 of file vtkSphereWidget.h.
vtkPolyDataMapper* vtkSphereWidget::HandleMapper [protected] |
Definition at line 280 of file vtkSphereWidget.h.
vtkSphereSource* vtkSphereWidget::HandleSource [protected] |
Definition at line 281 of file vtkSphereWidget.h.
int vtkSphereWidget::HandleVisibility [protected] |
Definition at line 283 of file vtkSphereWidget.h.
double vtkSphereWidget::HandleDirection[3] [protected] |
Definition at line 284 of file vtkSphereWidget.h.
double vtkSphereWidget::HandlePosition[3] [protected] |
Definition at line 285 of file vtkSphereWidget.h.