Engauge Digitizer  2
ExportFileRelations.h
1 #ifndef EXPORT_FILE_RELATIONS_H
2 #define EXPORT_FILE_RELATIONS_H
3 
4 #include "ExportFileAbstractBase.h"
5 #include "ExportPointsIntervalUnits.h"
6 #include "ExportValuesOrdinal.h"
7 #include <QStringList>
8 #include <QVector>
9 
10 class Document;
13 class QTextStream;
14 class Transformation;
15 
18 {
19 public:
22 
25  void exportToFile (const DocumentModelExportFormat &modelExportOverride,
26  const Document &document,
27  const Transformation &transformation,
28  QTextStream &str) const;
29 
30 private:
31  void exportAllPerLineXThetaValuesMerged (const DocumentModelExportFormat &modelExportOverride,
32  const Document &document,
33  const QStringList &curvesIncluded,
34  const QString &delimiter,
35  const Transformation &transformation,
36  QTextStream &str) const;
37  void exportOnePerLineXThetaValuesMerged (const DocumentModelExportFormat &modelExportOverride,
38  const Document &document,
39  const QStringList &curvesIncluded,
40  const QString &delimiter,
41  const Transformation &transformation,
42  QTextStream &str) const;
43  void initializeXThetaYRadiusValues (const QStringList &curvesIncluded,
44  QVector<QVector<QString*> > &xThetaYRadiusValues) const;
45  QPointF linearlyInterpolate (const Points &points,
46  double ordinal,
47  const Transformation &transformation) const;
48  void loadXThetaYRadiusValues (const DocumentModelExportFormat &modelExportOverride,
49  const Document &document,
50  const QStringList &curvesIncluded,
51  const Transformation &transformation,
52  QVector<QVector<QString*> > &xThetaYRadiusValues) const;
53  void loadXThetaYRadiusValuesForCurveInterpolatedSmooth (const DocumentModelCoords &modelCoords,
54  const Points &points,
55  const ExportValuesOrdinal &ordinals,
56  QVector<QString*> &xThetaValues,
57  QVector<QString*> &yRadiusValues,
58  const Transformation &transformation) const;
59  void loadXThetaYRadiusValuesForCurveInterpolatedStraight (const DocumentModelCoords &modelCoords,
60  const Points &points,
61  const ExportValuesOrdinal &ordinals,
62  QVector<QString*> &xThetaValues,
63  QVector<QString*> &yRadiusValues,
64  const Transformation &transformation) const;
65  void loadXThetaYRadiusValuesForCurveRaw (const DocumentModelCoords &modelCoords,
66  const Points &points,
67  QVector<QString*> &xThetaValues,
68  QVector<QString*> &yRadiusValues,
69  const Transformation &transformation) const;
70  int maxColumnSizeAllocation (const DocumentModelExportFormat &modelExportOverride,
71  const Document &document,
72  const Transformation &transformation,
73  const QStringList &curvesIncluded) const;
74  ExportValuesOrdinal ordinalsAtIntervals (double pointsIntervalRelations,
75  ExportPointsIntervalUnits pointsIntervalUnits,
76  CurveConnectAs curveConnectAs,
77  const Transformation &transformation,
78  const Points &points) const;
79  ExportValuesOrdinal ordinalsAtIntervalsSmoothGraph (double pointsIntervalRelations,
80  const Transformation &transformation,
81  const Points &points) const;
82  ExportValuesOrdinal ordinalsAtIntervalsSmoothScreen (double pointsIntervalRelations,
83  const Points &points) const;
84  ExportValuesOrdinal ordinalsAtIntervalsStraightGraph (double pointsIntervalRelations,
85  const Transformation &transformation,
86  const Points &points) const;
87  ExportValuesOrdinal ordinalsAtIntervalsStraightScreen (double pointsIntervalRelations,
88  const Points &points) const;
89 
91  void outputXThetaYRadiusValues (const DocumentModelExportFormat &modelExport,
92  const QStringList &curvesIncluded,
93  QVector<QVector<QString*> > &xThetaYRadiusValues,
94  const QString &delimiter,
95  QTextStream &str) const;
96 };
97 
98 #endif // EXPORT_FILE_RELATIONS_H
void exportToFile(const DocumentModelExportFormat &modelExportOverride, const Document &document, const Transformation &transformation, QTextStream &str) const
Export Document points according to the settings.
Model for DlgSettingsExportFormat and CmdSettingsExportFormat.
Affine transformation between screen and graph coordinates, based on digitized axis points...
Strategy class for exporting to a file. This strategy is external to the Document class so that class...
Model for DlgSettingsCoords and CmdSettingsCoords.
Storage of one imported image and the data attached to that image.
Definition: Document.h:28
Strategy base class for exporting to a file. This class provides common methods.
ExportFileRelations()
Single constructor.