Engauge Digitizer  2
GeometryStrategyContext.h
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<QString> &distanceGraphForward,
40  QVector<QString> &distancePercentForward,
41  QVector<QString> &distanceGraphBackward,
42  QVector<QString> &distancePercentBackward) const;
43 
44 private:
45 
46  QVector<GeometryStrategyAbstractBase*> m_strategies;
47 
48 };
49 
50 #endif // GEOMETRY_STRATEGY_CONTEXT_H
Model for DlgSettingsGeneral and CmdSettingsGeneral.
Base class for all geometry strategies.
GeometryStrategyContext()
Single constructor.
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.
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< QString > &distanceGraphForward, QVector< QString > &distancePercentForward, QVector< QString > &distanceGraphBackward, QVector< QString > &distancePercentBackward) const
Calculate geometry parameters.