Go::HermiteAppS Class Reference
['geometry' - a spline library]

This class is used to generate a set of SplineCurves from a EvalCurveSet (which itself represents a set of related curves) using Hermiet interpolation. More...

#include <HermiteAppS.h>

List of all members.

Public Member Functions

 HermiteAppS (EvalCurveSet *surface, double tolerance1, double tolerance2, std::vector< int > dims)
 Constructor where the tolerances and the curves to approximate are specified.
 HermiteAppS (EvalCurveSet *surface, double initpars[], int n, double tolerance1, double tolerance2, std::vector< int > dims)
 Constructor where the tolerances and the curve set to approximate are specified, as well as the parameters where they should be sampled prior to the Hermite interpolation.
 ~HermiteAppS ()
 Empty destructor.
void refineApproximation ()
 Refine the internal sampling of the curves such that the Hermite interpolated curves parametrically approximates the original curve within a specified tolerance.
std::vector< boost::shared_ptr<
SplineCurve > > 
getCurves ()
 Return the cubic spline curves intepolating the grid (ie.


Detailed Description

This class is used to generate a set of SplineCurves from a EvalCurveSet (which itself represents a set of related curves) using Hermiet interpolation.

The generated curves will approximate those defined by the EvalCurveSet within specified tolerances. This class is really a generalization of HermiteAppC.

Definition at line 52 of file HermiteAppS.h.


Constructor & Destructor Documentation

Go::HermiteAppS::HermiteAppS ( EvalCurveSet surface,
double  tolerance1,
double  tolerance2,
std::vector< int >  dims 
)

Constructor where the tolerances and the curves to approximate are specified.

Parameters:
surface the curve set that we want to approximate by Hermite interpolation of sampled values.
tolerance1 the required geometrical accuracy of approximation
tolerance2 another tolerance, used for some kinds of EvalCurveSets.
dims vector that specifies the spatial dimensions of the curves contained in the EvalCurveSet. The size of the vector should be equal to the total number of curves in 'surf', ie. the return value of its EvalCurveSet::nmbCvs() function.

Go::HermiteAppS::HermiteAppS ( EvalCurveSet surface,
double  initpars[],
int  n,
double  tolerance1,
double  tolerance2,
std::vector< int >  dims 
)

Constructor where the tolerances and the curve set to approximate are specified, as well as the parameters where they should be sampled prior to the Hermite interpolation.

Parameters:
surface the curve set that we want to approximate by Hermite interpolation of sampled values.
initpars pointer to the array of parameter values for which we will sample the input curves.
n number of parameter values in the array 'initpars[]'.
tolerance1 the required geometrical accuracy of approximation
tolerance2 another tolerance, used for some kinds of EvalCurveSets.
dims vector that specifies the spatial dimensions of the curves contained in the EvalCurveSet. The size of the vector should be equal to the total number of curves in 'surf', ie. the return value of its EvalCurveSet::nmbCvs() function.


Member Function Documentation

std::vector<boost::shared_ptr<SplineCurve> > Go::HermiteAppS::getCurves (  ) 

Return the cubic spline curves intepolating the grid (ie.

approximating the original curve set).

Returns:
a vector containing shared pointers to the newly created spline curves that Hermite interpolate the sampled points of the EvalCurveSet (curve set) specified in the constructor.


The documentation for this class was generated from the following file:
Generated on Mon Jun 11 14:48:18 2007 for GoTools Core Library by  doxygen 1.5.1