// Outputs the record to the FFStream \a s. void Rinex3NavData::reallyPutRecord(FFStream& ffs) const throw(exception, FFStreamError, StringException) { try { Rinex3NavStream& strm = dynamic_cast<Rinex3NavStream&>(ffs); putPRNEpoch(strm); // put 3 data records for(int i=1; i<=3; i++) putRecord(i, strm); // SBAS and GLO only have 3 records if(satSys == "S" || satSys == "R") return; // GPS QZS BDS and GAL have 7 records, put 4-7 if(satSys == "G" || satSys == "C" || satSys == "E" || satSys == "J") for(int i=4; i<=7; i++) putRecord(i, strm); } catch(exception& e) { FFStreamError fse(string("std::exception: ") + e.what()); GPSTK_THROW(fse); } catch(FFStreamError& fse) { GPSTK_RETHROW(fse); } catch(StringException& se) { GPSTK_RETHROW(se); } } // End of method 'Rinex3NavData::reallyPutRecord(FFStream& ffs)'
void RinexNavData::reallyPutRecord(FFStream& ffs) const throw(std::exception, FFStreamError, StringException) { RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs); strm << putPRNEpoch() << endl; strm.lineNumber++; strm << putBroadcastOrbit1() << endl; strm.lineNumber++; strm << putBroadcastOrbit2() << endl; strm.lineNumber++; strm << putBroadcastOrbit3() << endl; strm.lineNumber++; strm << putBroadcastOrbit4() << endl; strm.lineNumber++; strm << putBroadcastOrbit5() << endl; strm.lineNumber++; strm << putBroadcastOrbit6() << endl; strm.lineNumber++; strm << putBroadcastOrbit7(strm.header.version) << endl; strm.lineNumber++; }