Qwt User's Guide  6.2.0
qwt_weeding_curve_fitter.h
1 /******************************************************************************
2  * Qwt Widget Library
3  * Copyright (C) 1997 Josef Wilgen
4  * Copyright (C) 2002 Uwe Rathmann
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the Qwt License, Version 1.0
8  *****************************************************************************/
9 
10 #ifndef QWT_WEEDING_CURVE_FITTER_H
11 #define QWT_WEEDING_CURVE_FITTER_H
12 
13 #include "qwt_curve_fitter.h"
14 
38 class QWT_EXPORT QwtWeedingCurveFitter : public QwtCurveFitter
39 {
40  public:
41  explicit QwtWeedingCurveFitter( double tolerance = 1.0 );
42  virtual ~QwtWeedingCurveFitter();
43 
44  void setTolerance( double );
45  double tolerance() const;
46 
47  void setChunkSize( uint );
48  uint chunkSize() const;
49 
50  virtual QPolygonF fitCurve( const QPolygonF& ) const QWT_OVERRIDE;
51  virtual QPainterPath fitCurvePath( const QPolygonF& ) const QWT_OVERRIDE;
52 
53  private:
54  virtual QPolygonF simplify( const QPolygonF& ) const;
55 
56  class Line;
57 
58  class PrivateData;
59  PrivateData* m_data;
60 };
61 
62 #endif
Abstract base class for a curve fitter.
virtual QPainterPath fitCurvePath(const QPolygonF &polygon) const =0
virtual QPolygonF fitCurve(const QPolygonF &polygon) const =0
A curve fitter implementing Douglas and Peucker algorithm.