QwtSpline.qt5 - Man Page


#include <qwt_spline.h>

Public Types

enum SplineType { Natural, Periodic }

Public Member Functions

QwtSpline ()
QwtSpline (const QwtSpline &)
~QwtSpline ()
const QwtArray< double > & coefficientsA () const
const QwtArray< double > & coefficientsB () const
const QwtArray< double > & coefficientsC () const
bool isValid () const
QwtSpline & operator= (const QwtSpline &)
QPolygonF points () const
void reset ()
bool setPoints (const QPolygonF &points)
void setSplineType (SplineType)
SplineType splineType () const
double value (double x) const

Protected Member Functions

bool buildNaturalSpline (const QPolygonF &)
bool buildPeriodicSpline (const QPolygonF &)

Protected Attributes

PrivateData * d_data

Detailed Description

A class for spline interpolation.

The QwtSpline class is used for cubical spline interpolation. Two types of splines, natural and periodic, are supported.


  1. First call setPoints() to determine the spline coefficients for a tabulated function y(x).
  2. After the coefficients have been set up, the interpolated function value for an argument x can be determined by calling QwtSpline::value().


#include <qwt_spline.h>

QPolygonF interpolate(const QPolygonF& points, int numValues)
    QwtSpline spline;
    if ( !spline.setPoints(points) ) 
        return points;

    QPolygonF interpolatedPoints(numValues);

    const double delta = 
        (points[numPoints - 1].x() - points[0].x()) / (points.size() - 1);
    for(i = 0; i < points.size(); i++)  / interpolate
        const double x = points[0].x() + i * delta;
    return interpolatedPoints;

Constructor & Destructor Documentation

QwtSpline::QwtSpline (const QwtSpline &other)

Copy constructor


other Spline used for initilization

Member Function Documentation

bool QwtSpline::buildNaturalSpline (const QPolygonF &points) [protected]

Determines the coefficients for a natural spline. Returns:

true if successful

bool QwtSpline::buildPeriodicSpline (const QPolygonF &points) [protected]

Determines the coefficients for a periodic spline. Returns:

true if successful

const QwtArray< double > & QwtSpline::coefficientsA () const


A coefficients

const QwtArray< double > & QwtSpline::coefficientsB () const


B coefficients

const QwtArray< double > & QwtSpline::coefficientsC () const


C coefficients

QwtSpline & QwtSpline::operator= (const QwtSpline &other)

Assignment operator


other Spline used for initilization

QPolygonF QwtSpline::points () const

Return points passed by setPoints

bool QwtSpline::setPoints (const QPolygonF &points)

Calculate the spline coefficients. Depending on the value of periodic, this function will determine the coefficients for a natural or a periodic spline and store them internally.


points Points


true if successful


The sequence of x (but not y) values has to be strictly monotone increasing, which means points[i].x() < points[i+1].x(). If this is not the case, the function will return false

void QwtSpline::setSplineType (SplineTypesplineType)

Select the algorithm used for calculating the spline


splineType Spline type

See also:


QwtSpline::SplineType QwtSpline::splineType () const


the spline type

See also:


double QwtSpline::value (doublex) const

Calculate the interpolated function value corresponding to a given argument x.


Generated automatically by Doxygen for Qwt User's Guide from the source code.


Tue Nov 20 2012 Version 5.2.3 Qwt User's Guide