MeshOptions Class

Class Summary

The purpose of this class is to manage the various parameters associated with the newly
added parts of the pipeline in MeshObject.  An instance of the class is generated in the GlobalState class.

It basically consists of a conglomeration of all the different options variables that are used by the 
three different stages of the pipeline to generate a MeshObject.  They are (performed in this order):

	Gaussian Smoothing
	Triangle Decimation
	Mesh Smoothing

All of the parameters' descriptions are well documented in the respective vtk headers / docs:

	vtkImageGaussianSmooth.h
	vtkDecimate.h
	vtkSmoothPolyDataFilter.h

We also store the 3 switch variables which determine which of the stages are run by the Mesh Generation.
They are:
	
	usegsmooth, usetridecimate, usemsmooth

When 1, MeshGenerate will run that stage of the pipeline with the parameters currently in the class instance.
When 0, MeshGenerate will skip the respective stage.

xx_T toggles the state of the stages (default to 1, or on).
getxx retrieves the current value of the stage option.

The different accessors/modifiers are best explained by the vtk header file or docs.
The names roughly self-document them.

All the setxx_xxxxxx() and getxx_xxxxxx() functions are the same in function / style.
The set returns 0 if the setting value fails the set's range checker (>0).  It is then set to default.
The set returns 1 if successful in setting/checking the new value.

Member function documentation

Member function listing/syntax

Pipeline Toggles

void GS_T()
void TD_T()
void MS_T()

Pipeline Indicators

int getGS()
int getTD()
int getMS()

Accessor/Modifier Functions - Gaussian Smoothing -> Parameters documented in vtkImageGaussianSmooth.h

float* getGS_SD() / int setGS_SD(float setting[])

Accessor/Modifier Functions - MeshSmoothing -> Parameters documented in vtkSmoothPolyDataFilter.h

float getMS_RelaxationFactor() / int setMS_RelaxationFactor(float setting)
int getMS_Iterations() / int setMS_Iterations(int setting);
float getMS_FeatureAngle() / int setMS_FeatureAngle(float setting);
int getMS_FeatureEdgeSmoothing() / void setMS_FeatureEdgeSmoothing_T(int setting);
int getMS_BoundarySmoothing() / void setMS_BoundarySmoothing_T(int setting);
float getMS_Convergence() / int setMS_Convergence(float setting);

Accessor/Modifier Functions - TriDecimate-> Parameters documented in vtkDecimate.h

float getTD_TargetReduction() / int setTD_TargetReduction(float setting)
float getTD_ErrorIncrement() / int setTD_ErrorIncrement(float setting)
float getTD_AspectRatio() / int setTD_AspectRatio(float setting)
float getTD_FeatureAngle() / int setTD_FeatureAngle(float setting)
int getTD_MaxIterations() / int setTD_MaxIterations(int setting)
int getTD_PreserveTopology() / void setTD_PreserveTopology_T(int setting)
float getTD_InitialError() / int setTD_InitialError(float setting)


Member function documentation/information

Pipeline Toggle Info (GS_T(), TD_T(), MS_T())
Function Toggles Enable/Disabling of Gaussian Smoothing, Triangle Decimation, or MeshSmoothing
Input None
Output None
Pre None
Post the variable use[gsmooth, tridecimate, msmooth] = 1 if 0, 0 if previously 1

Pipeline Indicators (getGS(), getTD(), getMS())
Function Gets status of Gaussian Smoothing, Triangle Decimation, or MeshSmoothing pipeline segments.
Input None
Output Returns the variable use[gsmooth, tridecimate, msmooth]
Pre None
Post None

Accessor/Modifier Functions - Gaussian Smoothing
Function Get/set the parameter as named
Input Set - the new value for this parameter
Output Set - returns 1 if valid parameter, Get returns the current value of the parameter of designated type
Pre Valid set of parameters
Post Valid set of parameters (default if invalid used to set)

Accessor/Modifier Functions - Mesh Smoothing
Function Get/set the parameter as named
Input Set - the new value for this parameter
Output Set - returns 1 if valid parameter, Get returns the current value of the parameter of designated type
Pre Valid set of parameters
Post Valid set of parameters (default if invalid used to set)

Accessor/Modifier Functions - Triangle Decimation
Function Get/set the parameter as named
Input Set - the new value for this parameter
Output Set - returns 1 if valid parameter, Get returns the current value of the parameter of designated type
Pre Valid set of parameters
Post Valid set of parameters (default if invalid used to set)

Class created by Amy Henderson & Ashraf Farrag, Spring 2000