UltraScan III
us_spectrodata.h
Go to the documentation of this file.
1 #ifndef US_SPECDATA_H
3 #define US_SPECDATA_H
4 
5 #include <QtCore>
6 
7 #include <us_extern.h>
8 #include <qwt_color_map.h>
9 #include <qwt_plot_spectrogram.h>
10 #include <qwt_scale_widget.h>
11 #include <qwt_scale_draw.h>
12 #include <qwt_plot_zoomer.h>
13 #include <qwt_plot_panner.h>
14 #include <qwt_plot_layout.h>
15 
16 #define DbgLv(a) if(dbg_level>=a)qDebug()
17 
18 typedef struct solute_s
20 {
21  double s;
22  double k;
23  double c;
24  double w;
25  double v;
26  double d;
27  double f;
28  double si;
29  double ki;
30 } S_Solute;
31 
33 class US_GUI_EXTERN US_SpectrogramData : public QwtRasterData
34 {
35 public:
36 
40  US_SpectrogramData( QwtDoubleRect& );
41 
43  virtual QwtRasterData *copy() const;
44 
46  virtual QwtDoubleInterval range() const;
47 
52  virtual void initRaster( QwtDoubleRect&, QSize& );
53 
57  QwtDoubleInterval xrange();
58 
62  QwtDoubleInterval yrange();
63 
71  void setRastRanges( double, double, double, double, QwtDoubleRect );
72 
77  void setZRange( double, double );
78 
84  virtual double value( double, double ) const;
85 
89  void setRaster( QList< S_Solute >* );
90 
91 private:
92 
93  QList< double > rdata;
94  QwtDoubleRect drecti;
95 
96  double xmin;
97  double xmax;
98  double xrng;
99  double xinc;
100  double ymin;
101  double ymax;
102  double yrng;
103  double yinc;
104  double zmin;
105  double zmax;
106  double zminr;
107  double xreso;
108  double yreso;
109  double resol;
110  double zfloor;
111 
112  int nxpsc;
113  int nyscn;
114  int nxypt;
115  int dbg_level;
116 };
117 
118 #endif