Engauge Digitizer  2
ExportOrdinalsSmooth.h
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef EXPORT_ORDINALS_SMOOTH_H
8 #define EXPORT_ORDINALS_SMOOTH_H
9 
10 #include "ExportValuesOrdinal.h"
11 #include "Point.h"
12 #include "Points.h"
13 #include "SplinePair.h"
14 #include <QList>
15 #include <vector>
16 
17 class Transformation;
18 
21 {
22  public:
25 
27  void loadSplinePairsWithoutTransformation (const Points &points,
28  std::vector<double> &t,
29  std::vector<SplinePair> &xy) const;
30 
32  void loadSplinePairsWithTransformation (const Points &points,
33  const Transformation &transformation,
34  bool isLogXTheta,
35  bool isLogYRadius,
36  std::vector<double> &t,
37  std::vector<SplinePair> &xy) const;
38 
40  ExportValuesOrdinal ordinalsAtIntervalsGraph (const std::vector<double> &t,
41  const std::vector<SplinePair> &xy,
42  double pointsInterval) const;
43 };
44 
45 #endif // EXPORT_ORDINALS_SMOOTH_H
void loadSplinePairsWithTransformation(const Points &points, const Transformation &transformation, bool isLogXTheta, bool isLogYRadius, std::vector< double > &t, std::vector< SplinePair > &xy) const
Load t (=ordinal) and xy (=screen position) spline pairs, converting screen coordinates to graph coor...
Affine transformation between screen and graph coordinates, based on digitized axis points...
void loadSplinePairsWithoutTransformation(const Points &points, std::vector< double > &t, std::vector< SplinePair > &xy) const
Load t (=ordinal) and xy (=screen position) spline pairs, without any conversion to graph coordinates...
Utility class to interpolate points spaced evenly along a piecewise defined curve with fitted spline...
ExportValuesOrdinal ordinalsAtIntervalsGraph(const std::vector< double > &t, const std::vector< SplinePair > &xy, double pointsInterval) const
Perform the interpolation on the arrays loaded by the other methods.
ExportOrdinalsSmooth()
Single constructor.