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

create a ellipsoidal-shaped button More...

#include <vtkEllipticalButtonSource.h>

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

Public Types

typedef vtkButtonSource Superclass
 
- Public Types inherited from vtkButtonSource
typedef vtkPolyDataAlgorithm 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 ()
 
- Public Member Functions inherited from vtkButtonSource
void PrintSelf (ostream &os, vtkIndent indent)
 
vtkButtonSourceNewInstance () const
 
virtual void SetCenter (double, double, double)
 
virtual void SetCenter (double[3])
 
virtual double * GetCenter ()
 
virtual void GetCenter (double data[3])
 
virtual void SetTextureStyle (int)
 
virtual int GetTextureStyle ()
 
void SetTextureStyleToFitImage ()
 
void SetTextureStyleToProportional ()
 
virtual void SetTextureDimensions (int, int)
 
void SetTextureDimensions (int[2])
 
virtual int * GetTextureDimensions ()
 
virtual void GetTextureDimensions (int &, int &)
 
virtual void GetTextureDimensions (int[2])
 
virtual void SetShoulderTextureCoordinate (double, double)
 
void SetShoulderTextureCoordinate (double[2])
 
virtual double * GetShoulderTextureCoordinate ()
 
virtual void GetShoulderTextureCoordinate (double &, double &)
 
virtual void GetShoulderTextureCoordinate (double[2])
 
virtual void SetTwoSided (int)
 
virtual int GetTwoSided ()
 
virtual void TwoSidedOn ()
 
virtual void TwoSidedOff ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkEllipticalButtonSourceSafeDownCast (vtkObjectBase *o)
 
static vtkEllipticalButtonSourceNew ()
 
- Static Public Member Functions inherited from vtkButtonSource
static int IsTypeOf (const char *type)
 
static vtkButtonSourceSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkEllipticalButtonSource ()
 
 ~vtkEllipticalButtonSource ()
 
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
- Protected Member Functions inherited from vtkButtonSource
 vtkButtonSource ()
 
 ~vtkButtonSource ()
 

Protected Attributes

double Width
 
double Height
 
double Depth
 
int CircumferentialResolution
 
int TextureResolution
 
int ShoulderResolution
 
double RadialRatio
 
- Protected Attributes inherited from vtkButtonSource
double Center [3]
 
double ShoulderTextureCoordinate [2]
 
int TextureStyle
 
int TextureDimensions [2]
 
int TwoSided
 

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

Definition at line 56 of file vtkEllipticalButtonSource.h.

Constructor & Destructor Documentation

vtkEllipticalButtonSource::vtkEllipticalButtonSource ( )
protected
vtkEllipticalButtonSource::~vtkEllipticalButtonSource ( )
inlineprotected

Definition at line 114 of file vtkEllipticalButtonSource.h.

Member Function Documentation

void vtkEllipticalButtonSource::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
static int vtkEllipticalButtonSource::IsTypeOf ( const char *  type)
static
virtual int vtkEllipticalButtonSource::IsA ( const char *  type)
virtual

Reimplemented from vtkButtonSource.

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

Reimplemented from vtkButtonSource.

vtkEllipticalButtonSource* vtkEllipticalButtonSource::NewInstance ( ) const
static vtkEllipticalButtonSource* vtkEllipticalButtonSource::New ( )
static

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

virtual void vtkEllipticalButtonSource::SetWidth ( double  )
virtual

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

virtual double vtkEllipticalButtonSource::GetWidth ( )
virtual

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).

virtual double vtkEllipticalButtonSource::GetHeight ( )
virtual

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).

virtual double vtkEllipticalButtonSource::GetDepth ( )
virtual

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

virtual void vtkEllipticalButtonSource::SetCircumferentialResolution ( int  )
virtual

Specify the resolution of the button in the circumferential direction.

virtual int vtkEllipticalButtonSource::GetCircumferentialResolution ( )
virtual

Specify the resolution of the button in the circumferential direction.

virtual void vtkEllipticalButtonSource::SetTextureResolution ( int  )
virtual

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

virtual int vtkEllipticalButtonSource::GetTextureResolution ( )
virtual

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

virtual void vtkEllipticalButtonSource::SetShoulderResolution ( int  )
virtual

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

virtual int vtkEllipticalButtonSource::GetShoulderResolution ( )
virtual

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.

virtual double vtkEllipticalButtonSource::GetRadialRatio ( )
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.

int vtkEllipticalButtonSource::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protected

Member Data Documentation

double vtkEllipticalButtonSource::Width
protected

Definition at line 118 of file vtkEllipticalButtonSource.h.

double vtkEllipticalButtonSource::Height
protected

Definition at line 119 of file vtkEllipticalButtonSource.h.

double vtkEllipticalButtonSource::Depth
protected

Definition at line 120 of file vtkEllipticalButtonSource.h.

int vtkEllipticalButtonSource::CircumferentialResolution
protected

Definition at line 121 of file vtkEllipticalButtonSource.h.

int vtkEllipticalButtonSource::TextureResolution
protected

Definition at line 122 of file vtkEllipticalButtonSource.h.

int vtkEllipticalButtonSource::ShoulderResolution
protected

Definition at line 123 of file vtkEllipticalButtonSource.h.

double vtkEllipticalButtonSource::RadialRatio
protected

Definition at line 124 of file vtkEllipticalButtonSource.h.


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