#ifndef POLARPLOT_H #define POLARPLOT_H #include #include // ////////////////////////////////////////////////////////////////////////////// class t_polarCurve : public QwtPolarCurve { public: t_polarCurve(); virtual ~t_polarCurve(); protected: virtual void drawSymbols (QPainter* painter, const QwtSymbol& symbol, const QwtScaleMap& azimuthMap, const QwtScaleMap& radialMap, const QPointF& pole, int from, int to) const; }; // ////////////////////////////////////////////////////////////////////////////// class t_polarPoint : public QwtPointPolar { public: t_polarPoint(double azimuth, double zenith) : QwtPointPolar(azimuth, zenith) {} ~t_polarPoint() {} double zz; // the third coordinate }; // ////////////////////////////////////////////////////////////////////////////// class t_polarData: public QwtSeriesData { public: t_polarData(size_t size); virtual t_polarPoint sample(size_t ii) const; virtual size_t size() const {return _size;} virtual QRectF boundingRect() const; protected: QwtInterval _zenithInterval; QwtInterval _azimuthInterval; size_t _size; }; // ////////////////////////////////////////////////////////////////////////////// class t_polarPlot: public QwtPolarPlot { Q_OBJECT public: t_polarPlot(QWidget* = 0); ~t_polarPlot(); public slots: private: t_polarCurve* createCurve() const; }; #endif