QwtSpline (3) - Linux Manuals
NAME
QwtSpline -
A class for spline interpolation.
SYNOPSIS
Public Types
enum SplineType { Natural, Periodic }
Spline type. 
Public Member Functions
QwtSpline ()
Constructor. 
QwtSpline (const QwtSpline &)
~QwtSpline ()
Destructor. 
QwtSpline & operator= (const QwtSpline &)
void setSplineType (SplineType)
SplineType splineType () const 
bool setPoints (const QPolygonF &points)
Calculate the spline coefficients. 
QPolygonF points () const 
void reset ()
Free allocated memory and set size to 0. 
bool isValid () const 
True if valid. 
double value (double x) const 
const QVector< double > & coefficientsA () const 
const QVector< double > & coefficientsB () const 
const QVector< double > & coefficientsC () const 
Protected Member Functions
bool buildNaturalSpline (const QPolygonF &)
Determines the coefficients for a natural spline. 
bool buildPeriodicSpline (const QPolygonF &)
Determines the coefficients for a periodic spline. 
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.
Enumerator
- Natural
 - A natural spline.
 - Periodic
 - A periodic spline.
 
Constructor & Destructor Documentation
QwtSpline::QwtSpline (const QwtSpline &other)
Copy constructorParameters:
- other Spline used for initialization
 
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 QVector< double > & QwtSpline::coefficientsA () const
Returns:
- A coefficients
 
const QVector< double > & QwtSpline::coefficientsB () const
Returns:
- B coefficients
 
const QVector< double > & QwtSpline::coefficientsC () const
Returns:
- C coefficients
 
QwtSpline & QwtSpline::operator= (const QwtSpline &other)
Assignment operatorParameters:
- other Spline used for initialization
 
Returns:
- *this
 
QPolygonF QwtSpline::points () const
Returns:
- Points, that have been 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.
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 splineParameters:
- 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.Parameters:
- x Coordinate
 
Returns:
- Interpolated coordinate
 
Author
Generated automatically by Doxygen for Qwt User's Guide from the source code.