Public Types | Public Member Functions | Private Attributes
QwtSplineLocal Class Reference

A spline with C1 continuity. More...

#include <qwt_spline_local.h>

Inheritance diagram for QwtSplineLocal:
Inheritance graph
[legend]

List of all members.

Public Types

enum  Type { Cardinal, ParabolicBlending, Akima, PChip }
 Spline interpolation type. More...

Public Member Functions

virtual QVector< QLineF > bezierControlLines (const QPolygonF &) const
 Interpolate a curve with Bezier curves.
virtual uint locality () const
virtual QPainterPath painterPath (const QPolygonF &) const
 Interpolate a curve with Bezier curves.
virtual QVector
< QwtSplinePolynomial
polynomials (const QPolygonF &) const
 Calculate the interpolating polynomials for a non parametric spline.
 QwtSplineLocal (Type type)
 Constructor.
virtual QVector< double > slopes (const QPolygonF &) const
 Find the first derivative at the control points.
Type type () const
virtual ~QwtSplineLocal ()
 Destructor.

Private Attributes

const Type d_type

Detailed Description

A spline with C1 continuity.

QwtSplineLocal offers several standard algorithms for interpolating a curve with polynomials having C1 continuity at the control points. All algorithms are local in a sense, that changing one control point only few polynomials.

Definition at line 24 of file qwt_spline_local.h.


Member Enumeration Documentation

Spline interpolation type.

All type of spline interpolations are lightweight algorithms calculating the slopes at a point by looking 1 or 2 points back and ahead.

Enumerator:
Cardinal 

A cardinal spline

The cardinal spline interpolation is a very cheap calculation with a locality of 1.

ParabolicBlending 

Parabolic blending is a cheap calculation with a locality of 1. Sometimes it is also called Cubic Bessel interpolation.

Akima 

The algorithm of H.Akima is a calculation with a locality of 2.

PChip 

Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) is an algorithm that is popular because of being offered by MATLAB.

It preserves the shape of the data and respects monotonicity. It has a locality of 1.

Definition at line 34 of file qwt_spline_local.h.


Constructor & Destructor Documentation

Constructor.

Parameters:
typeSpline type, specifying the type of interpolation
See also:
type()

Definition at line 448 of file qwt_spline_local.cpp.

Destructor.

Definition at line 459 of file qwt_spline_local.cpp.


Member Function Documentation

QVector< QLineF > QwtSplineLocal::bezierControlLines ( const QPolygonF &  points) const [virtual]

Interpolate a curve with Bezier curves.

Interpolates a polygon piecewise with cubic Bezier curves and returns the 2 control points of each curve as QLineF.

Parameters:
pointsControl points
Returns:
Control points of the interpolating Bezier curves

Reimplemented from QwtSplineC1.

Definition at line 500 of file qwt_spline_local.cpp.

uint QwtSplineLocal::locality ( ) const [virtual]

The locality of an spline interpolation identifies how many adjacent polynoms are affected, when changing the position of one point.

The Cardinal, ParabolicBlending and PChip algorithms have a locality of 1, while the Akima interpolation has a locality of 2.

Returns:
1 or 2.

Reimplemented from QwtSpline.

Definition at line 550 of file qwt_spline_local.cpp.

QPainterPath QwtSplineLocal::painterPath ( const QPolygonF &  points) const [virtual]

Interpolate a curve with Bezier curves.

Interpolates a polygon piecewise with cubic Bezier curves and returns them as QPainterPath.

Parameters:
pointsControl points
Returns:
Painter path, that can be rendered by QPainter

Reimplemented from QwtSplineC1.

Definition at line 480 of file qwt_spline_local.cpp.

QVector< QwtSplinePolynomial > QwtSplineLocal::polynomials ( const QPolygonF &  points) const [virtual]

Calculate the interpolating polynomials for a non parametric spline.

Parameters:
pointsControl points
Returns:
Interpolating polynomials
Note:
The x coordinates need to be increasing or decreasing
The implementation simply calls QwtSplineC1::polynomials(), but is intended to be replaced by a one pass calculation some day.

Reimplemented from QwtSplineC1.

Definition at line 535 of file qwt_spline_local.cpp.

QVector< double > QwtSplineLocal::slopes ( const QPolygonF &  points) const [virtual]

Find the first derivative at the control points.

Parameters:
pointsControl nodes of the spline
Returns:
Vector with the values of the 2nd derivate at the control points
Note:
The x coordinates need to be increasing or decreasing

Implements QwtSplineC1.

Definition at line 519 of file qwt_spline_local.cpp.

Returns:
Spline type, specifying the type of interpolation

Definition at line 466 of file qwt_spline_local.cpp.


Member Data Documentation

const Type QwtSplineLocal::d_type [private]

Definition at line 80 of file qwt_spline_local.h.


The documentation for this class was generated from the following files:


plotjuggler
Author(s): Davide Faconti
autogenerated on Wed Jul 3 2019 19:28:06