00001
00002
00003
00004
00005
00006
00007 #include "GeometryStrategyRelationStraight.h"
00008 #include "Transformation.h"
00009
00010 GeometryStrategyRelationStraight::GeometryStrategyRelationStraight()
00011 {
00012 }
00013
00014 GeometryStrategyRelationStraight::~GeometryStrategyRelationStraight()
00015 {
00016 }
00017
00018 void GeometryStrategyRelationStraight::calculateGeometry (const Points &points,
00019 const DocumentModelCoords &modelCoords,
00020 const DocumentModelGeneral &modelGeneral,
00021 const MainWindowModel &modelMainWindow,
00022 const Transformation &transformation,
00023 QString &funcArea,
00024 QString &polyArea,
00025 QVector<QString> &x,
00026 QVector<QString> &y,
00027 QVector<QString> &distanceGraphForward,
00028 QVector<QString> &distancePercentForward,
00029 QVector<QString> &distanceGraphBackward,
00030 QVector<QString> &distancePercentBackward) const
00031 {
00032 const int NUM_SUB_INTERVALS_STRAIGHT = 1;
00033
00034 QVector<QPointF> positionsGraph, positionsGraphWithSubintervals;
00035 calculatePositionsGraph (points,
00036 transformation,
00037 positionsGraph);
00038
00039 insertSubintervalsAndLoadDistances (NUM_SUB_INTERVALS_STRAIGHT,
00040 positionsGraph,
00041 positionsGraphWithSubintervals,
00042 distanceGraphForward,
00043 distancePercentForward,
00044 distanceGraphBackward,
00045 distancePercentBackward);
00046 double pArea = polygonAreaForSimplyConnected (positionsGraphWithSubintervals);
00047
00048 loadXY (positionsGraph,
00049 modelCoords,
00050 modelGeneral,
00051 modelMainWindow,
00052 transformation,
00053 x,
00054 y);
00055
00056
00057 funcArea = "";
00058 polyArea = QString::number (pArea);
00059 }