#include <vtkEllipticalButtonSource.h>
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.
Definition at line 51 of file vtkEllipticalButtonSource.h.
Public Types | |
typedef vtkButtonSource | Superclass |
Public Member Functions | |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
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 vtkEllipticalButtonSource * | SafeDownCast (vtkObject *o) |
static vtkEllipticalButtonSource * | New () |
Protected Member Functions | |
vtkEllipticalButtonSource () | |
~vtkEllipticalButtonSource () | |
int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
Protected Attributes | |
double | Width |
double | Height |
double | Depth |
int | CircumferentialResolution |
int | TextureResolution |
int | ShoulderResolution |
double | RadialRatio |
vtkEllipticalButtonSource::vtkEllipticalButtonSource | ( | ) | [protected] |
vtkEllipticalButtonSource::~vtkEllipticalButtonSource | ( | ) | [inline, protected] |
Definition at line 113 of file vtkEllipticalButtonSource.h.
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.
virtual const char* vtkEllipticalButtonSource::GetClassName | ( | ) | [virtual] |
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 vtkTypeRevisionMacro 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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkButtonSource.
static vtkEllipticalButtonSource* vtkEllipticalButtonSource::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkButtonSource.
static vtkEllipticalButtonSource* vtkEllipticalButtonSource::New | ( | ) | [static] |
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).
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 * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
double vtkEllipticalButtonSource::Width [protected] |
Definition at line 117 of file vtkEllipticalButtonSource.h.
double vtkEllipticalButtonSource::Height [protected] |
Definition at line 118 of file vtkEllipticalButtonSource.h.
double vtkEllipticalButtonSource::Depth [protected] |
Definition at line 119 of file vtkEllipticalButtonSource.h.
int vtkEllipticalButtonSource::CircumferentialResolution [protected] |
Definition at line 120 of file vtkEllipticalButtonSource.h.
int vtkEllipticalButtonSource::TextureResolution [protected] |
Definition at line 121 of file vtkEllipticalButtonSource.h.
int vtkEllipticalButtonSource::ShoulderResolution [protected] |
Definition at line 122 of file vtkEllipticalButtonSource.h.
double vtkEllipticalButtonSource::RadialRatio [protected] |
Definition at line 123 of file vtkEllipticalButtonSource.h.