Index: /trunk/BNC/src/rinex/polarplot.cpp
===================================================================
--- /trunk/BNC/src/rinex/polarplot.cpp	(revision 4319)
+++ /trunk/BNC/src/rinex/polarplot.cpp	(revision 4320)
@@ -53,50 +53,31 @@
 }
 
+// Constructor
+////////////////////////////////////////////////////////////////////////////
+t_polarData::t_polarData(size_t size) {
+  _zenithInterval.setMinValue(0.0);
+  _zenithInterval.setMaxValue(90.0);
+  _azimuthInterval.setMinValue(0.0);
+  _azimuthInterval.setMaxValue(360.0);
+  _size = size;
+}
 
-const QwtInterval zenithInterval(0.0, 90.0);
-const QwtInterval azimuthInterval(0.0, 360.0);
+// Sample (virtual)
+////////////////////////////////////////////////////////////////////////////
+t_polarPoint t_polarData::sample(size_t ii) const {
+  const double stepA = 4 * _azimuthInterval.width() / _size;
+  const double aa    = _azimuthInterval.minValue() + ii * stepA;
 
-// Data Class
+  const double stepR = _zenithInterval.width() / _size;
+  const double rr    = _zenithInterval.minValue() + ii * stepR;
+
+  return t_polarPoint(aa, rr); 
+}
+
+// Bounding Box (virtual)
 ////////////////////////////////////////////////////////////////////////////
-class Data: public QwtSeriesData<QwtPointPolar> {
- public:
-  Data(const QwtInterval &zenithInterval,
-       const QwtInterval &azimuthInterval, size_t size) :
-  _zenithInterval(zenithInterval), _azimuthInterval(azimuthInterval),
-  _size(size) {}
-
-  virtual size_t size() const {return _size;}
-
- protected:
-  QwtInterval _zenithInterval;
-  QwtInterval _azimuthInterval;
-  size_t      _size;
-};
-
-// Spiral Data Class
-////////////////////////////////////////////////////////////////////////////
-class SpiralData: public Data {
- public:
-  SpiralData(const QwtInterval &zenithInterval,
-             const QwtInterval &azimuthInterval, size_t size) :
-  Data(zenithInterval, azimuthInterval, size) {}
-
-  virtual QwtPointPolar sample(size_t ii) const {
-    const double stepA = 4 * _azimuthInterval.width() / _size;
-    const double aa    = _azimuthInterval.minValue() + ii * stepA;
-
-    const double stepR = _zenithInterval.width() / _size;
-    const double rr    = _zenithInterval.minValue() + ii * stepR;
-
-    return QwtPointPolar(aa, rr); 
-  }
-
-  virtual QRectF boundingRect() const {
-    if (d_boundingRect.width() < 0.0) {
-      d_boundingRect = qwtBoundingRect(*this);
-    }
-    return d_boundingRect;
-  }
-};
+QRectF t_polarData::boundingRect() const {
+  return d_boundingRect;
+}
 
 // Constructor
@@ -111,10 +92,6 @@
   // Scales
   // ------
-  setScale(QwtPolar::Radius,
-           zenithInterval.minValue(), zenithInterval.maxValue());
-
-  setScale(QwtPolar::Azimuth,
-           azimuthInterval.maxValue(), azimuthInterval.minValue(),
-           azimuthInterval.width() / 12);
+  setScale(QwtPolar::Radius, 0.0, 90.0);
+  setScale(QwtPolar::Azimuth, 360.0, 0, 30.0);
 
   // Grids, Axes
@@ -159,5 +136,6 @@
                                  QBrush(Qt::red), QPen(Qt::red), 
                                  QSize(3, 3)));
-  curve->setData(new SpiralData(zenithInterval, azimuthInterval, numPoints));
+  QwtSeriesData<t_polarPoint>* data = new t_polarData(numPoints);
+  curve->setData((QwtSeriesData<QwtPointPolar>*) data);
   return curve;
 }
Index: /trunk/BNC/src/rinex/polarplot.h
===================================================================
--- /trunk/BNC/src/rinex/polarplot.h	(revision 4319)
+++ /trunk/BNC/src/rinex/polarplot.h	(revision 4320)
@@ -6,4 +6,6 @@
 #include <qwt_polar_curve.h>
 
+//
+//////////////////////////////////////////////////////////////////////////////
 class t_polarCurve : public QwtPolarCurve {
  public:
@@ -17,4 +19,29 @@
 };
 
+//
+//////////////////////////////////////////////////////////////////////////////
+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<t_polarPoint> {
+ 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
@@ -31,4 +58,2 @@
 
 #endif
-
-
