VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkEllipticalButtonSource Class Reference

create a ellipsoidal-shaped button More...

#include <vtkEllipticalButtonSource.h>

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

List of all members.

Public Types

typedef vtkButtonSource Superclass

Public Member Functions

void PrintSelf (ostream &os, vtkIndent indent)
virtual int IsA (const char *type)
vtkEllipticalButtonSourceNewInstance () const
virtual void SetWidth (double)
virtual double GetWidth ()
virtual void SetHeight (double)
virtual double GetHeight ()
virtual void SetDepth (double)
virtual double GetDepth ()
virtual void SetCircumferentialResolution (int)
virtual int GetCircumferentialResolution ()
virtual void SetTextureResolution (int)
virtual int GetTextureResolution ()
virtual void SetShoulderResolution (int)
virtual int GetShoulderResolution ()
virtual void SetRadialRatio (double)
virtual double GetRadialRatio ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkEllipticalButtonSourceSafeDownCast (vtkObjectBase *o)
static vtkEllipticalButtonSourceNew ()

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkEllipticalButtonSource ()
 ~vtkEllipticalButtonSource ()
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)

Protected Attributes

double Width
double Height
double Depth
int CircumferentialResolution
int TextureResolution
int ShoulderResolution
double RadialRatio

Detailed Description

create a ellipsoidal-shaped button

vtkEllipticalButtonSource creates a ellipsoidal shaped button with texture coordinates suitable for application of a texture map. This provides a way to make nice looking 3D buttons. The buttons are represented as vtkPolyData that includes texture coordinates and normals. The button lies in the x-y plane.

To use this class you must define the major and minor axes lengths of an ellipsoid (expressed as width (x), height (y) and depth (z)). The button has a rectangular mesh region in the center with texture coordinates that range smoothly from (0,1). (This flat region is called the texture region.) The outer, curved portion of the button (called the shoulder) has texture coordinates set to a user specified value (by default (0,0). (This results in coloring the button curve the same color as the (s,t) location of the texture map.) The resolution in the radial direction, the texture region, and the shoulder region must also be set. The button can be moved by specifying an origin.

See also:
vtkButtonSource vtkRectangularButtonSource
Tests:
vtkEllipticalButtonSource (Tests)

Definition at line 52 of file vtkEllipticalButtonSource.h.


Member Typedef Documentation

Reimplemented from vtkButtonSource.

Definition at line 56 of file vtkEllipticalButtonSource.h.


Constructor & Destructor Documentation

Definition at line 114 of file vtkEllipticalButtonSource.h.


Member Function Documentation

void vtkEllipticalButtonSource::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 vtkButtonSource.

static int vtkEllipticalButtonSource::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkButtonSource.

virtual int vtkEllipticalButtonSource::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkButtonSource.

Reimplemented from vtkButtonSource.

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

Reimplemented from vtkButtonSource.

Reimplemented from vtkButtonSource.

Construct a circular button with depth 10% of its height.

Reimplemented from vtkPolyDataAlgorithm.

virtual void vtkEllipticalButtonSource::SetWidth ( double  ) [virtual]

Set/Get the width of the button (the x-ellipsoid axis length * 2).

Set/Get the width of the button (the x-ellipsoid axis length * 2).

virtual void vtkEllipticalButtonSource::SetHeight ( double  ) [virtual]

Set/Get the height of the button (the y-ellipsoid axis length * 2).

Set/Get the height of the button (the y-ellipsoid axis length * 2).

virtual void vtkEllipticalButtonSource::SetDepth ( double  ) [virtual]

Set/Get the depth of the button (the z-eliipsoid axis length).

Set/Get the depth of the button (the z-eliipsoid axis length).

Specify the resolution of the button in the circumferential direction.

Specify the resolution of the button in the circumferential direction.

Specify the resolution of the texture in the radial direction in the texture region.

Specify the resolution of the texture in the radial direction in the texture region.

Specify the resolution of the texture in the radial direction in the shoulder region.

Specify the resolution of the texture in the radial direction in the shoulder region.

virtual void vtkEllipticalButtonSource::SetRadialRatio ( double  ) [virtual]

Set/Get the radial ratio. This is the measure of the radius of the outer ellipsoid to the inner ellipsoid of the button. The outer ellipsoid is the boundary of the button defined by the height and width. The inner ellipsoid circumscribes the texture region. Larger RadialRatio's cause the button to be more rounded (and the texture region to be smaller); smaller ratios produce sharply curved shoulders with a larger texture region.

Set/Get the radial ratio. This is the measure of the radius of the outer ellipsoid to the inner ellipsoid of the button. The outer ellipsoid is the boundary of the button defined by the height and width. The inner ellipsoid circumscribes the texture region. Larger RadialRatio's cause the button to be more rounded (and the texture region to be smaller); smaller ratios produce sharply curved shoulders with a larger texture region.

int vtkEllipticalButtonSource::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkPolyDataAlgorithm.


Member Data Documentation

Definition at line 118 of file vtkEllipticalButtonSource.h.

Definition at line 119 of file vtkEllipticalButtonSource.h.

Definition at line 120 of file vtkEllipticalButtonSource.h.

Definition at line 121 of file vtkEllipticalButtonSource.h.

Definition at line 122 of file vtkEllipticalButtonSource.h.

Definition at line 123 of file vtkEllipticalButtonSource.h.

Definition at line 124 of file vtkEllipticalButtonSource.h.


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