GNU Radio Manual and C++ API Reference  3.9.4.0
The Free & Open Software Radio Ecosystem
waterfallGlobalData.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2012 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef WATERFALL_GLOBAL_DATA_HPP
12 #define WATERFALL_GLOBAL_DATA_HPP
13 
14 #include <qwt_raster_data.h>
15 #include <cinttypes>
16 
17 #if QWT_VERSION >= 0x060000
18 #include <qwt_interval.h>
19 
20 typedef QwtInterval QwtDoubleInterval;
21 #endif
22 
23 class WaterfallData : public QwtRasterData
24 {
25 public:
26  WaterfallData(const double, const double, const uint64_t, const unsigned int);
27  ~WaterfallData() override;
28 
29  virtual void reset();
30  virtual void copy(const WaterfallData*);
31 
32  virtual void
33  resizeData(const double, const double, const uint64_t, const int history = 0);
34 
35  virtual QwtRasterData* copy() const;
36 
37 #if QWT_VERSION < 0x060000
38  virtual QwtDoubleInterval range() const;
39  virtual void setRange(const QwtDoubleInterval&);
40 #elif QWT_VERSION >= 0x060200
41  virtual QwtInterval interval(Qt::Axis) const;
42  void setInterval(Qt::Axis, const QwtInterval&);
43 #endif
44 
45  double value(double x, double y) const override;
46 
47  virtual uint64_t getNumFFTPoints() const;
48  virtual void addFFTData(const double*, const uint64_t, const int);
49 
50  virtual double* getSpectrumDataBuffer() const;
51  virtual void setSpectrumDataBuffer(const double*);
52 
53  virtual int getNumLinesToUpdate() const;
54  virtual void setNumLinesToUpdate(const int);
55  virtual void incrementNumLinesToUpdate();
56 
57 protected:
58  double* _spectrumData;
59  uint64_t _fftPoints;
60  uint64_t _historyLength;
62 
63 #if QWT_VERSION < 0x060000
64  QwtDoubleInterval _intensityRange;
65 #else
66  QwtInterval _intensityRange;
67 #endif
68 
69 #if QWT_VERSION >= 0x060200
70  QwtInterval d_intervals[3];
71 #endif
72 
73 private:
74 };
75 
76 #endif /* WATERFALL_GLOBAL_DATA_HPP */
Definition: waterfallGlobalData.h:24
QwtDoubleInterval _intensityRange
Definition: waterfallGlobalData.h:64
WaterfallData(const double, const double, const uint64_t, const unsigned int)
int _numLinesToUpdate
Definition: waterfallGlobalData.h:61
virtual int getNumLinesToUpdate() const
virtual void reset()
double * _spectrumData
Definition: waterfallGlobalData.h:58
~WaterfallData() override
virtual void copy(const WaterfallData *)
uint64_t _historyLength
Definition: waterfallGlobalData.h:60
virtual void resizeData(const double, const double, const uint64_t, const int history=0)
virtual QwtDoubleInterval range() const
virtual void setRange(const QwtDoubleInterval &)
uint64_t _fftPoints
Definition: waterfallGlobalData.h:59
double value(double x, double y) const override
virtual void incrementNumLinesToUpdate()
virtual double * getSpectrumDataBuffer() const
virtual void addFFTData(const double *, const uint64_t, const int)
virtual void setNumLinesToUpdate(const int)
virtual uint64_t getNumFFTPoints() const
virtual QwtRasterData * copy() const
virtual void setSpectrumDataBuffer(const double *)