33 auto curAircraft = FGAISwiftAircraftPtr(
new FGAISwiftAircraft(callsign, modelString));
36 curAircraft->initProps();
38 aircraftByCallsign.insert(std::pair<std::string, FGAISwiftAircraftPtr>(callsign, curAircraft));
44 for (
auto& update : updates) {
45 auto it = aircraftByCallsign.find(update.callsign);
46 if (it != aircraftByCallsign.end()) {
47 it->second->updatePosition(update.position, update.orientation, update.groundspeed,
true);
52void FGSwiftAircraftManager::getRemoteAircraftData(std::vector<std::string>& callsigns, std::vector<double>& latitudesDeg, std::vector<double>& longitudesDeg, std::vector<double>& elevationsM, std::vector<double>& verticalOffsets)
const
54 if (callsigns.empty() || aircraftByCallsign.empty()) {
return; }
56 const auto requestedCallsigns = callsigns;
59 longitudesDeg.clear();
61 verticalOffsets.clear();
63 for (
const auto& requestedCallsign : requestedCallsigns) {
64 const auto it = aircraftByCallsign.find(requestedCallsign);
65 if (it == aircraftByCallsign.end()) {
continue; }
74 const double latDeg = pos.getLatitudeDeg();
75 const double lonDeg = pos.getLongitudeDeg();
78 callsigns.push_back(requestedCallsign);
79 latitudesDeg.push_back(latDeg);
80 longitudesDeg.push_back(lonDeg);
81 elevationsM.push_back(groundElevation);
82 verticalOffsets.push_back(0);