Changeset 621 in ntrip for trunk/BNC/bncgetthread.cpp
- Timestamp:
- Dec 16, 2007, 3:44:57 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bncgetthread.cpp
r620 r621 377 377 // ------------------ 378 378 while (true) { 379 380 if (_decoder) { 381 QListIterator<p_obs> it(_decoder->_obsList); 382 while (it.hasNext()) { 383 delete it.next(); 384 } 385 _decoder->_obsList.clear(); 386 } 387 379 388 try { 380 389 if (_socket->state() != QAbstractSocket::ConnectedState) { … … 394 403 delete [] data; 395 404 396 for (list<Observation*>::iterator it = _decoder->_obsList.begin(); 397 it != _decoder->_obsList.end(); it++) { 405 406 QListIterator<p_obs> it(_decoder->_obsList); 407 while (it.hasNext()) { 408 p_obs obs = it.next(); 398 409 399 410 // Check observation epoch … … 406 417 const double maxDt = 600.0; 407 418 408 if (week < (*it)->GPSWeek) {419 if (week < obs->GPSWeek) { 409 420 week += 1; 410 421 sec -= secPerWeek; 411 422 } 412 if (week > (*it)->GPSWeek) {423 if (week > obs->GPSWeek) { 413 424 week -= 1; 414 425 sec += secPerWeek; 415 426 } 416 double dt = fabs(sec - (*it)->GPSWeeks);417 if (week != (*it)->GPSWeek || dt > maxDt) {427 double dt = fabs(sec - obs->GPSWeeks); 428 if (week != obs->GPSWeek || dt > maxDt) { 418 429 emit( newMessage("Wrong observation epoch") ); 419 delete (*it);430 delete obs; 420 431 continue; 421 432 } … … 424 435 // ------------ 425 436 if (_rnx) { 426 long iSec = long(floor( (*it)->GPSWeeks+0.5));427 long newTime = (*it)->GPSWeek * 7*24*3600 + iSec;437 long iSec = long(floor(obs->GPSWeeks+0.5)); 438 long newTime = obs->GPSWeek * 7*24*3600 + iSec; 428 439 if (_samplingRate == 0 || iSec % _samplingRate == 0) { 429 _rnx->deepCopy( *it);440 _rnx->deepCopy(obs); 430 441 } 431 442 _rnx->dumpEpoch(newTime); 432 443 } 433 444 434 bool firstObs = ( it == _decoder->_obsList.begin());435 emit newObs(_staID, firstObs, *it);445 bool firstObs = (obs == _decoder->_obsList.first()); 446 emit newObs(_staID, firstObs, obs); 436 447 } 437 448 _decoder->_obsList.clear();
Note:
See TracChangeset
for help on using the changeset viewer.