1 #ifndef WATERFALL_GLOBAL_DATA_HPP
2 #define WATERFALL_GLOBAL_DATA_HPP
4 #include <qwt_raster_data.h>
5 #include <qwt3d_function.h>
7 class Waterfall3DDisplayPlot;
9 class WaterfallData: public QwtRasterData
12 WaterfallData(const double, const double, const uint64_t, const unsigned int);
13 virtual ~WaterfallData();
16 virtual void Copy(const WaterfallData*);
18 virtual void ResizeData(const double, const double, const uint64_t);
20 virtual QwtRasterData *copy() const;
21 virtual QwtDoubleInterval range() const;
22 virtual void setRange(const QwtDoubleInterval&);
24 virtual double value(double x, double y) const;
26 virtual uint64_t GetNumFFTPoints()const;
27 virtual void addFFTData(const double*, const uint64_t, const int);
29 virtual double* GetSpectrumDataBuffer()const;
30 virtual void SetSpectrumDataBuffer(const double*);
32 virtual int GetNumLinesToUpdate()const;
33 virtual void SetNumLinesToUpdate(const int);
34 virtual void IncrementNumLinesToUpdate();
38 double* _spectrumData;
40 uint64_t _historyLength;
41 int _numLinesToUpdate;
42 QwtDoubleInterval _intensityRange;
48 class Waterfall3DData: public WaterfallData, public Qwt3D::Function
51 Waterfall3DData(const double, const double, const uint64_t, const unsigned int);
52 virtual ~Waterfall3DData();
54 virtual void ResizeData(const double, const double, const uint64_t);
56 virtual bool create();
57 virtual void setMesh(unsigned int columns, unsigned int rows); //!< Sets number of rows and columns.
59 virtual double operator()(double x, double y);
61 virtual double GetFloorValue()const;
62 virtual void SetFloorValue(const double);
64 virtual double minZ()const;
65 virtual double maxZ()const;
78 #endif /* WATERFALL_GLOBAL_DATA_HPP */