Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

sxy_curve_simple.h

Go to the documentation of this file.
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 

SXY
Tecgraf / PUC-Rio - Computer Graphics Technology Group