Classes | Public Types | Public Member Functions

QwtSplineCurveFitter Class Reference

A curve fitter using cubic splines. More...

#include <qwt_curve_fitter.h>

Inheritance diagram for QwtSplineCurveFitter:
Inheritance graph
[legend]
Collaboration diagram for QwtSplineCurveFitter:
Collaboration graph
[legend]

List of all members.

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 QwtSplinespline () const
QwtSplinespline ()
void setSplineSize (int size)
int splineSize () const
virtual QMemArray< QwtDoublePointfitCurve (const QMemArray< QwtDoublePoint > &) const

Detailed Description

A curve fitter using cubic splines.

Definition at line 71 of file qwt_curve_fitter.h.


Member Enumeration Documentation

Enumerator:
Auto 
Spline 
ParametricSpline 

Definition at line 74 of file qwt_curve_fitter.h.


Constructor & Destructor Documentation

QwtSplineCurveFitter::QwtSplineCurveFitter (  )

Constructor.

Definition at line 39 of file qwt_curve_fitter.cpp.

{
    d_data = new PrivateData;
}
QwtSplineCurveFitter::~QwtSplineCurveFitter (  ) [virtual]

Destructor.

Definition at line 45 of file qwt_curve_fitter.cpp.

{
    delete d_data;
}

Member Function Documentation

QMemArray< QwtDoublePoint > QwtSplineCurveFitter::fitCurve ( const QMemArray< QwtDoublePoint > &  points ) const [virtual]

Find a curve which has the best fit to a series of data points

Parameters:
pointsSeries of data points
Returns:
Curve 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
Returns:
Mode representing a spline algorithm
See also:
setFitMode()

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

Parameters:
modeMode representing a spline algorithm
See also:
fitMode()

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.

{
    d_data->spline = spline;
    d_data->spline.reset();
}
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;
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines