Engauge Digitizer  2
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
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  std::vector<double> &t,
35  std::vector<SplinePair> &xy) const;
36 
38  ExportValuesOrdinal ordinalsAtIntervalsGraph (const std::vector<double> &t,
39  const std::vector<SplinePair> &xy,
40  double pointsInterval) const;
41 };
42 
43 #endif // EXPORT_ORDINALS_SMOOTH_H
Affine transformation between screen and graph coordinates, based on digitized axis points...
void loadSplinePairsWithTransformation(const Points &points, const Transformation &transformation, std::vector< double > &t, std::vector< SplinePair > &xy) const
Load t (=ordinal) and xy (=screen position) spline pairs, converting screen coordinates to graph coor...
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.