Scroll to navigation

QwtSpline(3) Qwt User's Guide QwtSpline(3)

NAME

QwtSpline -
A class for spline interpolation.
 

SYNOPSIS

#include <qwt_spline.h>

Public Types


enum SplineType { Natural, Periodic }
 

Public Member Functions


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
 
QwtSpline ()
 
QwtSpline (const QwtSpline &)
 
void reset ()
 
bool setPoints (const QPolygonF &points)
 
void setSplineType (SplineType)
 
SplineType splineType () const
 
double value (double x) const
 
~QwtSpline ()
 

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.
Usage:
 
 
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().
Example:
 
#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; interpolatedPoints[i].setX(x); interpolatedPoints[i].setY(spline.value(x)); } return interpolatedPoints; }
 
 

Member Enumeration Documentation

enum QwtSpline::SplineType

Spline type.

Constructor & Destructor Documentation

QwtSpline::QwtSpline ()

Constructor.

QwtSpline::QwtSpline (const QwtSpline &other) Copy constructor

Parameters:
other Spline used for initilization
 

QwtSpline::~QwtSpline ()

Destructor.

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 Returns:

A coefficients
 

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

B coefficients
 

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

C coefficients
 

bool QwtSpline::isValid () const

True if valid.

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

Parameters:
other Spline used for initilization
 

QPolygonF QwtSpline::points () const Return points passed by setPoints

void QwtSpline::reset ()

Free allocated memory and set size to 0.

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.
Parameters:
points Points
Returns:
true if successful
Warning:
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

Parameters:
splineType Spline type
See also:
splineType()
 

QwtSpline::SplineType QwtSpline::splineType () const Returns:

the spline type
See also:
setSplineType()
 

double QwtSpline::value (doublex) const Calculate the interpolated function value corresponding to a given argument x.

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.
Mon Aug 1 2011 Version 5.2.2