vtkSphereRepresentation Class Reference

#include <vtkSphereRepresentation.h>

Inheritance diagram for vtkSphereRepresentation:

Inheritance graph
[legend]
Collaboration diagram for vtkSphereRepresentation:

Collaboration graph
[legend]

List of all members.


Detailed Description

a class defining the representation for the vtkSphereWidget2

This class is a concrete representation for the vtkSphereWidget2. It represents a sphere with an optional handle. Through interaction with the widget, the sphere can be arbitrarily positioned and scaled in 3D space; and the handle can be moved on the surface of the sphere. Typically the vtkSphereWidget2/vtkSphereRepresentation are used to position a sphere for the purpose of extracting, cutting or clipping data; or the handle is moved on the sphere to position a light or camera.

To use this representation, you normally use the PlaceWidget() method to position the widget at a specified region in space. It is also possible to set the center of the sphere, a radius, and/or a handle position.

Warning:
Note that the representation is overconstrained in that the center and radius of the sphere can be defined, this information plus the handle direction defines the geometry of the representation. Alternatively, the user may specify the center of the sphere plus the handle position.

This class, and vtkSphereWidget2, are second generation VTK widgets. An earlier version of this functionality was defined in the class vtkSphereWidget.

See also:
vtkSphereWidget2 vtkSphereWidget
Tests:
vtkSphereRepresentation (Tests)

Definition at line 75 of file vtkSphereRepresentation.h.

typedef vtkWidgetRepresentation Superclass
static int IsTypeOf (const char *type)
static vtkSphereRepresentationSafeDownCast (vtkObject *o)
virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)

Public Types

enum  {
  Outside = 0, MovingHandle, OnSphere, Translating,
  Scaling
}

Public Member Functions

void GetPolyData (vtkPolyData *pd)
void GetSphere (vtkSphere *sphere)
void SetInteractionState (int state)
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 SetCenter (double c[3])
void SetCenter (double x, double y, double z)
double * GetCenter ()
void GetCenter (double xyz[3])
void SetRadius (double r)
double GetRadius ()
virtual void SetHandleVisibility (int)
virtual int GetHandleVisibility ()
virtual void HandleVisibilityOn ()
virtual void HandleVisibilityOff ()
void SetHandlePosition (double handle[3])
void SetHandlePosition (double x, double y, double z)
virtual double * GetHandlePosition ()
virtual void GetHandlePosition (double &, double &, double &)
virtual void GetHandlePosition (double[3])
void SetHandleDirection (double dir[3])
void SetHandleDirection (double dx, double dy, double dz)
virtual double * GetHandleDirection ()
virtual void GetHandleDirection (double &, double &, double &)
virtual void GetHandleDirection (double[3])
virtual void SetHandleText (int)
virtual int GetHandleText ()
virtual void HandleTextOn ()
virtual void HandleTextOff ()
virtual void SetRadialLine (int)
virtual int GetRadialLine ()
virtual void RadialLineOn ()
virtual void RadialLineOff ()
virtual vtkPropertyGetSphereProperty ()
virtual vtkPropertyGetSelectedSphereProperty ()
virtual vtkPropertyGetHandleProperty ()
virtual vtkPropertyGetSelectedHandleProperty ()
virtual vtkTextPropertyGetHandleTextProperty ()
virtual vtkPropertyGetRadialLineProperty ()
virtual void PlaceWidget (double bounds[6])
virtual void PlaceWidget (double center[3], double handlePosition[3])
virtual void BuildRepresentation ()
virtual int ComputeInteractionState (int X, int Y, int modify=0)
virtual void StartWidgetInteraction (double e[2])
virtual void WidgetInteraction (double e[2])
virtual double * GetBounds ()
virtual void ReleaseGraphicsResources (vtkWindow *)
virtual int RenderOpaqueGeometry (vtkViewport *)
virtual int RenderTranslucentPolygonalGeometry (vtkViewport *)
virtual int RenderOverlay (vtkViewport *)
virtual int HasTranslucentPolygonalGeometry ()

Static Public Member Functions

static vtkSphereRepresentationNew ()

Protected Member Functions

 vtkSphereRepresentation ()
 ~vtkSphereRepresentation ()
void HighlightSphere (int highlight)
void Translate (double *p1, double *p2)
void Scale (double *p1, double *p2, int X, int Y)
void PlaceHandle (double *center, double radius)
virtual void SizeHandles ()
void CreateDefaultProperties ()
void HighlightHandle (int)

Protected Attributes

