Interpolation.h
Go to the documentation of this file.
/***************************************************************************
File : Interpolation.h
Project : QtiPlot
--------------------------------------------------------------------
Copyright : (C) 2007 by Ion Vasilief
Email (use @ for *) : ion_vasilief*yahoo.fr
Description : Numerical interpolation of data sets
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301 USA *
* *
***************************************************************************/
#ifndef INTERPOLATION_H
#define INTERPOLATION_H
#include "Filter.h"
class QwtPlotCurve;
class Interpolation : public Filter
{
Q_OBJECT
public:
enum InterpolationMethod{Linear, Cubic, Akima};
Interpolation(ApplicationWindow *parent, QwtPlotCurve *c, int m = 0);
Interpolation(ApplicationWindow *parent, QwtPlotCurve *c, double start, double end, int m = 0);
Interpolation(ApplicationWindow *parent, Graph *g, const QString& curveTitle, int m = 0);
Interpolation(ApplicationWindow *parent, Graph *g, const QString& curveTitle, double start, double end, int m = 0);
Interpolation(ApplicationWindow *parent, Table *t, const QString& xCol, const QString& yCol, int start = 0, int end = -1, int m = 0);
int method(){return d_method;};
void setMethod(int m);
private:
void init(int m);
void calculateOutputData(double *x, double *y);
int sortedCurveData(QwtPlotCurve *c, double start, double end, double **x, double **y);
int d_method;
};
#endif
Interpolation::Cubic
Definition: Interpolation.h:40
Interpolation::d_method
int d_method
the interpolation method
Definition: Interpolation.h:57
Graph
A 2D-plotting widget.
Definition: Graph.h:123
Interpolation::method
int method()
Definition: Interpolation.h:48
Filter
Abstract base class for data analysis operations.
Definition: Filter.h:43
Filter.h
Interpolation::setMethod
void setMethod(int m)
Definition: Interpolation.cpp:114
Interpolation::InterpolationMethod
InterpolationMethod
Definition: Interpolation.h:40
Filter::init
void init()
Definition: Filter.cpp:79
Interpolation::Linear
Definition: Interpolation.h:40
ApplicationWindow
QtiPlot&#39;s main window.
Definition: ApplicationWindow.h:133
Interpolation::sortedCurveData
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
Interpolation
Definition: Interpolation.h:35
Interpolation::Akima
Definition: Interpolation.h:40
Filter::x
double * x()
Returns the x values of the input data set.
Definition: Filter.h:98
Interpolation::calculateOutputData
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
Filter::y
double * y()
Returns the y values of the input data set.
Definition: Filter.h:100
Table
MDI window providing a spreadsheet table with column logic.
Definition: Table.h:57
Interpolation::Interpolation
Interpolation(ApplicationWindow *parent, QwtPlotCurve *c, int m=0)
Definition: Interpolation.cpp:37