39 lines
1.1 KiB
C++

#include "simdata/simDatabase.h"
namespace germanairlinesva
{
namespace file
{
namespace simdata
{
void SimDatabase::toFile(std::ofstream &out) const
{
write<std::uint16_t>(out, this->airports.size());
for (const auto &airport : this->airports) {
writeString(out, airport.first);
write<std::uint16_t>(out, airport.second.first.size());
for (const Gate &gate : airport.second.first) {
gate.toFile(out);
}
write<std::uint8_t>(out, airport.second.second.size());
for (const Runway &runway : airport.second.second) {
runway.toFile(out);
}
}
}
const Gate *SimDatabase::checkGate(
const std::string icao,
const struct germanairlinesva::geodata::point coordinates) const
{
auto airport = this->getAirport(icao);
for (const Gate &gate : airport.first) {
if (gate.contains(coordinates)) {
return &gate;
}
}
return nullptr;
}
} // namespace simdata
} // namespace file
} // namespace germanairlinesva