source: ntrip/trunk/BNC/src/rinex/polarplot.h@ 8016

Last change on this file since 8016 was 4356, checked in by mervart, 12 years ago
File size: 2.0 KB
RevLine 
[4302]1
2#ifndef POLARPLOT_H
3#define POLARPLOT_H
4
5#include <qwt_polar_plot.h>
[4314]6#include <qwt_polar_curve.h>
[4336]7
[4320]8//
9//////////////////////////////////////////////////////////////////////////////
[4316]10class t_polarCurve : public QwtPolarCurve {
11 public:
[4321]12 t_polarCurve() {}
13 virtual ~t_polarCurve() {}
[4356]14 void setScaleInterval(const QwtInterval& scaleInterval) {
15 _scaleInterval = scaleInterval;
16 }
[4316]17 protected:
[4356]18 virtual void drawSymbols(QPainter* painter, const QwtSymbol& symbol,
19 const QwtScaleMap& azimuthMap,
20 const QwtScaleMap& radialMap,
21 const QPointF& pole, int from, int to) const;
22 private:
23 QwtInterval _scaleInterval;
[4316]24};
25
[4320]26//
27//////////////////////////////////////////////////////////////////////////////
[4334]28class t_polarPoint {
29 public:
[4336]30 t_polarPoint(double az, double zen, double value) :
31 _az(az), _zen(zen), _value(value) {}
[4334]32 double _az;
33 double _zen;
34 double _value;
35};
36
37//
38//////////////////////////////////////////////////////////////////////////////
[4331]39class t_polarData: public QwtSeriesData<QwtPointPolar> {
[4320]40 public:
[4334]41 t_polarData(QVector<t_polarPoint*>* data) {
42 _data = data;
43 _size = data->size();
[4321]44 }
[4334]45 ~t_polarData() {
46 for (int ii = 0; ii < _data->size(); ii++) {
47 delete _data->at(ii);
48 }
[4335]49 delete _data;
[4334]50 }
51 virtual QwtPointPolar sample(size_t ii) const {
52 const t_polarPoint* point = _data->at(ii);
53 QwtPointPolar qp(point->_az, point->_zen); qp._value = point->_value;
54 return qp;
55 }
[4320]56 virtual size_t size() const {return _size;}
[4334]57 virtual QRectF boundingRect() const {return d_boundingRect;}
[4320]58 protected:
[4322]59 size_t _size;
[4334]60 private:
61 QVector<t_polarPoint*>* _data;
[4320]62};
63
64//
65//////////////////////////////////////////////////////////////////////////////
[4302]66class t_polarPlot: public QwtPolarPlot {
67 Q_OBJECT
68
69 public:
[4356]70 t_polarPlot(const QwtText& title, const QwtInterval& scaleInterval,
71 QWidget* = 0);
[4334]72 void addCurve(QVector<t_polarPoint*>* data);
[4302]73
74 private:
[4356]75 QwtInterval _scaleInterval;
[4302]76};
77
78#endif
Note: See TracBrowser for help on using the repository browser.