7 #ifndef GEOMETRY_STRATEGY_ABSTRACT_BASE_H 8 #define GEOMETRY_STRATEGY_ABSTRACT_BASE_H 40 QVector<QString> &distanceGraphForward,
41 QVector<QString> &distancePercentForward,
42 QVector<QString> &distanceGraphBackward,
43 QVector<QString> &distancePercentBackward)
const = 0;
50 QVector<QPointF> &positionsGraph)
const;
53 double functionArea (
const QVector<QPointF> &positionsGraph)
const;
59 const QVector<QPointF> &positionsGraph,
60 QVector<QPointF> &positionsGraphWithSubintervals,
61 QVector<QString> &distanceGraphForward,
62 QVector<QString> &distancePercentForward,
63 QVector<QString> &distanceGraphBackward,
64 QVector<QString> &distancePercentBackward)
const;
67 void loadXY (
const QVector<QPointF> &positionsGraph,
73 QVector<QString> &y)
const;
81 #endif // GEOMETRY_STRATEGY_ABSTRACT_BASE_H Model for DlgSettingsGeneral and CmdSettingsGeneral.
double functionArea(const QVector< QPointF > &positionsGraph) const
Use trapezoidal approximation to compute area under the function. Does not apply to relation...
void calculatePositionsGraph(const Points &points, const Transformation &transformation, QVector< QPointF > &positionsGraph) const
Convert screen positions to graph positions.
void loadXY(const QVector< QPointF > &positionsGraph, const DocumentModelCoords &modelCoords, const DocumentModelGeneral &modelGeneral, const MainWindowModel &modelMainWindow, const Transformation &transformation, QVector< QString > &x, QVector< QString > &y) const
Load x and y coordinate vectors.
virtual void calculateGeometry(const Points &points, const DocumentModelCoords &modelCoords, const DocumentModelGeneral &modelGeneral, const MainWindowModel &modelMainWindow, const Transformation &transformation, QString &funcArea, QString &polyArea, QVector< QString > &x, QVector< QString > &y, QVector< QString > &distanceGraphForward, QVector< QString > &distancePercentForward, QVector< QString > &distanceGraphBackward, QVector< QString > &distancePercentBackward) const =0
Calculate geometry parameters.
Base class for all geometry strategies.
Model for DlgSettingsMainWindow.
Model for DlgSettingsCoords and CmdSettingsCoords.
double polygonAreaForSimplyConnected(const QVector< QPointF > &points) const
Area in polygon using Shoelace formula, which only works if polygon is simply connected.
GeometryStrategyAbstractBase()
Single constructor.
void insertSubintervalsAndLoadDistances(int subintervalsPerInterval, const QVector< QPointF > &positionsGraph, QVector< QPointF > &positionsGraphWithSubintervals, QVector< QString > &distanceGraphForward, QVector< QString > &distancePercentForward, QVector< QString > &distanceGraphBackward, QVector< QString > &distancePercentBackward) const
Insert the specified number of subintervals into each interval.