QwtSplineLocal(3)

πŸ“¦
version 6.3.0 Β· 2 versions
, in alpine 3.24

QwtSplineLocal πŸ’…

From the Library Functions Manual β€” that’s the manual name, folded in right here because we’re cute like that. This page is about QwtSplineLocal, bestie: a spline with C1 continuity. ✨

✨ 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 Types inherited from QwtSpline πŸ’œ

  • enum BoundaryType { ConditionalBoundaries, PeriodicPolygon, ClosedPolygon }
  • enum BoundaryPosition { AtBeginning, AtEnd }
  • enum BoundaryCondition { Clamped1, Clamped2, Clamped3, LinearRunout } β€” boundary condition.

🌸 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.

πŸ¦‹ Public Member Functions inherited from QwtSplineC1 πŸ¦‹

  • QwtSplineC1 () β€” Constructor.
  • virtual ~QwtSplineC1 () β€” Destructor.
  • virtual QPolygonF equidistantPolygon (const QPolygonF &, double distance, bool withNodes) const override β€” Find an interpolated polygon with equidistant"points.
  • virtual double slopeAtBeginning (const QPolygonF &, double slopeNext) const
  • virtual double slopeAtEnd (const QPolygonF &, double slopeBefore) const

πŸŽ€ Public Member Functions inherited from QwtSplineG1 πŸŽ€

  • QwtSplineG1 () β€” Constructor.
  • virtual ~QwtSplineG1 () β€” Destructor.

πŸ“ Public Member Functions inherited from QwtSplineInterpolating πŸ“

  • QwtSplineInterpolating () β€” Constructor.
  • virtual ~QwtSplineInterpolating () β€” Destructor.
  • virtual QPolygonF polygon (const QPolygonF &, double tolerance) const override β€” Interpolate a curve by a polygon.

πŸ‘‘ Public Member Functions inherited from QwtSpline πŸ‘‘

  • QwtSpline () β€” Constructor.
  • virtual ~QwtSpline () β€” Destructor.
  • void setParametrization (int type)
  • void setParametrization (QwtSplineParametrization *)
  • const QwtSplineParametrization * parametrization () const
  • void setBoundaryType (BoundaryType)
  • BoundaryType boundaryType () const
  • void setBoundaryValue (BoundaryPosition, double value) β€” Define the boundary value.
  • double boundaryValue (BoundaryPosition) const
  • void setBoundaryCondition (BoundaryPosition, int condition) β€” Define the condition for an endpoint of the spline.
  • int boundaryCondition (BoundaryPosition) const
  • void setBoundaryConditions (int condition, double valueBegin=0.0, double valueEnd=0.0) β€” Define the condition at the endpoints of a spline.

πŸ’« 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.

QwtSplineLocal::~QwtSplineLocal () [virtual]

Destructor.

Definition at line 461 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
    • Control points of the interpolating Bezier curves

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
    • 1 or 2

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
    • Painter path, that can be rendered by QPainter

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

QwtSplineLocal::Type QwtSplineLocal::type () const

  • Returns
    • Spline type, specifying the type of interpolation

Definition at line 468 of file qwt_spline_local.cpp.

πŸ’Œ Author πŸ’Œ

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

Cute sign-off: source/version/page vibes are Qwt User's Guide + QwtSplineLocal(3); no separate date was printed in the original footer, bestie. Stay spliney! πŸ’–βœ¨

πŸ“¦ where this page comes from