# QwtSpline Class Reference

List of all members.

## 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;
}
```

Definition at line 77 of file qwt_spline.h.

## Public Types

enum  SplineType {
Natural,
Periodic
}

## Public Member Functions

QwtSpline ()
QwtSpline (const QwtSpline &)
~QwtSpline ()
QwtSplineoperator= (const QwtSpline &)
void setSplineType (SplineType)
SplineType splineType () const
bool setPoints (const QPolygonF &points)
QPolygonF points () const
void reset ()
bool isValid () const
double value (double x) const

## Protected Member Functions

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

## Protected Attributes

PrivateData * d_data

## Constructor & Destructor Documentation

 QwtSpline::QwtSpline ( )
 Constructor. Definition at line 73 of file qwt_spline.cpp. References d_data.

 QwtSpline::~QwtSpline ( )
 Destructor. Definition at line 90 of file qwt_spline.cpp. References d_data.

## Member Function Documentation

 bool QwtSpline::buildNaturalSpline ( const QPolygonF & points ) ` [protected]`
 Determines the coefficients for a natural spline. Returns:true if successful Definition at line 209 of file qwt_spline.cpp.

 bool QwtSpline::buildPeriodicSpline ( const QPolygonF & points ) ` [protected]`
 Determines the coefficients for a periodic spline. Returns:true if successful Definition at line 292 of file qwt_spline.cpp.

 bool QwtSpline::isValid ( ) const
 True if valid. Definition at line 181 of file qwt_spline.cpp. References d_data.

 QPolygonF QwtSpline::points ( ) const
 Return points passed by setPoints Definition at line 164 of file qwt_spline.cpp.

 void QwtSpline::reset ( )
 Free allocated memory and set size to 0. Definition at line 172 of file qwt_spline.cpp. References d_data.

 bool QwtSpline::setPoints ( const QPolygonF & points )

Determine the function table index corresponding to a value x 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:
 x y points size number of points periodic if true, calculate periodic spline
Returns:
true if successful
Warning:
The sequence of x (but not y) values has to be strictly monotone increasing, which means `x[0] < x[1] < .... < x[n-1]`. If this is not the case, the function will return false

Definition at line 126 of file qwt_spline.cpp.

 double QwtSpline::value ( double x ) const
 Calculate the interpolated function value corresponding to a given argument x. Definition at line 190 of file qwt_spline.cpp. References d_data.

Generated on Mon Feb 26 21:26:04 2007 for Qwt User's Guide by  1.4.6