1
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
3
* Copyright (C) 1997 Josef Wilgen
4
* Copyright (C) 2002 Uwe Rathmann
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
*****************************************************************************/
10
#ifndef QWT_CURVE_FITTER_H
11
#define QWT_CURVE_FITTER_H
13
#include "qwt_global.h"
14
#include "qwt_double_rect.h"
18
#if QT_VERSION >= 0x040000
21
#include "qwt_array.h"
26
#if defined(QWT_TEMPLATEDLL)
28
#if QT_VERSION < 0x040000
29
#ifndef QWTARRAY_TEMPLATE_QWTDOUBLEPOINT // by mjo3
30
#define QWTARRAY_TEMPLATE_QWTDOUBLEPOINT
31
template class QWT_EXPORT QwtArray<QwtDoublePoint>;
32
#endif //end of QWTARRAY_TEMPLATE_QWTDOUBLEPOINT
40
\brief Abstract base class for a curve fitter
42
class QWT_EXPORT QwtCurveFitter
45
virtual ~QwtCurveFitter();
47
#if QT_VERSION < 0x040000
48
virtual QwtArray<QwtDoublePoint> fitCurve(
49
const QwtArray<QwtDoublePoint>&) const = 0;
51
virtual QPolygonF fitCurve(const QPolygonF &) const = 0;
58
QwtCurveFitter( const QwtCurveFitter & );
59
QwtCurveFitter &operator=( const QwtCurveFitter & );
63
\brief A curve fitter using cubic splines
65
class QWT_EXPORT QwtSplineCurveFitter: public QwtCurveFitter
75
QwtSplineCurveFitter();
76
virtual ~QwtSplineCurveFitter();
78
void setFitMode(FitMode);
79
FitMode fitMode() const;
81
void setSpline(const QwtSpline&);
82
const QwtSpline &spline() const;
85
void setSplineSize(int size);
86
int splineSize() const;
88
#if QT_VERSION < 0x040000
89
virtual QwtArray<QwtDoublePoint> fitCurve(
90
const QwtArray<QwtDoublePoint> &) const;
92
virtual QPolygonF fitCurve(const QPolygonF &) const;
96
#if QT_VERSION < 0x040000
97
QwtArray<QwtDoublePoint> fitSpline(
98
const QwtArray<QwtDoublePoint> &) const;
99
QwtArray<QwtDoublePoint> fitParametric(
100
const QwtArray<QwtDoublePoint> &) const;
102
QPolygonF fitSpline(const QPolygonF &) const;
103
QPolygonF fitParametric(const QPolygonF &) const;