QWT 7.0.1
Loading...
Searching...
No Matches
qwt_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 * Modified by ChenZongYan in 2024 <czy.t@163.com>
10 * Summary of major modifications (see ChangeLog.md for full history):
11 * 1. CMake build system & C++11 throughout.
12 * 2. Core panner/ zoomer refactored:
13 * - QwtPanner → QwtCachePanner (pixmap-cache version)
14 * - New real-time QwtPlotPanner derived from QwtPicker.
15 * 3. Zoomer supports multi-axis.
16 * 4. Parasite-plot framework:
17 * - QwtFigure, QwtPlotParasiteLayout, QwtPlotTransparentCanvas,
18 * - QwtPlotScaleEventDispatcher, built-in pan/zoom on axis.
19 * 5. New picker: QwtPlotSeriesDataPicker (works with date axis).
20 * 6. Raster & color-map extensions:
21 * - QwtGridRasterData (2-D table + interpolation)
22 * - QwtLinearColorMap::stopColors(), stopPos() API rename.
23 * 7. Bar-chart: expose pen/brush control.
24 * 8. Amalgamated build: single QwtPlot.h / QwtPlot.cpp pair in src-amalgamate.
25 *****************************************************************************/
26
27#ifndef QWT_CURVE_FITTER_H
28#define QWT_CURVE_FITTER_H
29
30#include "qwt_global.h"
31
32class QPainterPath;
33class QPolygonF;
34
38class QWT_EXPORT QwtCurveFitter
39{
40 public:
49 enum Mode
50 {
58
65 Path
66 };
67
68 virtual ~QwtCurveFitter();
69
70 Mode mode() const;
71
80 virtual QPolygonF fitCurve( const QPolygonF& polygon ) const = 0;
81
90 virtual QPainterPath fitCurvePath( const QPolygonF& polygon ) const = 0;
91
92 protected:
93 explicit QwtCurveFitter( Mode mode );
94
95 private:
96 Q_DISABLE_COPY(QwtCurveFitter)
97
98 const Mode m_mode;
99};
100
101#endif
Abstract base class for a curve fitter.
Definition qwt_curve_fitter.h:39
virtual QPainterPath fitCurvePath(const QPolygonF &polygon) const =0
Find a curve path which has the best fit to a series of data points.
Mode
Preferred mode of the fitting algorithm.
Definition qwt_curve_fitter.h:50
@ Polygon
The fitting algorithm creates a polygon - the implementation of fitCurvePath() simply wraps the polyg...
Definition qwt_curve_fitter.h:57
virtual QPolygonF fitCurve(const QPolygonF &polygon) const =0
Find a curve which has the best fit to a series of data points.