Files
qwt/doc/man/man3/QwtSplineInterpolating.3
2023-10-31 09:22:42 +01:00

172 lines
4.9 KiB
Groff

.TH "QwtSplineInterpolating" 3 "Sun Jul 18 2021" "Version 6.2.0" "Qwt User's Guide" \" -*- nroff -*-
.ad l
.nh
.SH NAME
QwtSplineInterpolating \- Base class for a spline interpolation\&.
.SH SYNOPSIS
.br
.PP
.PP
\fC#include <qwt_spline\&.h>\fP
.PP
Inherits \fBQwtSpline\fP\&.
.PP
Inherited by \fBQwtSplineG1\fP\&.
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBQwtSplineInterpolating\fP ()"
.br
.RI "Constructor\&. "
.ti -1c
.RI "virtual \fB~QwtSplineInterpolating\fP ()"
.br
.RI "Destructor\&. "
.ti -1c
.RI "virtual QPolygonF \fBequidistantPolygon\fP (const QPolygonF &, double distance, bool withNodes) const"
.br
.RI "Find an interpolated polygon with 'equidistant' points\&. "
.ti -1c
.RI "virtual QPolygonF \fBpolygon\fP (const QPolygonF &, double tolerance) const override"
.br
.RI "Interpolate a curve by a polygon\&. "
.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 &) const =0"
.br
.RI "Interpolate a curve with Bezier curves\&. "
.in -1c
.SS "Additional Inherited Members"
.SH "Detailed Description"
.PP
Base class for a spline interpolation\&.
Spline interpolation is the process of interpolating a set of points piecewise with polynomials\&. The initial set of points is preserved\&.
.PP
Definition at line 193 of file qwt_spline\&.h\&.
.SH "Member Function Documentation"
.PP
.SS "\fBQVector\fP< QLineF > QwtSplineInterpolating::bezierControlLines (const QPolygonF & points) const\fC [pure 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
.PP
Implemented in \fBQwtSplineCubic\fP, \fBQwtSplinePleasing\fP, \fBQwtSplineLocal\fP, \fBQwtSplineC2\fP, and \fBQwtSplineC1\fP\&.
.SS "QPolygonF QwtSplineInterpolating::equidistantPolygon (const QPolygonF & points, double distance, bool withNodes) const\fC [virtual]\fP"
.PP
Find an interpolated polygon with 'equidistant' points\&. When withNodes is disabled all points of the resulting polygon will be equidistant according to the parametrization\&.
.PP
When withNodes is enabled the resulting polygon will also include the control points and the interpolated points are always aligned to the control point before ( points[i] + i * distance )\&.
.PP
The implementation calculates bezier curves first and calculates the interpolated points in a second run\&.
.PP
\fBParameters\fP
.RS 4
\fIpoints\fP Control nodes of the spline
.br
\fIdistance\fP Distance between 2 points according to the parametrization
.br
\fIwithNodes\fP When true, also add the control nodes ( even if not being equidistant )
.RE
.PP
\fBReturns\fP
.RS 4
Interpolating polygon
.RE
.PP
\fBSee also\fP
.RS 4
\fBbezierControlLines()\fP
.RE
.PP
.PP
Reimplemented in \fBQwtSplineC2\fP, and \fBQwtSplineC1\fP\&.
.PP
Definition at line 863 of file qwt_spline\&.cpp\&.
.SS "QPainterPath QwtSplineInterpolating::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
The implementation calculates the Bezier control lines first and converts them into painter path elements in an additional loop\&.
.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
Derived spline classes might overload \fBpainterPath()\fP to avoid the extra loops for converting results into a QPainterPath
.RE
.PP
\fBSee also\fP
.RS 4
\fBbezierControlLines()\fP
.RE
.PP
.PP
Implements \fBQwtSpline\fP\&.
.PP
Reimplemented in \fBQwtSplinePleasing\fP, \fBQwtSplineLocal\fP, \fBQwtSplineCubic\fP, \fBQwtSplineC2\fP, and \fBQwtSplineC1\fP\&.
.PP
Definition at line 748 of file qwt_spline\&.cpp\&.
.SS "QPolygonF QwtSplineInterpolating::polygon (const QPolygonF & points, double tolerance) const\fC [override]\fP, \fC [virtual]\fP"
.PP
Interpolate a curve by a polygon\&. Interpolates a polygon piecewise with Bezier curves approximating them by polygons\&.
.PP
The approximation is based on 'Piecewise Linear Approximation of Bézier Curves' by Roger Willcocks ( http://www.rops.org )
.PP
\fBParameters\fP
.RS 4
\fIpoints\fP Control points
.br
\fItolerance\fP Maximum for the accepted error of the approximation
.RE
.PP
\fBReturns\fP
.RS 4
polygon approximating the interpolating polynomials
.RE
.PP
\fBSee also\fP
.RS 4
\fBbezierControlLines()\fP, QwtSplineBezier::toPolygon()
.RE
.PP
.PP
Reimplemented from \fBQwtSpline\fP\&.
.PP
Definition at line 805 of file qwt_spline\&.cpp\&.
.SH "Author"
.PP
Generated automatically by Doxygen for Qwt User's Guide from the source code\&.