A spline with C1 continuity. More...
#include <qwt_spline_local.h>
Public Types | |
enum | Type { Cardinal, ParabolicBlending, Akima, PChip } |
Spline interpolation type. More... | |
Public Types inherited from QwtSpline | |
enum | BoundaryCondition { Clamped1, Clamped2, Clamped3, LinearRunout } |
Boundary condition. More... | |
enum | BoundaryPosition { AtBeginning, AtEnd } |
enum | BoundaryType { ConditionalBoundaries, PeriodicPolygon, ClosedPolygon } |
Public Member Functions | |
virtual QVector< QLineF > | bezierControlLines (const QPolygonF &) const |
Interpolate a curve with Bezier curves. More... | |
virtual uint | locality () const |
virtual QPainterPath | painterPath (const QPolygonF &) const |
Interpolate a curve with Bezier curves. More... | |
virtual QVector< QwtSplinePolynomial > | polynomials (const QPolygonF &) const |
Calculate the interpolating polynomials for a non parametric spline. More... | |
QwtSplineLocal (Type type) | |
Constructor. More... | |
virtual QVector< double > | slopes (const QPolygonF &) const |
Find the first derivative at the control points. More... | |
Type | type () const |
virtual | ~QwtSplineLocal () |
Destructor. More... | |
Public Member Functions inherited from QwtSplineC1 | |
virtual QPolygonF | equidistantPolygon (const QPolygonF &, double distance, bool withNodes) const |
Find an interpolated polygon with "equidistant" points. More... | |
QwtSplineC1 () | |
Constructor. More... | |
virtual double | slopeAtBeginning (const QPolygonF &, double slopeNext) const |
virtual double | slopeAtEnd (const QPolygonF &, double slopeBefore) const |
virtual | ~QwtSplineC1 () |
Destructor. More... | |
Public Member Functions inherited from QwtSplineG1 | |
QwtSplineG1 () | |
Constructor. More... | |
virtual | ~QwtSplineG1 () |
Destructor. More... | |
Public Member Functions inherited from QwtSplineInterpolating | |
virtual QPolygonF | polygon (const QPolygonF &, double tolerance) const |
Interpolate a curve by a polygon. More... | |
QwtSplineInterpolating () | |
Constructor. More... | |
virtual | ~QwtSplineInterpolating () |
Destructor. More... | |
Public Member Functions inherited from QwtSpline | |
int | boundaryCondition (BoundaryPosition) const |
BoundaryType | boundaryType () const |
double | boundaryValue (BoundaryPosition) const |
const QwtSplineParametrization * | parametrization () const |
QwtSpline () | |
Constructor. More... | |
void | setBoundaryCondition (BoundaryPosition, int condition) |
Define the condition for an endpoint of the spline. More... | |
void | setBoundaryConditions (int condition, double valueBegin=0.0, double valueEnd=0.0) |
Define the condition at the endpoints of a spline. More... | |
void | setBoundaryType (BoundaryType) |
void | setBoundaryValue (BoundaryPosition, double value) |
Define the boundary value. More... | |
void | setParametrization (int type) |
void | setParametrization (QwtSplineParametrization *) |
virtual | ~QwtSpline () |
Destructor. More... | |
Private Attributes | |
const Type | d_type |
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.
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.
Definition at line 34 of file qwt_spline_local.h.
QwtSplineLocal::QwtSplineLocal | ( | Type | type | ) |
Constructor.
type | Spline type, specifying the type of interpolation |
Definition at line 448 of file qwt_spline_local.cpp.
|
virtual |
Destructor.
Definition at line 459 of file qwt_spline_local.cpp.
|
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.
points | Control points |
Reimplemented from QwtSplineC1.
Definition at line 500 of file qwt_spline_local.cpp.
|
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.
Reimplemented from QwtSpline.
Definition at line 550 of file qwt_spline_local.cpp.
|
virtual |
Interpolate a curve with Bezier curves.
Interpolates a polygon piecewise with cubic Bezier curves and returns them as QPainterPath.
points | Control points |
Reimplemented from QwtSplineC1.
Definition at line 480 of file qwt_spline_local.cpp.
|
virtual |
Calculate the interpolating polynomials for a non parametric spline.
points | Control points |
Reimplemented from QwtSplineC1.
Definition at line 535 of file qwt_spline_local.cpp.
|
virtual |
Find the first derivative at the control points.
points | Control nodes of the spline |
Implements QwtSplineC1.
Definition at line 519 of file qwt_spline_local.cpp.
QwtSplineLocal::Type QwtSplineLocal::type | ( | ) | const |
Definition at line 466 of file qwt_spline_local.cpp.
|
private |
Definition at line 80 of file qwt_spline_local.h.