39 lines
1.1 KiB
C++
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
|