Changeset 2039 in ntrip


Ignore:
Timestamp:
Nov 26, 2009, 2:54:36 PM (14 years ago)
Author:
mervart
Message:

* empty log message *

Location:
trunk/BNC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncpppclient.cpp

    r2038 r2039  
    5353////////////////////////////////////////////////////////////////////////////
    5454bncPPPclient::bncPPPclient(QByteArray staID) {
    55   _staID = staID;
    56   _data = 0;
     55  _staID   = staID;
     56  _epoData = 0;
    5757}
    5858
     
    6060////////////////////////////////////////////////////////////////////////////
    6161bncPPPclient::~bncPPPclient() {
    62   delete _data;
     62  delete _epoData;
    6363  QMapIterator<QString, t_eph*> it(_eph);
    6464  while (it.hasNext()) {
     
    8282  t_time tt(obs->GPSWeek, obs->GPSWeeks);
    8383 
    84   if      (!_data) {
    85     _data = new t_data();
    86     _data->tt = tt;
     84  if      (!_epoData) {
     85    _epoData = new t_epoData();
     86    _epoData->tt = tt;
    8787  }
    88   else if (tt != _data->tt) {
     88  else if (tt != _epoData->tt) {
    8989    processEpoch();
    90     _data = new t_data();
    91     _data->tt = tt;
     90    delete _epoData;
     91    _epoData = new t_epoData();
     92    _epoData->tt = tt;
    9293  }
    9394 
    94   ++_data->numSat;
    95  
    96   if (_data->numSat > t_data::MAXOBS) {
    97     cerr << "putNewObs: numSat > MAXOBS\n";
    98     exit(1);
    99   }
    100  
    101   _data->prn[_data->numSat] =
     95  t_satData* satData = new t_satData();
     96     
     97  satData->C1 = obs->C1;
     98  satData->C2 = obs->C2;
     99  satData->P1 = obs->P1;
     100  satData->P2 = obs->P2;
     101  satData->L1 = obs->L1;
     102  satData->L2 = obs->L2;
     103
     104  QString prn =
    102105        QString("%1%2").arg(obs->satSys).arg(obs->satNum, 2, 10, QChar('0'));
    103      
    104   _data->C1[_data->numSat] = obs->C1;
    105   _data->C2[_data->numSat] = obs->C2;
    106   _data->P1[_data->numSat] = obs->P1;
    107   _data->P2[_data->numSat] = obs->P2;
    108   _data->L1[_data->numSat] = obs->L1;
    109   _data->L2[_data->numSat] = obs->L2;
     106
     107  _epoData->satData[prn] = satData;
    110108}
    111109
     
    172170////////////////////////////////////////////////////////////////////////////
    173171void bncPPPclient::processEpoch() {
    174   if (!_data) {
    175     return;
    176   }
    177172
    178   for (int is = 1; is <= _data->numSat; is++) {
    179     QString prn = _data->prn[is];
     173  QMapIterator<QString, t_satData*> it(_epoData->satData);
     174  while (it.hasNext()) {
     175    it.next();
     176    QString    prn     = it.key();
     177    t_satData* satData = it.value();
    180178
    181179    ColumnVector xc(4);
     
    184182    cout.setf(ios::fixed);
    185183
    186     if (getSatPos(_data->tt, prn, xc, vv) == success) {
    187       cout << _data->tt.timestr(1) << " " << prn.toAscii().data() << "   "
     184    if (getSatPos(_epoData->tt, prn, xc, vv) == success) {
     185      cout << _epoData->tt.timestr(1) << " " << prn.toAscii().data() << "   "
    188186           << setw(14) << setprecision(3) << xc(1)                << "  "
    189187           << setw(14) << setprecision(3) << xc(2)                << "  "
     
    195193  cout << endl;
    196194  cout.flush();
    197 
    198   delete _data;
    199   _data = 0;
    200195}
    201 
  • trunk/BNC/bncpppclient.h

    r2038 r2039  
    3737#define MAXPRN =
    3838
    39 class t_data {
     39class t_satData {
    4040 public:
    41   static const int MAXOBS = 56;
    42   t_data() {numSat = 0;}
    43   ~t_data() {}
    44   t_time  tt;
    45   int     numSat; 
    46   QString prn[MAXOBS+1];
    47   double  C1[MAXOBS+1];
    48   double  C2[MAXOBS+1];
    49   double  P1[MAXOBS+1];
    50   double  P2[MAXOBS+1];
    51   double  L1[MAXOBS+1];
    52   double  L2[MAXOBS+1];
     41  double C1;
     42  double C2;
     43  double P1;
     44  double P2;
     45  double L1;
     46  double L2;
     47};
     48
     49class t_epoData {
     50 public:
     51  t_epoData() {}
     52  ~t_epoData() {
     53    QMapIterator<QString, t_satData*> it(satData);
     54    while (it.hasNext()) {
     55      it.next();
     56      delete it.value();
     57    }
     58  }
     59  t_time                    tt;
     60  QMap<QString, t_satData*> satData;
    5361};
    5462
     
    8492  QMap<QString, t_eph*>  _eph;
    8593  QMap<QString, t_corr*> _corr;
    86   t_data*                _data;
     94  t_epoData*             _epoData;
    8795};
    8896
Note: See TracChangeset for help on using the changeset viewer.