Provided by: libqwt-doc_6.1.3-1_all bug

NAME

       QwtWeedingCurveFitter - A curve fitter implementing Douglas and Peucker algorithm.

SYNOPSIS

       #include <qwt_curve_fitter.h>

       Inherits QwtCurveFitter.

   Public Member Functions
       QwtWeedingCurveFitter (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

   Additional Inherited Members

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.

Constructor & Destructor Documentation

   QwtWeedingCurveFitter::QwtWeedingCurveFitter (double tolerance = 1.0)
       Constructor

       Parameters:
           tolerance Tolerance

       See also:
           setTolerance(), tolerance()

Member Function Documentation

   uint QwtWeedingCurveFitter::chunkSize () const
       Returns:
           Maximum for the number of points passed to a run of the algorithm - or 0, when
           unlimited

       See also:
           setChunkSize()

   QPolygonF QwtWeedingCurveFitter::fitCurve (const QPolygonF & points) const [virtual]
       Parameters:
           points Series of data points

       Returns:
           Curve points

       Implements QwtCurveFitter.

   void QwtWeedingCurveFitter::setChunkSize (uint numPoints)
       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

       See also:
           chunkSize()

   void QwtWeedingCurveFitter::setTolerance (double tolerance)
       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

       See also:
           tolerance()

   double QwtWeedingCurveFitter::tolerance () const
       Returns:
           Tolerance

       See also:
           setTolerance()

Author

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