Changeset 6519 in ntrip for trunk/BNC/src/bncephuser.cpp


Ignore:
Timestamp:
Dec 30, 2014, 3:04:57 PM (9 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bncephuser.cpp

    r6518 r6519  
    103103//
    104104////////////////////////////////////////////////////////////////////////////
    105 t_irc bncEphUser::putNewEph(const t_eph* eph, bool check) {
     105t_irc bncEphUser::putNewEph(t_eph* eph, bool check) {
    106106
    107107  QMutexLocker locker(&_mutex);
     
    163163//
    164164////////////////////////////////////////////////////////////////////////////
    165 void bncEphUser::checkEphemeris(const t_eph* eph) {
     165void bncEphUser::checkEphemeris(t_eph* eph) {
    166166
     167  if (!eph || eph->checkState() == t_eph::ok || eph->checkState() == t_eph::bad) {
     168    return;
     169  }
     170
     171  // Simple Check - check satellite radial distance
     172  // ----------------------------------------------
     173  ColumnVector xc(4);
     174  ColumnVector vv(3);
     175
     176  if (eph->getCrd(eph->TOC(), xc, vv, false) != success) {
     177    eph->setCheckState(t_eph::bad);
     178    return;
     179  }
     180
     181  double rr = xc.Rows(1,3).norm_Frobenius();
     182
     183  if (rr < 2.e7 || rr > 4.e7) {
     184    eph->setCheckState(t_eph::bad);
     185    return;
     186  }
    167187}
Note: See TracChangeset for help on using the changeset viewer.