Provided by: libqwt-doc_6.1.4-2_all bug

NAME

       QwtSpline - A class for spline interpolation.

SYNOPSIS

       #include <qwt_spline.h>

   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 constructor
       Parameters:
           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 operator
       Parameters:
           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 (SplineType splineType)
       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 (double x) 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.