1 #ifndef WATERFALL_GLOBAL_DATA_HPP
2 #define WATERFALL_GLOBAL_DATA_HPP
4 #include <qwt_raster_data.h>
5 #include <qwt3d_function.h>
8 class Waterfall3DDisplayPlot;
10 class WaterfallData: public QwtRasterData
13 WaterfallData(const double, const double, const uint64_t, const unsigned int);
14 virtual ~WaterfallData();
17 virtual void Copy(const WaterfallData*);
19 virtual void ResizeData(const double, const double, const uint64_t);
21 virtual QwtRasterData *copy() const;
22 virtual QwtDoubleInterval range() const;
23 virtual void setRange(const QwtDoubleInterval&);
25 virtual double value(double x, double y) const;
27 virtual uint64_t GetNumFFTPoints()const;
28 virtual void addFFTData(const double*, const uint64_t, const int);
30 virtual double* GetSpectrumDataBuffer()const;
31 virtual void SetSpectrumDataBuffer(const double*);
33 virtual int GetNumLinesToUpdate()const;
34 virtual void SetNumLinesToUpdate(const int);
35 virtual void IncrementNumLinesToUpdate();
39 double* _spectrumData;
41 uint64_t _historyLength;
42 int _numLinesToUpdate;
43 QwtDoubleInterval _intensityRange;
49 class Waterfall3DData: public WaterfallData, public Qwt3D::Function
52 Waterfall3DData(const double, const double, const uint64_t, const unsigned int);
53 virtual ~Waterfall3DData();
55 virtual void ResizeData(const double, const double, const uint64_t);
57 virtual bool create();
58 virtual void setMesh(unsigned int columns, unsigned int rows); //!< Sets number of rows and columns.
60 virtual double operator()(double x, double y);
62 virtual double GetFloorValue()const;
63 virtual void SetFloorValue(const double);
65 virtual double minZ()const;
66 virtual double maxZ()const;
79 #endif /* WATERFALL_GLOBAL_DATA_HPP */