00001
00002
00003 #ifndef curve_simple_h
00004 #define curve_simple_h
00005
00006
00007
00008 #include "sxy_series.h"
00009 #include "sxy_curve.h"
00010
00011
00012
00013 typedef enum {
00014 SIMPLE_CURVE_MARK_MASK,
00015 SIMPLE_CURVE_LINE_MASK,
00016 SIMPLE_CURVE_LINEAR_MASK,
00017 SIMPLE_CURVE_PARABOLIC_MASK,
00018 SIMPLE_CURVE_LAST_MASK
00019 }SXYSimpleCurveMasks;
00020
00021 typedef enum {
00022 SIMPLE_CURVE_ORIGINAL_SERIES,
00023 SIMPLE_CURVE_LINEAR_SERIES,
00024 SIMPLE_CURVE_PARABOLIC_SERIES,
00025 SIMPLE_CURVE_LAST_SERIES
00026 }SXYSimpleCurveSeries;
00027
00033 class SXYSimpleCurve : public SXYCurve {
00034
00035 SXYSeries* original_series;
00036
00037 public:
00038
00039 unsigned int getNumMasksCallback(void);
00040 unsigned int getNumSeriesCallback(void);
00041
00042 XYCartesianMask* createMaskCallback(unsigned int m);
00043 SXYSeries* createSeriesCallback(unsigned int s);
00044
00045 void destroyMaskCallback(unsigned int m, XYCartesianMask* msk);
00046 void destroySeriesCallback(unsigned int s, SXYSeries* srs);
00047 unsigned int mapMaskToSeriesCallback(unsigned int m);
00048
00049 unsigned int tryPointEditionCallback(unsigned int m, unsigned int s,
00050 unsigned int n);
00051 void movingPointCallback(unsigned int m, unsigned int s, unsigned int n,
00052 double x, double y);
00053 unsigned int editedPointCallback(unsigned int m, unsigned int s,
00054 unsigned int n, double x, double y);
00055
00056 unsigned int getCurveNumPoints();
00057 unsigned int getCurvePoint(unsigned int n, double& x, double& y);
00058
00059 SXYSeries* getOriginalSeries(void);
00060
00061 virtual ~SXYSimpleCurve();
00062 SXYSimpleCurve(SXYSeries* series);
00063 };
00064
00065 #endif
00066