7 #include "GeometryStrategyFunctionSmooth.h" 9 #include "SplineDrawer.h" 10 #include "SplinePair.h" 11 #include "Transformation.h" 19 GeometryStrategyFunctionSmooth::~GeometryStrategyFunctionSmooth()
32 QVector<bool> &isPotentialExportAmbiguity,
33 QVector<QString> &distanceGraphForward,
34 QVector<QString> &distancePercentForward,
35 QVector<QString> &distanceGraphBackward,
36 QVector<QString> &distancePercentBackward)
const 38 const int NUM_SUB_INTERVALS_SMOOTH = 10;
40 QVector<QPointF> positionsGraph, positionsGraphWithSubintervals;
41 calculatePositionsGraph (points,
45 insertSubintervalsAndLoadDistances (NUM_SUB_INTERVALS_SMOOTH,
47 positionsGraphWithSubintervals,
49 distancePercentForward,
50 distanceGraphBackward,
51 distancePercentBackward);
52 double fArea = functionArea (positionsGraphWithSubintervals);
54 loadXY (positionsGraph,
62 loadSmoothAmbiguityVector (x,
65 isPotentialExportAmbiguity);
68 funcArea = QString::number (fArea);
72 void GeometryStrategyFunctionSmooth::loadSmoothAmbiguityVector (QVector<QString> &x,
75 QVector<bool> &isPotentialExportAmbiguity)
const 78 int numSegments = x.size () - 1;
87 vector<double> t (x.size ());
88 vector<SplinePair> xy (x.size ());
89 for (
int i = 0; i < x.size (); i++) {
92 y.at (i).toDouble ());
99 for (
int segment = 0; segment < numSegments; segment++) {
100 bool isMultiValued = sd.segmentIsMultiValued (s,
103 isPotentialExportAmbiguity.push_back (isMultiValued);
107 for (
int segment = 0; segment < numSegments; segment++) {
108 isPotentialExportAmbiguity.push_back (
false);
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< bool > &isPotentialExportAmbiguity, QVector< QString > &distanceGraphForward, QVector< QString > &distancePercentForward, QVector< QString > &distanceGraphBackward, QVector< QString > &distancePercentBackward) const
Calculate geometry parameters.
Model for DlgSettingsGeneral and CmdSettingsGeneral.
Cubic interpolation given independent and dependent value vectors.
Model for DlgSettingsMainWindow.
Model for DlgSettingsCoords and CmdSettingsCoords.
This class takes the output from Spline and uses that to draw the curve in the graphics window...
Single X/Y pair for cubic spline interpolation initialization and calculations.
GeometryStrategyFunctionSmooth()
Single constructor.