Index: trunk/BNC/src/rinex/polarplot.cpp
===================================================================
--- trunk/BNC/src/rinex/polarplot.cpp	(revision 4333)
+++ trunk/BNC/src/rinex/polarplot.cpp	(revision 4334)
@@ -34,5 +34,5 @@
   for (int ii = from; ii <= to; ii++) {
     QwtSymbol ss(symbol);
-    const QwtPointPolar& point    = sample(ii);
+    const QwtPointPolar& point = sample(ii);
     const QColor color = colorMap.color(QwtInterval(0.0, 1.0), point._value);
     ss.setBrush(QBrush(color));
@@ -40,38 +40,4 @@
     QwtPolarCurve::drawSymbols(painter, ss, azimuthMap, radialMap, pole, ii,ii);
   }
-}
-
-// Sample (virtual) - this is for testing only
-////////////////////////////////////////////////////////////////////////////
-QwtPointPolar t_polarData::sample(size_t ii) const {
-  const QwtInterval zenithInterval(0.0, 90.0);
-  const QwtInterval azimuthInterval(0.0, 360.0 );
-
-  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;
-
-  double value = static_cast<double>(ii) / _size;
-
-  QwtPointPolar point(aa,rr);
-  point._value = value;
-
-  return point;
-}
-
-// 
-////////////////////////////////////////////////////////////////////////////
-t_polarCurve* t_polarPlot::createCurve() const {
-  const int numPoints = 1000;
-  t_polarCurve* curve = new t_polarCurve();
-  curve->setStyle(QwtPolarCurve::NoCurve);  // draw only symbols
-  curve->setSymbol(new QwtSymbol(QwtSymbol::Ellipse,
-                                 QBrush(Qt::red), QPen(Qt::red), 
-                                 QSize(3, 3)));
-  t_polarData* data = new t_polarData(numPoints);
-  curve->setData(data);
-  return curve;
 }
 
@@ -110,9 +76,16 @@
 
   grid->attach(this);
+}
 
-  // Curves
-  // ------
-  t_polarCurve* curve = createCurve();
+// 
+////////////////////////////////////////////////////////////////////////////
+void t_polarPlot::addCurve(QVector<t_polarPoint*>* data) {
+  t_polarCurve* curve = new t_polarCurve();
+  curve->setStyle(QwtPolarCurve::NoCurve);  // draw only symbols
+  curve->setSymbol(new QwtSymbol(QwtSymbol::Ellipse,
+                                 QBrush(Qt::red), QPen(Qt::red), 
+                                 QSize(3, 3)));
+  t_polarData* polarData = new t_polarData(data);
+  curve->setData(polarData);
   curve->attach(this);
 }
-
Index: trunk/BNC/src/rinex/polarplot.h
===================================================================
--- trunk/BNC/src/rinex/polarplot.h	(revision 4333)
+++ trunk/BNC/src/rinex/polarplot.h	(revision 4334)
@@ -20,16 +20,40 @@
 //
 //////////////////////////////////////////////////////////////////////////////
+class t_polarPoint {
+ public:
+  t_polarPoint(double az, double zen, double value) {
+    _az    = az;
+    _zen   = zen;
+    _value = value;
+  }
+  double _az;
+  double _zen;
+  double _value;
+};
+
+//
+//////////////////////////////////////////////////////////////////////////////
 class t_polarData: public QwtSeriesData<QwtPointPolar> {
  public:
-  t_polarData(size_t size) {
-    _size = size;
+  t_polarData(QVector<t_polarPoint*>* data) {
+    _data = data;
+    _size = data->size();
   }
-  virtual QwtPointPolar sample(size_t ii) const;
+  ~t_polarData() {
+    for (int ii = 0; ii < _data->size(); ii++) {
+      delete _data->at(ii);
+    }
+  }
+  virtual QwtPointPolar sample(size_t ii) const {
+    const t_polarPoint* point = _data->at(ii);
+    QwtPointPolar qp(point->_az, point->_zen); qp._value = point->_value;
+    return qp;
+  }
   virtual size_t size() const {return _size;}
-  virtual QRectF boundingRect() const {
-    return d_boundingRect;
-  }
+  virtual QRectF boundingRect() const {return d_boundingRect;}
  protected:
   size_t _size;
+ private:
+  QVector<t_polarPoint*>* _data;
 };
 
@@ -41,7 +65,7 @@
  public:
   t_polarPlot(QWidget* = 0);
+  void addCurve(QVector<t_polarPoint*>* data);
 
  private:
-  t_polarCurve* createCurve() const;
 };
 
Index: trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4333)
+++ trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4334)
@@ -85,9 +85,53 @@
 void t_reqcAnalyze::slotDisplayGraph() {
   if (((bncApp*) qApp)->mode() == bncApp::interactive) {
+
+    QVector<t_polarPoint*>* data1 = new QVector<t_polarPoint*>;
+
+    //// beg test
+    {    
+      const QwtInterval zenithInterval(0.0, 90.0);
+      const QwtInterval azimuthInterval(0.0, 360.0 );
+      const int    numPoints = 1000;
+      const double stepA     = 4 * azimuthInterval.width() / numPoints;
+      const double stepR     = zenithInterval.width() / numPoints;
+      for (int ii = 0; ii < numPoints; ii++) {
+        double aa = azimuthInterval.minValue() + ii * stepA;
+        double rr = zenithInterval.minValue() + ii * stepR;
+        double vv = static_cast<double>(ii) / numPoints;
+        (*data1) << (new t_polarPoint(aa, rr, vv));
+      }
+    }
+    //// end test 
+
+    t_polarPlot* plotMP1 = new t_polarPlot(0);
+    plotMP1->addCurve(data1);
+
+    QVector<t_polarPoint*>* data2 = new QVector<t_polarPoint*>;
+
+    //// beg test
+    {    
+      const QwtInterval zenithInterval(0.0, 90.0);
+      const QwtInterval azimuthInterval(0.0, 360.0 );
+      const int    numPoints = 1000;
+      const double stepA     = 4 * azimuthInterval.width() / numPoints;
+      const double stepR     = zenithInterval.width() / numPoints;
+      for (int ii = 0; ii < numPoints; ii++) {
+        double aa = azimuthInterval.minValue() + ii * stepA;
+        double rr = zenithInterval.minValue() + ii * stepR;
+        double vv = static_cast<double>(ii) / numPoints;
+        (*data2) << (new t_polarPoint(aa, rr, vv));
+      }
+    }
+    //// end test 
+
+    t_polarPlot* plotMP2 = new t_polarPlot(0);
+    plotMP2->addCurve(data2);
+    
     QVector<QWidget*> plots;
-    t_polarPlot* plotMP1 = new t_polarPlot(0); plots << plotMP1;
-    t_polarPlot* plotMP2 = new t_polarPlot(0); plots << plotMP2;
-    
+    plots << plotMP1;
+    plots << plotMP2;
+
     t_graphWin* graphWin = new t_graphWin(0, plots);
+
     graphWin->show();
   }
