.TH "QwtSplineCubic" 3 "Sun Jul 18 2021" "Version 6.2.0" "Qwt User's Guide" \" -*- nroff -*- .ad l .nh .SH NAME QwtSplineCubic \- A cubic spline\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBQwtSplineC2\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBQwtSplineCubic\fP ()" .br .RI "Constructor The default setting is a non closing natural spline with no parametrization\&. " .ti -1c .RI "virtual \fB~QwtSplineCubic\fP ()" .br .RI "Destructor\&. " .ti -1c .RI "virtual uint \fBlocality\fP () const override" .br .ti -1c .RI "virtual QPainterPath \fBpainterPath\fP (const QPolygonF &) const override" .br .RI "Interpolate a curve with Bezier curves\&. " .ti -1c .RI "virtual \fBQVector\fP< QLineF > \fBbezierControlLines\fP (const QPolygonF &points) const override" .br .RI "Interpolate a curve with Bezier curves\&. " .ti -1c .RI "virtual \fBQVector\fP< \fBQwtSplinePolynomial\fP > \fBpolynomials\fP (const QPolygonF &) const override" .br .RI "Calculate the interpolating polynomials for a non parametric spline\&. " .ti -1c .RI "virtual \fBQVector\fP< double > \fBslopes\fP (const QPolygonF &) const override" .br .RI "Find the first derivative at the control points\&. " .ti -1c .RI "virtual \fBQVector\fP< double > \fBcurvatures\fP (const QPolygonF &) const override" .br .RI "Find the second derivative at the control points\&. " .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP A cubic spline\&. A cubic spline is a spline with C2 continuity at all control points\&. It is a non local spline, what means that all polynomials are changing when one control point has changed\&. .PP The implementation is based on the fact, that the continuity condition means an equation with 3 unknowns for 3 adjacent points\&. The equation system can be resolved by defining start/end conditions, that allow substituting of one of the unknowns for the start/end equations\&. .PP Resolving the equation system is a 2 pass algorithm, requiring more CPU costs than all other implemented type of splines\&. .PP Definition at line 33 of file qwt_spline_cubic\&.h\&. .SH "Member Function Documentation" .PP .SS "\fBQVector\fP< QLineF > QwtSplineCubic::bezierControlLines (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP" .PP 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\&. .PP \fBParameters\fP .RS 4 \fIpoints\fP Control points .RE .PP \fBReturns\fP .RS 4 Control points of the interpolating Bezier curves .RE .PP \fBNote\fP .RS 4 The implementation simply calls \fBQwtSplineC1::bezierControlLines()\fP .RE .PP .PP Reimplemented from \fBQwtSplineC2\fP\&. .PP Definition at line 1149 of file qwt_spline_cubic\&.cpp\&. .SS "\fBQVector\fP< double > QwtSplineCubic::curvatures (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP" .PP Find the second derivative at the control points\&. .PP \fBParameters\fP .RS 4 \fIpoints\fP Control nodes of the spline .RE .PP \fBReturns\fP .RS 4 Vector with the values of the 2nd derivate at the control points .RE .PP \fBSee also\fP .RS 4 \fBslopes()\fP .RE .PP \fBNote\fP .RS 4 The x coordinates need to be increasing or decreasing .RE .PP .PP Implements \fBQwtSplineC2\fP\&. .PP Definition at line 1078 of file qwt_spline_cubic\&.cpp\&. .SS "uint QwtSplineCubic::locality () const\fC [override]\fP, \fC [virtual]\fP" A cubic spline is non local, where changing one point has em effect on all polynomials\&. .PP \fBReturns\fP .RS 4 0 .RE .PP .PP Reimplemented from \fBQwtSpline\fP\&. .PP Definition at line 989 of file qwt_spline_cubic\&.cpp\&. .SS "QPainterPath QwtSplineCubic::painterPath (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP" .PP Interpolate a curve with Bezier curves\&. Interpolates a polygon piecewise with cubic Bezier curves and returns them as QPainterPath\&. .PP \fBParameters\fP .RS 4 \fIpoints\fP Control points .RE .PP \fBReturns\fP .RS 4 Painter path, that can be rendered by QPainter .RE .PP \fBNote\fP .RS 4 The implementation simply calls \fBQwtSplineC1::painterPath()\fP .RE .PP .PP Reimplemented from \fBQwtSplineC2\fP\&. .PP Definition at line 1130 of file qwt_spline_cubic\&.cpp\&. .SS "\fBQVector\fP< \fBQwtSplinePolynomial\fP > QwtSplineCubic::polynomials (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP" .PP Calculate the interpolating polynomials for a non parametric spline\&. .PP \fBParameters\fP .RS 4 \fIpoints\fP Control points .RE .PP \fBReturns\fP .RS 4 Interpolating polynomials .RE .PP \fBNote\fP .RS 4 The x coordinates need to be increasing or decreasing .PP The implementation simply calls \fBQwtSplineC2::polynomials()\fP, but is intended to be replaced by a one pass calculation some day\&. .RE .PP .PP Reimplemented from \fBQwtSplineC2\fP\&. .PP Definition at line 1167 of file qwt_spline_cubic\&.cpp\&. .SS "\fBQVector\fP< double > QwtSplineCubic::slopes (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP" .PP Find the first derivative at the control points\&. In opposite to the implementation \fBQwtSplineC2::slopes\fP the first derivates are calculated directly, without calculating the second derivates first\&. .PP \fBParameters\fP .RS 4 \fIpoints\fP Control nodes of the spline .RE .PP \fBReturns\fP .RS 4 Vector with the values of the 2nd derivate at the control points .RE .PP \fBSee also\fP .RS 4 \fBcurvatures()\fP, \fBQwtSplinePolynomial::fromCurvatures()\fP .RE .PP \fBNote\fP .RS 4 The x coordinates need to be increasing or decreasing .RE .PP .PP Reimplemented from \fBQwtSplineC2\fP\&. .PP Definition at line 1006 of file qwt_spline_cubic\&.cpp\&. .SH "Author" .PP Generated automatically by Doxygen for Qwt User's Guide from the source code\&.