Ref T342, distance of airport can be recalculated

This commit is contained in:
Klaus Basan
2018-09-09 23:39:03 +02:00
parent 3c9b8f98ca
commit 7e9f3a6c7f
13 changed files with 32 additions and 24 deletions

View File

@@ -118,10 +118,15 @@ namespace BlackSimPlugin
return true;
}
CAirportList CSimulatorFsCommon::getAirportsInRange() const
CAirportList CSimulatorFsCommon::getAirportsInRange(bool recalculateDistance) const
{
if (!m_airportsInRangeFromSimulator.isEmpty()) { return m_airportsInRangeFromSimulator; }
return ISimulator::getAirportsInRange();
if (!m_airportsInRangeFromSimulator.isEmpty())
{
CAirportList airports = m_airportsInRangeFromSimulator;
if (recalculateDistance) { airports.calculcateAndUpdateRelativeDistanceAndBearing(this->getOwnAircraftPosition()); }
return airports;
}
return ISimulator::getAirportsInRange(recalculateDistance);
}
void CSimulatorFsCommon::onSwiftDbAirportsRead()

View File

@@ -43,7 +43,7 @@ namespace BlackSimPlugin
virtual bool isTimeSynchronized() const override { return m_simTimeSynced; }
virtual BlackMisc::PhysicalQuantities::CTime getTimeSynchronizationOffset() const override;
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) override;
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;
virtual BlackMisc::Aviation::CAirportList getAirportsInRange(bool recalculateDistance) const override;
// ---------------------- ISimulator ------------------
protected: