QwtBezier(3) Qwt User's Guide QwtBezier(3) NAME QwtBezier - An implementation of the de Casteljau's Algorithm for interpolating Bezier curves. SYNOPSIS #include Public Member Functions QwtBezier (double tolerance=0.5) Constructor. ~QwtBezier () Destructor. void setTolerance (double tolerance) double tolerance () const QPolygonF toPolygon (const QPointF &p1, const QPointF &cp1, const QPointF &cp2, const QPointF &p2) const Interpolate a Bezier curve by a polygon. void appendToPolygon (const QPointF &p1, const QPointF &cp1, const QPointF &cp2, const QPointF &p2, QPolygonF &polygon) const Interpolate a Bezier curve by a polygon. Static Public Member Functions static QPointF pointAt (const QPointF &p1, const QPointF &cp1, const QPointF &cp2, const QPointF &p2, double t) Detailed Description An implementation of the de Casteljau's Algorithm for interpolating Bezier curves. The flatness criterion for terminating the subdivision is based on 'Piecewise Linear Approximation of Bezier Curves' by Roger Willcocks ( http://www.rops.org ) This article explains the maths behind in a very nice way: https://jeremykun.com/2013/05/11/bezier-curves-and-picasso Definition at line 29 of file qwt_bezier.h. Constructor & Destructor Documentation QwtBezier::QwtBezier (double tolerance = 0.5) Constructor. Parameters tolerance Termination criterion for the subdivision See also setTolerance() Definition at line 116 of file qwt_bezier.cpp. Member Function Documentation void QwtBezier::appendToPolygon (const QPointF & p1, const QPointF & cp1, const QPointF & cp2, const QPointF & p2, QPolygonF & polygon) const Interpolate a Bezier curve by a polygon. appendToPolygon() is tailored for cumulating points from a sequence of bezier curves like being created by a spline interpolation. Parameters p1 Start point cp1 First control point cp2 Second control point p2 End point polygon Polygon, where the interpolating points are added Note If the last point of the incoming polygon matches p1 it won't be inserted a second time. Definition at line 186 of file qwt_bezier.cpp. QPointF QwtBezier::pointAt (const QPointF & p1, const QPointF & cp1, const QPointF & cp2, const QPointF & p2, double t) [static] Find a point on a Bezier Curve Parameters p1 Start point cp1 First control point cp2 Second control point p2 End point t Parameter value, something between [0,1] Returns Point on the curve Definition at line 239 of file qwt_bezier.cpp. void QwtBezier::setTolerance (double tolerance) Set the tolerance 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. 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. Parameters tolerance Termination criterion for the subdivision See also tolerance() Definition at line 141 of file qwt_bezier.cpp. double QwtBezier::tolerance () const [inline] Returns Tolerance, that is used as criterion for the subdivision See also setTolerance() Definition at line 56 of file qwt_bezier.h. QPolygonF QwtBezier::toPolygon (const QPointF & p1, const QPointF & cp1, const QPointF & cp2, const QPointF & p2) const Interpolate a Bezier curve by a polygon. Parameters p1 Start point cp1 First control point cp2 Second control point p2 End point Returns Interpolating polygon Definition at line 157 of file qwt_bezier.cpp. Author Generated automatically by Doxygen for Qwt User's Guide from the source code. Version 6.2.0 Sun Jul 18 2021 QwtBezier(3)