.TH "QwtBezier" 3 "Sun Jul 18 2021" "Version 6.2.0" "Qwt User's Guide" \" -*- nroff -*- .ad l .nh .SH NAME QwtBezier \- An implementation of the de Casteljau’s Algorithm for interpolating Bézier curves\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBQwtBezier\fP (double \fBtolerance\fP=0\&.5)" .br .RI "Constructor\&. " .ti -1c .RI "\fB~QwtBezier\fP ()" .br .RI "Destructor\&. " .ti -1c .RI "void \fBsetTolerance\fP (double \fBtolerance\fP)" .br .ti -1c .RI "double \fBtolerance\fP () const" .br .ti -1c .RI "QPolygonF \fBtoPolygon\fP (const QPointF &p1, const QPointF &cp1, const QPointF &cp2, const QPointF &p2) const" .br .RI "Interpolate a Bézier curve by a polygon\&. " .ti -1c .RI "void \fBappendToPolygon\fP (const QPointF &p1, const QPointF &cp1, const QPointF &cp2, const QPointF &p2, QPolygonF &polygon) const" .br .RI "Interpolate a Bézier curve by a polygon\&. " .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static QPointF \fBpointAt\fP (const QPointF &p1, const QPointF &cp1, const QPointF &cp2, const QPointF &p2, double t)" .br .in -1c .SH "Detailed Description" .PP An implementation of the de Casteljau’s Algorithm for interpolating Bézier curves\&. The flatness criterion for terminating the subdivision is based on 'Piecewise Linear Approximation of Bézier Curves' by Roger Willcocks ( http://www.rops.org ) .PP This article explains the maths behind in a very nice way: https://jeremykun.com/2013/05/11/bezier-curves-and-picasso .PP Definition at line 29 of file qwt_bezier\&.h\&. .SH "Constructor & Destructor Documentation" .PP .SS "QwtBezier::QwtBezier (double tolerance = \fC0\&.5\fP)" .PP Constructor\&. .PP \fBParameters\fP .RS 4 \fItolerance\fP Termination criterion for the subdivision .RE .PP \fBSee also\fP .RS 4 \fBsetTolerance()\fP .RE .PP .PP Definition at line 116 of file qwt_bezier\&.cpp\&. .SH "Member Function Documentation" .PP .SS "void QwtBezier::appendToPolygon (const QPointF & p1, const QPointF & cp1, const QPointF & cp2, const QPointF & p2, QPolygonF & polygon) const" .PP Interpolate a Bézier curve by a polygon\&. \fBappendToPolygon()\fP is tailored for cumulating points from a sequence of bezier curves like being created by a spline interpolation\&. .PP \fBParameters\fP .RS 4 \fIp1\fP Start point .br \fIcp1\fP First control point .br \fIcp2\fP Second control point .br \fIp2\fP End point .br \fIpolygon\fP Polygon, where the interpolating points are added .RE .PP \fBNote\fP .RS 4 If the last point of the incoming polygon matches p1 it won't be inserted a second time\&. .RE .PP .PP Definition at line 186 of file qwt_bezier\&.cpp\&. .SS "QPointF QwtBezier::pointAt (const QPointF & p1, const QPointF & cp1, const QPointF & cp2, const QPointF & p2, double t)\fC [static]\fP" Find a point on a Bézier Curve .PP \fBParameters\fP .RS 4 \fIp1\fP Start point .br \fIcp1\fP First control point .br \fIcp2\fP Second control point .br \fIp2\fP End point .br \fIt\fP Parameter value, something between [0,1] .RE .PP \fBReturns\fP .RS 4 Point on the curve .RE .PP .PP Definition at line 239 of file qwt_bezier\&.cpp\&. .SS "void QwtBezier::setTolerance (double tolerance)" Set the tolerance .PP The tolerance is a measurement for the flatness of a curve\&. A curve with a flatness below the tolerance is considered as being flat terminating the subdivision algorithm\&. .PP When interpolating a Bezier curve to render it as a sequence of lines to some sort of raster ( f\&.e to screen ) a value of 0\&.5 of the pixel size is a good value for the tolerance\&. .PP \fBParameters\fP .RS 4 \fItolerance\fP Termination criterion for the subdivision .RE .PP \fBSee also\fP .RS 4 \fBtolerance()\fP .RE .PP .PP Definition at line 141 of file qwt_bezier\&.cpp\&. .SS "double QwtBezier::tolerance () const\fC [inline]\fP" .PP \fBReturns\fP .RS 4 Tolerance, that is used as criterion for the subdivision .RE .PP \fBSee also\fP .RS 4 \fBsetTolerance()\fP .RE .PP .PP Definition at line 56 of file qwt_bezier\&.h\&. .SS "QPolygonF QwtBezier::toPolygon (const QPointF & p1, const QPointF & cp1, const QPointF & cp2, const QPointF & p2) const" .PP Interpolate a Bézier curve by a polygon\&. .PP \fBParameters\fP .RS 4 \fIp1\fP Start point .br \fIcp1\fP First control point .br \fIcp2\fP Second control point .br \fIp2\fP End point .RE .PP \fBReturns\fP .RS 4 Interpolating polygon .RE .PP .PP Definition at line 157 of file qwt_bezier\&.cpp\&. .SH "Author" .PP Generated automatically by Doxygen for Qwt User's Guide from the source code\&.