00001
00002
00003
00004
00005
00006
00007 #include "CallbackPointOrdinal.h"
00008 #include "Document.h"
00009 #include "OrdinalGenerator.h"
00010 #include "Transformation.h"
00011
00012 OrdinalGenerator::OrdinalGenerator ()
00013 {
00014 }
00015
00016 double OrdinalGenerator::generateAxisPointOrdinal (const Document &document)
00017 {
00018
00019 QPointF posScreen (0, 0);
00020 Transformation transformation;
00021
00022 CallbackPointOrdinal ftor (document.modelCurveStyles().lineStyle(AXIS_CURVE_NAME),
00023 transformation,
00024 posScreen);
00025
00026 Functor2wRet<const Point&, const Point&, CallbackSearchReturn> ftorWithCallback = functor_ret (ftor,
00027 &CallbackPointOrdinal::callback);
00028 document.iterateThroughCurveSegments (AXIS_CURVE_NAME,
00029 ftorWithCallback);
00030
00031 return ftor.ordinal () + 1.0;
00032 }
00033
00034 double OrdinalGenerator::generateCurvePointOrdinal (const Document &document,
00035 const Transformation &transformation,
00036 const QPointF &posScreen,
00037 const QString &curveName)
00038 {
00039 CallbackPointOrdinal ftor (document.modelCurveStyles().lineStyle(curveName),
00040 transformation,
00041 posScreen);
00042
00043 Functor2wRet<const Point&, const Point&, CallbackSearchReturn> ftorWithCallback = functor_ret (ftor,
00044 &CallbackPointOrdinal::callback);
00045 document.iterateThroughCurveSegments (curveName,
00046 ftorWithCallback);
00047
00048 return ftor.ordinal () + 1.0;
00049 }