double LastEventPosition [3]
vtkActorSphereActor
vtkPolyDataMapperSphereMapper
vtkSphereSourceSphereSource
int Representation
vtkCellPickerHandlePicker
vtkCellPickerSpherePicker
double LastPickPosition [3]
vtkPropertySphereProperty
vtkPropertySelectedSphereProperty
vtkPropertyHandleProperty
vtkPropertySelectedHandleProperty
vtkActorHandleActor
vtkPolyDataMapperHandleMapper
vtkSphereSourceHandleSource
int HandleVisibility
double HandleDirection [3]
double HandlePosition [3]
int HandleText
vtkTextPropertyHandleTextProperty
vtkTextMapperHandleTextMapper
vtkActor2DHandleTextActor
int RadialLine
vtkPropertyRadialLineProperty
vtkLineSourceRadialLineSource
vtkPolyDataMapperRadialLineMapper
vtkActorRadialLineActor

Member Typedef Documentation

Standard methods for type information and to print out the contents of the class.

Reimplemented from vtkWidgetRepresentation.

Definition at line 84 of file vtkSphereRepresentation.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
Outside 
MovingHandle 
OnSphere 
Translating 
Scaling 

Definition at line 89 of file vtkSphereRepresentation.h.


Constructor & Destructor Documentation

vtkSphereRepresentation::vtkSphereRepresentation (  )  [protected]

vtkSphereRepresentation::~vtkSphereRepresentation (  )  [protected]


Member Function Documentation

static vtkSphereRepresentation* vtkSphereRepresentation::New (  )  [static]

Instantiate the class.

Reimplemented from vtkObject.

virtual const char* vtkSphereRepresentation::GetClassName (  )  [virtual]

Standard methods for type information and to print out the contents of the class.

Reimplemented from vtkWidgetRepresentation.

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

Standard methods for type information and to print out the contents of the class.

Reimplemented from vtkWidgetRepresentation.

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

Standard methods for type information and to print out the contents of the class.

Reimplemented from vtkWidgetRepresentation.

static vtkSphereRepresentation* vtkSphereRepresentation::SafeDownCast ( vtkObject o  )  [static]

Standard methods for type information and to print out the contents of the class.

Reimplemented from vtkWidgetRepresentation.

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

Standard methods for type information and to print out the contents of the class.

Reimplemented from vtkWidgetRepresentation.

virtual void vtkSphereRepresentation::SetRepresentation ( int   )  [virtual]

Set the representation (i.e., appearance) of the sphere. Different representations are useful depending on the application.

virtual int vtkSphereRepresentation::GetRepresentation (  )  [virtual]

Set the representation (i.e., appearance) of the sphere. Different representations are useful depending on the application.

void vtkSphereRepresentation::SetRepresentationToOff (  )  [inline]

Set the representation (i.e., appearance) of the sphere. Different representations are useful depending on the application.

Definition at line 97 of file vtkSphereRepresentation.h.

void vtkSphereRepresentation::SetRepresentationToWireframe (  )  [inline]

Set the representation (i.e., appearance) of the sphere. Different representations are useful depending on the application.

Definition at line 99 of file vtkSphereRepresentation.h.

void vtkSphereRepresentation::SetRepresentationToSurface (  )  [inline]

Set the representation (i.e., appearance) of the sphere. Different representations are useful depending on the application.

Definition at line 101 of file vtkSphereRepresentation.h.

void vtkSphereRepresentation::SetThetaResolution ( int  r  )  [inline]

Set/Get the resolution of the sphere in the theta direction.

Definition at line 107 of file vtkSphereRepresentation.h.

int vtkSphereRepresentation::GetThetaResolution (  )  [inline]

Set/Get the resolution of the sphere in the theta direction.

Definition at line 109 of file vtkSphereRepresentation.h.

void vtkSphereRepresentation::SetPhiResolution ( int  r  )  [inline]

Set/Get the resolution of the sphere in the phi direction.

Definition at line 115 of file vtkSphereRepresentation.h.

int vtkSphereRepresentation::GetPhiResolution (  )  [inline]

Set/Get the resolution of the sphere in the phi direction.

Definition at line 117 of file vtkSphereRepresentation.h.

void vtkSphereRepresentation::SetCenter ( double  c[3]  ) 

Set/Get the center position of the sphere. Note that this may adjust the direction from the handle to the center, as well as the radius of the sphere.

void vtkSphereRepresentation::SetCenter ( double  x,
double  y,
double  z 
) [inline]

Set/Get the center position of the sphere. Note that this may adjust the direction from the handle to the center, as well as the radius of the sphere.

Definition at line 126 of file vtkSphereRepresentation.h.

double* vtkSphereRepresentation::GetCenter (  )  [inline]

Set/Get the center position of the sphere. Note that this may adjust the direction from the handle to the center, as well as the radius of the sphere.

Definition at line 128 of file vtkSphereRepresentation.h.

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

Set/Get the center position of the sphere. Note that this may adjust the direction from the handle to the center, as well as the radius of the sphere.

Definition at line 130 of file vtkSphereRepresentation.h.

void vtkSphereRepresentation::SetRadius ( double  r  ) 

Set/Get the radius of sphere. Default is 0.5. Note that this may modify the position of the handle based on the handle direction.

double vtkSphereRepresentation::GetRadius (  )  [inline]

Set/Get the radius of sphere. Default is 0.5. Note that this may modify the position of the handle based on the handle direction.

Definition at line 138 of file vtkSphereRepresentation.h.

virtual void vtkSphereRepresentation::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 vtkSphereRepresentation::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 vtkSphereRepresentation::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 vtkSphereRepresentation::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.

void vtkSphereRepresentation::SetHandlePosition ( double  handle[3]  ) 

Set/Get the position of the handle. Note that this may adjust the radius of the sphere and the handle direction.

void vtkSphereRepresentation::SetHandlePosition ( double  x,
double  y,
double  z 
) [inline]

Set/Get the position of the handle. Note that this may adjust the radius of the sphere and the handle direction.

Definition at line 156 of file vtkSphereRepresentation.h.

virtual double* vtkSphereRepresentation::GetHandlePosition (  )  [virtual]

Set/Get the position of the handle. Note that this may adjust the radius of the sphere and the handle direction.

virtual void vtkSphereRepresentation::GetHandlePosition ( double &  ,
double &  ,
double &   
) [virtual]

Set/Get the position of the handle. Note that this may adjust the radius of the sphere and the handle direction.

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

Set/Get the position of the handle. Note that this may adjust the radius of the sphere and the handle direction.

void vtkSphereRepresentation::SetHandleDirection ( double  dir[3]  ) 

Set/Get the direction vector of the handle relative to the center of the sphere. This may affect the position of the handle and the radius of the sphere.

void vtkSphereRepresentation::SetHandleDirection ( double  dx,
double  dy,
double  dz 
) [inline]

Set/Get the direction vector of the handle relative to the center of the sphere. This may affect the position of the handle and the radius of the sphere.

Definition at line 166 of file vtkSphereRepresentation.h.

virtual double* vtkSphereRepresentation::GetHandleDirection (  )  [virtual]

Set/Get the direction vector of the handle relative to the center of the sphere. This may affect the position of the handle and the radius of the sphere.

virtual void vtkSphereRepresentation::GetHandleDirection ( double &  ,
double &  ,
double &   
) [virtual]

Set/Get the direction vector of the handle relative to the center of the sphere. This may affect the position of the handle and the radius of the sphere.

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

Set/Get the direction vector of the handle relative to the center of the sphere. This may affect the position of the handle and the radius of the sphere.

virtual void vtkSphereRepresentation::SetHandleText ( int   )  [virtual]

Enable/disable a label that displays the location of the handle in spherical coordinates (radius,theta,phi). The two angles, theta and phi, are displayed in degrees. Note that phi is measured from the north pole down towards the equator; and theta is the angle around the north/south axis.

virtual int vtkSphereRepresentation::GetHandleText (  )  [virtual]

Enable/disable a label that displays the location of the handle in spherical coordinates (radius,theta,phi). The two angles, theta and phi, are displayed in degrees. Note that phi is measured from the north pole down towards the equator; and theta is the angle around the north/south axis.

virtual void vtkSphereRepresentation::HandleTextOn (  )  [virtual]

Enable/disable a label that displays the location of the handle in spherical coordinates (radius,theta,phi). The two angles, theta and phi, are displayed in degrees. Note that phi is measured from the north pole down towards the equator; and theta is the angle around the north/south axis.

virtual void vtkSphereRepresentation::HandleTextOff (  )  [virtual]

Enable/disable a label that displays the location of the handle in spherical coordinates (radius,theta,phi). The two angles, theta and phi, are displayed in degrees. Note that phi is measured from the north pole down towards the equator; and theta is the angle around the north/south axis.

virtual void vtkSphereRepresentation::SetRadialLine ( int   )  [virtual]

Enable/disable a radial line segment that joins the center of the outer sphere and the handle.

virtual int vtkSphereRepresentation::GetRadialLine (  )  [virtual]

Enable/disable a radial line segment that joins the center of the outer sphere and the handle.

virtual void vtkSphereRepresentation::RadialLineOn (  )  [virtual]

Enable/disable a radial line segment that joins the center of the outer sphere and the handle.

virtual void vtkSphereRepresentation::RadialLineOff (  )  [virtual]

Enable/disable a radial line segment that joins the center of the outer sphere and the handle.

void vtkSphereRepresentation::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 vtkSphereRepresentation::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* vtkSphereRepresentation::GetSphereProperty (  )  [virtual]

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

virtual vtkProperty* vtkSphereRepresentation::GetSelectedSphereProperty (  )  [virtual]

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

