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
MainWindowModel.h
Points
QList< Point > Points
Definition: Points.h:12
GeometryStrategyAbstractBase
Base class for all geometry strategies.
Definition: GeometryStrategyAbstractBase.h:23
GeometryStrategyContext
Class for that manages geometry strategies.
Definition: GeometryStrategyContext.h:20
Transformation
Affine transformation between screen and graph coordinates, based on digitized axis points.
Definition: Transformation.h:30
Points.h
MainWindowModel
Model for DlgSettingsMainWindow.
Definition: MainWindowModel.h:29
DocumentModelGeneral
Model for DlgSettingsGeneral and CmdSettingsGeneral.
Definition: DocumentModelGeneral.h:15
GeometryStrategyContext::GeometryStrategyContext
GeometryStrategyContext()
Single constructor.
Definition: GeometryStrategyContext.cpp:17
GeometryStrategyContext::calculateGeometry
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.
Definition: GeometryStrategyContext.cpp:30
CurveConnectAs.h
CurveConnectAs
CurveConnectAs
Definition: CurveConnectAs.h:11
DocumentModelCoords
Model for DlgSettingsCoords and CmdSettingsCoords.
Definition: DocumentModelCoords.h:19
GeometryStrategyContext::~GeometryStrategyContext
virtual ~GeometryStrategyContext()
Definition: GeometryStrategyContext.cpp:25