logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

QwtWeedingCurveFitter - A curve fitter implementing Douglas and Peucker algorithm.

Author

       Generated automatically by Doxygen for Qwt User's Guide from the source code.

Version 6.1.4                                    Wed Jan 2 2019                         QwtWeedingCurveFitter(3)

Constructor & Destructor Documentation

QwtWeedingCurveFitter::QwtWeedingCurveFitter(doubletolerance=1.0)
       Constructor

       Parameters:tolerance Tolerance

       Seealso:setTolerance(), tolerance()

Detailed Description

       A curve fitter implementing Douglas and Peucker algorithm.

       The purpose of the Douglas and Peucker algorithm is that given a 'curve' composed of line segments to
       find a curve not too dissimilar but that has fewer points. The algorithm defines 'too dissimilar' based
       on the maximum distance (tolerance) between the original curve and the smoothed curve.

       The runtime of the algorithm increases non linear ( worst case O( n*n ) ) and might be very slow for huge
       polygons. To avoid performance issues it might be useful to split the polygon ( setChunkSize() ) and to
       run the algorithm for these smaller parts. The disadvantage of having no interpolation at the borders is
       for most use cases irrelevant.

       The smoothed curve consists of a subset of the points that defined the original curve.

       In opposite to QwtSplineCurveFitter the Douglas and Peucker algorithm reduces the number of points. By
       adjusting the tolerance parameter according to the axis scales QwtSplineCurveFitter can be used to
       implement different level of details to speed up painting of curves of many points.

Member Function Documentation

uintQwtWeedingCurveFitter::chunkSize()constReturns:
           Maximum for the number of points passed to a run of the algorithm - or 0, when unlimited

       Seealso:setChunkSize()QPolygonFQwtWeedingCurveFitter::fitCurve(constQPolygonF&points)const[virtual]Parameters:points Series of data points

       Returns:
           Curve points

       Implements QwtCurveFitter.

   voidQwtWeedingCurveFitter::setChunkSize(uintnumPoints)
       Limit the number of points passed to a run of the algorithm

       The runtime of the Douglas Peucker algorithm increases non linear with the number of points. For a chunk
       size > 0 the polygon is split into pieces passed to the algorithm one by one.

       Parameters:numPoints Maximum for the number of points passed to the algorithm

       Seealso:chunkSize()voidQwtWeedingCurveFitter::setTolerance(doubletolerance)
       Assign the tolerance

       The tolerance is the maximum distance, that is acceptable between the original curve and the smoothed
       curve.

       Increasing the tolerance will reduce the number of the resulting points.

       Parameters:tolerance Tolerance

       Seealso:tolerance()doubleQwtWeedingCurveFitter::tolerance()constReturns:
           Tolerance

       Seealso:setTolerance()

Name

       QwtWeedingCurveFitter - A curve fitter implementing Douglas and Peucker algorithm.

Synopsis

       #include <qwt_curve_fitter.h>

       Inherits QwtCurveFitter.

   PublicMemberFunctionsQwtWeedingCurveFitter (double tolerance=1.0)
       virtual ~QwtWeedingCurveFitter ()
           Destructor.
       void setTolerance (double)
       double tolerance () const
       void setChunkSize (uint)
       uint chunkSize () const
       virtual QPolygonF fitCurve (const QPolygonF &) const

   AdditionalInheritedMembers

See Also