mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 11:05:33 +08:00
Ref T342, distance of airport can be recalculated
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -432,9 +432,12 @@ namespace BlackSimPlugin
|
||||
}
|
||||
}
|
||||
|
||||
CAirportList CSimulatorXPlane::getAirportsInRange() const
|
||||
CAirportList CSimulatorXPlane::getAirportsInRange(bool recalculateDistance) const
|
||||
{
|
||||
return m_airportsInRange;
|
||||
if (!recalculateDistance) { return m_airportsInRange; }
|
||||
CAirportList airports(m_airportsInRange);
|
||||
airports.calculcateAndUpdateRelativeDistanceAndBearing(this->getOwnAircraftPosition());
|
||||
return airports;
|
||||
}
|
||||
|
||||
bool CSimulatorXPlane::setTimeSynchronization(bool enable, const PhysicalQuantities::CTime &offset)
|
||||
|
||||
@@ -129,7 +129,7 @@ namespace BlackSimPlugin
|
||||
virtual bool updateOwnSimulatorSelcal(const BlackMisc::Aviation::CSelcal &selcal, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual void displayStatusMessage(const BlackMisc::CStatusMessage &message) const override;
|
||||
virtual void displayTextMessage(const BlackMisc::Network::CTextMessage &message) const override;
|
||||
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;
|
||||
virtual BlackMisc::Aviation::CAirportList getAirportsInRange(bool recalculateDistance) const override;
|
||||
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) override;
|
||||
virtual BlackMisc::PhysicalQuantities::CTime getTimeSynchronizationOffset() const override { return BlackMisc::PhysicalQuantities::CTime(0, BlackMisc::PhysicalQuantities::CTimeUnit::hrmin()); }
|
||||
virtual bool isPhysicallyRenderedAircraft(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
|
||||
Reference in New Issue
Block a user