Engauge Digitizer  2
GeometryStrategyContext.h
Go to the documentation of this file.
1 /******************************************************************************************************
2  * (C) 2016 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 GEOMETRY_STRATEGY_CONTEXT_H
8 #define GEOMETRY_STRATEGY_CONTEXT_H
9 
10 #include "CurveConnectAs.h"
11 #include "MainWindowModel.h"
12 #include "Points.h"
13 #include <QVector>
14 
18 class Transformation;
19 
22 {
23 public:
26  virtual ~GeometryStrategyContext ();
27 
29  void calculateGeometry (const Points &points,
30  const DocumentModelCoords &modelCoords,
31  const DocumentModelGeneral &modelGeneral,
32  const MainWindowModel &modelMainWindow,
33  const Transformation &transformation,
34  CurveConnectAs connectAs,
35  QString &funcArea,
36  QString &polyArea,
37  QVector<QString> &x,
38  QVector<QString> &y,
39  QVector<bool> &isPotentialExportAmbiguity,
40  QVector<QString> &distanceGraphForward,
41  QVector<QString> &distancePercentForward,
42  QVector<QString> &distanceGraphBackward,
43  QVector<QString> &distancePercentBackward) const;
44 
45 private:
46 
47  QVector<GeometryStrategyAbstractBase*> m_strategies;
48 
49 };
50 
51 #endif // GEOMETRY_STRATEGY_CONTEXT_H
Model for DlgSettingsGeneral and CmdSettingsGeneral.
Base class for all geometry strategies.
GeometryStrategyContext()
Single constructor.
void calculateGeometry(const Points &points, const DocumentModelCoords &modelCoords, const DocumentModelGeneral &modelGeneral, const MainWindowModel &modelMainWindow, const Transformation &transformation, CurveConnectAs connectAs, QString &funcArea, QString &polyArea, QVector< QString > &x, QVector< QString > &y, QVector< bool > &isPotentialExportAmbiguity, QVector< QString > &distanceGraphForward, QVector< QString > &distancePercentForward, QVector< QString > &distanceGraphBackward, QVector< QString > &distancePercentBackward) const
Calculate geometry parameters.
Affine transformation between screen and graph coordinates, based on digitized axis points...
Class for that manages geometry strategies.
Model for DlgSettingsMainWindow.
Model for DlgSettingsCoords and CmdSettingsCoords.
CurveConnectAs
QList< Point > Points
Definition: Points.h:13