A curve fitter using cubic splines. More...
#include <qwt_curve_fitter.h>
Classes | |
class | PrivateData |
Public Types | |
enum | FitMode { Auto, Spline, ParametricSpline } |
Public Member Functions | |
QwtSplineCurveFitter () | |
Constructor. | |
virtual | ~QwtSplineCurveFitter () |
Destructor. | |
void | setFitMode (FitMode) |
FitMode | fitMode () const |
void | setSpline (const QwtSpline &) |
const QwtSpline & | spline () const |
QwtSpline & | spline () |
void | setSplineSize (int size) |
int | splineSize () const |
virtual QMemArray< QwtDoublePoint > | fitCurve (const QMemArray< QwtDoublePoint > &) const |
A curve fitter using cubic splines.
Definition at line 71 of file qwt_curve_fitter.h.
Definition at line 74 of file qwt_curve_fitter.h.
{ Auto, Spline, ParametricSpline };
QwtSplineCurveFitter::QwtSplineCurveFitter | ( | ) |
QwtSplineCurveFitter::~QwtSplineCurveFitter | ( | ) | [virtual] |
QMemArray< QwtDoublePoint > QwtSplineCurveFitter::fitCurve | ( | const QMemArray< QwtDoublePoint > & | points ) | const [virtual] |
Find a curve which has the best fit to a series of data points
points | Series of data points |
Implements QwtCurveFitter.
Definition at line 103 of file qwt_curve_fitter.cpp.
References int().
{ const int size = (int)points.size(); if ( size <= 2 ) return points; FitMode fitMode = d_data->fitMode; if ( fitMode == Auto ) { fitMode = Spline; const QwtDoublePoint *p = points.data(); for ( int i = 1; i < size; i++ ) { if ( p[i].x() <= p[i-1].x() ) { fitMode = ParametricSpline; break; } }; } if ( fitMode == ParametricSpline ) return fitParametric(points); else return fitSpline(points); }
QwtSplineCurveFitter::FitMode QwtSplineCurveFitter::fitMode | ( | ) | const |
Definition at line 65 of file qwt_curve_fitter.cpp.
References QwtSplineCurveFitter::PrivateData::fitMode.
{ return d_data->fitMode; }
void QwtSplineCurveFitter::setFitMode | ( | FitMode | mode ) |
Select the algorithm used for building the spline
mode | Mode representing a spline algorithm |
Definition at line 56 of file qwt_curve_fitter.cpp.
References QwtSplineCurveFitter::PrivateData::fitMode.
{ d_data->fitMode = mode; }
void QwtSplineCurveFitter::setSpline | ( | const QwtSpline & | spline ) |
Definition at line 70 of file qwt_curve_fitter.cpp.
References QwtSpline::reset(), spline(), and QwtSplineCurveFitter::PrivateData::spline.
void QwtSplineCurveFitter::setSplineSize | ( | int | size ) |
Definition at line 86 of file qwt_curve_fitter.cpp.
References qwtMax, and QwtSplineCurveFitter::PrivateData::splineSize.
{ d_data->splineSize = qwtMax(splineSize, 10); }
const QwtSpline & QwtSplineCurveFitter::spline | ( | ) | const |
Definition at line 76 of file qwt_curve_fitter.cpp.
References QwtSplineCurveFitter::PrivateData::spline.
Referenced by setSpline().
{ return d_data->spline; }
QwtSpline & QwtSplineCurveFitter::spline | ( | ) |
Definition at line 81 of file qwt_curve_fitter.cpp.
References QwtSplineCurveFitter::PrivateData::spline.
{ return d_data->spline; }
int QwtSplineCurveFitter::splineSize | ( | ) | const |
Definition at line 91 of file qwt_curve_fitter.cpp.
References QwtSplineCurveFitter::PrivateData::splineSize.
{ return d_data->splineSize; }