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);
Model for DlgSettingsGeneral and CmdSettingsGeneral.
virtual ~GeometryStrategyFunctionSmooth()
Cubic interpolation given independent and dependent value vectors.
bool segmentIsMultiValued(const Spline &spline, int numSegments, int segment) const
Return true if specified segment is multi-valued, else false.
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...
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 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.