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);
75 QVector<bool> &isPotentialExportAmbiguity)
const 78 int numSegments = x.size () - 1;
87 vector<double> t (
unsigned (x.size ()));
88 vector<SplinePair> xy (
unsigned (x.size ()));
89 for (
unsigned int i = 0; i < unsigned (x.size ()); i++) {
91 xy [i] =
SplinePair (x.at (signed (i)).toDouble (),
92 y.at (
signed (i)).toDouble ());
99 for (
int segment = 0; segment < numSegments; segment++) {
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.
virtual ~GeometryStrategyFunctionSmooth()
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...
bool segmentIsMultiValued(const Spline &spline, int numSegments, int segment) const
Return true if specified segment is multi-valued, else false.
Single X/Y pair for cubic spline interpolation initialization and calculations.
GeometryStrategyFunctionSmooth()
Single constructor.
virtual void loadSmoothAmbiguityVector(QVector< QString > &x, QVector< QString > &y, const Transformation &transformation, QVector< bool > &isPotentialExportAmbiguity) const
Generate a vector that identifies points belonging to segments that overlap, for smoothly connected f...