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
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.
Affine transformation between screen and graph coordinates, based on digitized axis points...
Utility class to interpolate points spaced evenly along a piecewise defined curve with fitted spline...
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...
ExportOrdinalsSmooth()
Single constructor.
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...