virtual vtkProperty* vtkSphereRepresentation::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* vtkSphereRepresentation::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.

virtual vtkTextProperty* vtkSphereRepresentation::GetHandleTextProperty (  )  [virtual]

Get the handle text property. This can be used to control the appearance of the handle text.

virtual vtkProperty* vtkSphereRepresentation::GetRadialLineProperty (  )  [virtual]

Get the property of the radial line. This can be used to control the appearance of the optional line connecting the center to the handle.

void vtkSphereRepresentation::SetInteractionState ( int  state  ) 

The interaction state may be set from a widget (e.g., vtkSphereWidget2) or other object. This controls how the interaction with the widget proceeds. Normally this method is used as part of a handshaking process with the widget: First ComputeInteractionState() is invoked that returns a state based on geometric considerations (i.e., cursor near a widget feature), then based on events, the widget may modify this further.

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

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

virtual void vtkSphereRepresentation::PlaceWidget ( double  center[3],
double  handlePosition[3] 
) [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

virtual void vtkSphereRepresentation::BuildRepresentation (  )  [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Implements vtkWidgetRepresentation.

virtual int vtkSphereRepresentation::ComputeInteractionState ( int  X,
int  Y,
int  modify = 0 
) [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

virtual void vtkSphereRepresentation::StartWidgetInteraction ( double  e[2]  )  [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

virtual void vtkSphereRepresentation::WidgetInteraction ( double  e[2]  )  [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

virtual double* vtkSphereRepresentation::GetBounds (  )  [virtual]

These are methods that satisfy vtkWidgetRepresentation's API. Note that a version of place widget is available where the center and handle position are specified.

Reimplemented from vtkWidgetRepresentation.

virtual void vtkSphereRepresentation::ReleaseGraphicsResources ( vtkWindow  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkWidgetRepresentation.

virtual int vtkSphereRepresentation::RenderOpaqueGeometry ( vtkViewport  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

virtual int vtkSphereRepresentation::RenderTranslucentPolygonalGeometry ( vtkViewport  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

virtual int vtkSphereRepresentation::RenderOverlay ( vtkViewport  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkProp.

virtual int vtkSphereRepresentation::HasTranslucentPolygonalGeometry (  )  [virtual]

Methods supporting, and required by, the rendering process.

Reimplemented from vtkWidgetRepresentation.

void vtkSphereRepresentation::HighlightSphere ( int  highlight  )  [protected]

void vtkSphereRepresentation::Translate ( double *  p1,
double *  p2 
) [protected]

void vtkSphereRepresentation::Scale ( double *  p1,
double *  p2,
int  X,
int  Y 
) [protected]

void vtkSphereRepresentation::PlaceHandle ( double *  center,
double  radius 
) [protected]

virtual void vtkSphereRepresentation::SizeHandles (  )  [protected, virtual]

void vtkSphereRepresentation::CreateDefaultProperties (  )  [protected]

void vtkSphereRepresentation::HighlightHandle ( int   )  [protected]


Member Data Documentation

Definition at line 267 of file vtkSphereRepresentation.h.

Definition at line 270 of file vtkSphereRepresentation.h.

Definition at line 271 of file vtkSphereRepresentation.h.

Definition at line 272 of file vtkSphereRepresentation.h.

Definition at line 276 of file vtkSphereRepresentation.h.

Definition at line 279 of file vtkSphereRepresentation.h.

Definition at line 280 of file vtkSphereRepresentation.h.

Definition at line 281 of file vtkSphereRepresentation.h.

Definition at line 291 of file vtkSphereRepresentation.h.

Definition at line 292 of file vtkSphereRepresentation.h.

Definition at line 293 of file vtkSphereRepresentation.h.

Definition at line 294 of file vtkSphereRepresentation.h.

Definition at line 298 of file vtkSphereRepresentation.h.

Definition at line 299 of file vtkSphereRepresentation.h.

Definition at line 300 of file vtkSphereRepresentation.h.

Definition at line 302 of file vtkSphereRepresentation.h.

Definition at line 303 of file vtkSphereRepresentation.h.

Definition at line 304 of file vtkSphereRepresentation.h.

Definition at line 307 of file vtkSphereRepresentation.h.

Definition at line 308 of file vtkSphereRepresentation.h.

Definition at line 309 of file vtkSphereRepresentation.h.

Definition at line 310 of file vtkSphereRepresentation.h.

Definition at line 313 of file vtkSphereRepresentation.h.

Definition at line 314 of file vtkSphereRepresentation.h.

Definition at line 315 of file vtkSphereRepresentation.h.

Definition at line 316 of file vtkSphereRepresentation.h.

Definition at line 317 of file vtkSphereRepresentation.h.


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

Generated on Sat Dec 27 13:50:39 2008 for VTK by  doxygen 1.5.6