gr-qtgui: add include file for gcc 4.4.1
[debian/gnuradio] / gr-qtgui / src / lib / waterfallGlobalData.h
1 #ifndef WATERFALL_GLOBAL_DATA_HPP
2 #define WATERFALL_GLOBAL_DATA_HPP
3
4 #include <qwt_raster_data.h>
5 #include <qwt3d_function.h>
6 #include <inttypes.h>
7
8 class Waterfall3DDisplayPlot;
9
10 class WaterfallData: public QwtRasterData
11 {
12 public:
13   WaterfallData(const double, const double, const uint64_t, const unsigned int);
14   virtual ~WaterfallData();
15   
16   virtual void Reset();
17   virtual void Copy(const WaterfallData*);
18   
19   virtual void ResizeData(const double, const double, const uint64_t);
20   
21   virtual QwtRasterData *copy() const;
22   virtual QwtDoubleInterval range() const;
23   virtual void setRange(const QwtDoubleInterval&);
24
25   virtual double value(double x, double y) const;
26   
27   virtual uint64_t GetNumFFTPoints()const;
28   virtual void addFFTData(const double*, const uint64_t, const int);
29   
30   virtual double* GetSpectrumDataBuffer()const;
31   virtual void SetSpectrumDataBuffer(const double*);
32   
33   virtual int GetNumLinesToUpdate()const;
34   virtual void SetNumLinesToUpdate(const int);
35   virtual void IncrementNumLinesToUpdate();
36
37 protected:
38
39   double* _spectrumData;
40   uint64_t _fftPoints;
41   uint64_t _historyLength;
42   int _numLinesToUpdate;
43   QwtDoubleInterval _intensityRange;
44
45 private:
46
47 };
48
49 class Waterfall3DData: public WaterfallData, public Qwt3D::Function
50 {
51 public:
52   Waterfall3DData(const double, const double, const uint64_t, const unsigned int);
53   virtual ~Waterfall3DData();
54     
55   virtual void ResizeData(const double, const double, const uint64_t);
56
57   virtual bool create();
58   virtual void setMesh(unsigned int columns, unsigned int rows); //!< Sets number of rows and columns. 
59
60   virtual double operator()(double x, double y);
61
62   virtual double GetFloorValue()const;
63   virtual void SetFloorValue(const double);
64
65   virtual double minZ()const;
66   virtual double maxZ()const;
67
68 protected:
69   void _ResizeMesh();
70
71   double** data;
72   double _floorValue;
73
74 private:
75
76 };
77
78
79 #endif /* WATERFALL_GLOBAL_DATA_HPP */