QwtSplineLocal(3) | Qwt User's Guide | QwtSplineLocal(3) |

# NAME

QwtSplineLocal - A spline with C1 continuity.

# SYNOPSIS

#include <qwt_spline_local.h>

Inherits **QwtSplineC1**.

## Public Types

enum **Type** { **Cardinal**, **ParabolicBlending**,
**Akima**, **PChip** }

Spline interpolation type.

## Public Member Functions

**QwtSplineLocal** (**Type** **type**)

Constructor. virtual **~QwtSplineLocal** ()

Destructor. **Type** **type** () const

virtual uint **locality** () const override

virtual QPainterPath **painterPath** (const QPolygonF &) const override

Interpolate a curve with Bezier curves. virtual **QVector**< QLineF >
**bezierControlLines** (const QPolygonF &) const override

Interpolate a curve with Bezier curves. virtual **QVector**<
**QwtSplinePolynomial** > **polynomials** (const QPolygonF &)
const override

Calculate the interpolating polynomials for a non parametric spline. virtual
**QVector**< double > **slopes** (const QPolygonF &) const
override

Find the first derivative at the control points.

# 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

## enum **QwtSplineLocal::Type**

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

## QwtSplineLocal::QwtSplineLocal (**Type** type)

Constructor.

**Parameters**

*type*Spline type, specifying the type of interpolation

**See also**

**type()**

Definition at line 450 of file qwt_spline_local.cpp.

# Member Function Documentation

**QVector**< QLineF > QwtSplineLocal::bezierControlLines
(const QPolygonF & points) const [override]**, [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**

*points*Control points

**Returns**

Reimplemented from **QwtSplineC1**.

Definition at line 502 of file qwt_spline_local.cpp.

## uint QwtSplineLocal::locality () const [override]**, [virtual]**

The locality of an spline interpolation identifies how many adjacent polynomials 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**

Reimplemented from **QwtSpline**.

Definition at line 552 of file qwt_spline_local.cpp.

## QPainterPath QwtSplineLocal::painterPath (const QPolygonF & points) const [override]**, [virtual]**

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

**Parameters**

*points*Control points

**Returns**

Reimplemented from **QwtSplineC1**.

Definition at line 482 of file qwt_spline_local.cpp.

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

Calculate the interpolating polynomials for a non parametric spline.

**Parameters**

*points*Control points

**Returns**

**Note**

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 537 of file qwt_spline_local.cpp.

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

Find the first derivative at the control points.

**Parameters**

*points*Control nodes of the spline

**Returns**

**Note**

Implements **QwtSplineC1**.

Definition at line 521 of file qwt_spline_local.cpp.

**QwtSplineLocal::Type** QwtSplineLocal::type () const

**Returns**

Definition at line 468 of file qwt_spline_local.cpp.

# Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.

Sun Jul 18 2021 | Version 6.2.0 |