#include <HermiteAppS.h>
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. |
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.
Go::HermiteAppS::HermiteAppS | ( | EvalCurveSet * | surface, | |
double | tolerance1, | |||
double | tolerance2, | |||
std::vector< int > | dims | |||
) |
Constructor where the tolerances and the curves to approximate are specified.
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.
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. |
std::vector<boost::shared_ptr<SplineCurve> > Go::HermiteAppS::getCurves | ( | ) |
Return the cubic spline curves intepolating the grid (ie.
approximating the original curve set).