QtiPlot  0.9.8.2
Interpolation.h
Go to the documentation of this file.
1 /***************************************************************************
2  File : Interpolation.h
3  Project : QtiPlot
4  --------------------------------------------------------------------
5  Copyright : (C) 2007 by Ion Vasilief
6  Email (use @ for *) : ion_vasilief*yahoo.fr
7  Description : Numerical interpolation of data sets
8 
9  ***************************************************************************/
10 
11 /***************************************************************************
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU General Public License as published by *
15  * the Free Software Foundation; either version 2 of the License, or *
16  * (at your option) any later version. *
17  * *
18  * This program is distributed in the hope that it will be useful, *
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
21  * GNU General Public License for more details. *
22  * *
23  * You should have received a copy of the GNU General Public License *
24  * along with this program; if not, write to the Free Software *
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
26  * Boston, MA 02110-1301 USA *
27  * *
28  ***************************************************************************/
29 #ifndef INTERPOLATION_H
30 #define INTERPOLATION_H
31 
32 #include "Filter.h"
33 
34 class QwtPlotCurve;
35 class Interpolation : public Filter
36 {
37 Q_OBJECT
38 
39 public:
41 
42  Interpolation(ApplicationWindow *parent, QwtPlotCurve *c, int m = 0);
43  Interpolation(ApplicationWindow *parent, QwtPlotCurve *c, double start, double end, int m = 0);
44  Interpolation(ApplicationWindow *parent, Graph *g, const QString& curveTitle, int m = 0);
45  Interpolation(ApplicationWindow *parent, Graph *g, const QString& curveTitle, double start, double end, int m = 0);
46  Interpolation(ApplicationWindow *parent, Table *t, const QString& xCol, const QString& yCol, int start = 0, int end = -1, int m = 0);
47 
48  int method(){return d_method;};
49  void setMethod(int m);
50 
51 private:
52  void init(int m);
53  void calculateOutputData(double *x, double *y);
54  int sortedCurveData(QwtPlotCurve *c, double start, double end, double **x, double **y);
55 
57  int d_method;
58 };
59 
60 #endif
Definition: Interpolation.h:40
int d_method
the interpolation method
Definition: Interpolation.h:57
A 2D-plotting widget.
Definition: Graph.h:123
int method()
Definition: Interpolation.h:48
Abstract base class for data analysis operations.
Definition: Filter.h:43
void setMethod(int m)
Definition: Interpolation.cpp:114
InterpolationMethod
Definition: Interpolation.h:40
void init()
Definition: Filter.cpp:79
Definition: Interpolation.h:40
QtiPlot's main window.
Definition: ApplicationWindow.h:133
int sortedCurveData(QwtPlotCurve *c, double start, double end, double **x, double **y)
Same as curveData, but sorts the points by their x value.
Definition: Interpolation.cpp:196
Definition: Interpolation.h:35
Definition: Interpolation.h:40
double * x()
Returns the x values of the input data set.
Definition: Filter.h:98
void calculateOutputData(double *x, double *y)
Calculates the data for the output curve and store it in the X an Y vectors.
Definition: Interpolation.cpp:166
double * y()
Returns the y values of the input data set.
Definition: Filter.h:100
MDI window providing a spreadsheet table with column logic.
Definition: Table.h:57
Interpolation(ApplicationWindow *parent, QwtPlotCurve *c, int m=0)
Definition: Interpolation.cpp:37