Engauge Digitizer 2
Loading...
Searching...
No Matches
OrdinalGenerator Class Reference

Utility class for generating ordinal numbers. More...

#include <OrdinalGenerator.h>

Collaboration diagram for OrdinalGenerator:
Collaboration graph

Public Member Functions

 OrdinalGenerator ()
double generateAxisPointOrdinal (const Document &document)
 Select ordinal just for uniqueness, since there is never a curve drawn through the axis points.
double generateCurvePointOrdinal (const Document &document, const Transformation &transformation, const QPointF &posScreen, const QString &curveName)
 Select ordinal so new point curve passes smoothly through existing points.

Detailed Description

Utility class for generating ordinal numbers.

For axis points, the ordinals are arbitrary but must be unique. For curve points, point is inserted according to its position and the CurveStyle settings

Definition at line 18 of file OrdinalGenerator.h.

Constructor & Destructor Documentation

◆ OrdinalGenerator()

OrdinalGenerator::OrdinalGenerator ( )

Definition at line 12 of file OrdinalGenerator.cpp.

13{
14}

Member Function Documentation

◆ generateAxisPointOrdinal()

double OrdinalGenerator::generateAxisPointOrdinal ( const Document & document)

Select ordinal just for uniqueness, since there is never a curve drawn through the axis points.

Definition at line 16 of file OrdinalGenerator.cpp.

17{
18 // Values that really only apply to curve points. These are set arbitrarily
19 QPointF posScreen (0, 0);
20 Transformation transformation;
21
22 CallbackPointOrdinal ftor (document.modelCurveStyles().lineStyle(AXIS_CURVE_NAME),
23 transformation,
24 posScreen);
25
26 Functor2wRet<const Point&, const Point&, CallbackSearchReturn> ftorWithCallback = functor_ret (ftor,
29 ftorWithCallback);
30
31 return ftor.ordinal () + 1.0;
32}
const QString AXIS_CURVE_NAME
CallbackSearchReturn callback(const Point &pointStart, const Point &pointStop)
Callback method.
const LineStyle lineStyle(const QString &curveName) const
Get method for copying one line style in one step.
void iterateThroughCurveSegments(const QString &curveName, const Functor2wRet< const Point &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
See Curve::iterateThroughCurveSegments, for any axes or graph curve.
Definition Document.cpp:469
CurveStyles modelCurveStyles() const
Get method for CurveStyles.
Definition Document.cpp:714

◆ generateCurvePointOrdinal()

double OrdinalGenerator::generateCurvePointOrdinal ( const Document & document,
const Transformation & transformation,
const QPointF & posScreen,
const QString & curveName )

Select ordinal so new point curve passes smoothly through existing points.

Definition at line 34 of file OrdinalGenerator.cpp.

38{
39 CallbackPointOrdinal ftor (document.modelCurveStyles().lineStyle(curveName),
40 transformation,
41 posScreen);
42
43 Functor2wRet<const Point&, const Point&, CallbackSearchReturn> ftorWithCallback = functor_ret (ftor,
45 document.iterateThroughCurveSegments (curveName,
46 ftorWithCallback);
47
48 return ftor.ordinal () + 1.0;
49}

The documentation for this class was generated from the following files: