std::ostream &output_record(std::ostream &out, gpulog::logrecord &lr, swarm::body_range_t &bod) { int evtid = lr.msgid(); switch(evtid){ case 1: // standard system snapshot return record_output_1(out,lr,bod); case 2: // data one body upon ejection return record_output_2(out,lr,bod); case 3: // reserved for data for one pair of bodies upon close encounter/collision return record_output_default(out,lr); default: return record_output_default(out,lr); } }
std::ostream &output_record(std::ostream &out, gpulog::logrecord &lr, const body_range_t &_bod) { body_range_t bod = _bod; int evtid = lr.msgid(); // Make sure these stay synced with src/swarm/log/log.hpp switch(evtid){ case 1: // standard system snapshot return record_output_1(out,lr,bod); case 2: // data one body upon ejection return record_output_2(out,lr,bod); case 3: // reserved for data for one pair of bodies upon close encounter/collision return record_output_default(out,lr); // feature still missing case 11: // star v_z at observation time return record_output_11(out,lr,bod); case 15: // near a transit of planet in front of star return record_output_15(out,lr,bod); case 16: // near an occultation of star in front of planet return record_output_16(out,lr,bod); default: return record_output_default(out,lr); } }