- Main Page
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# 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 ()
QwtSpline & | operator= (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.