mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
Ref T773, use closest positions for average height/elevation values
Testing with XPlane: * even in EDDF the field elevations vary from 353-368ft, which means a difference of 15ft or 4m * that means it is important to use the closest values
This commit is contained in:
committed by
Mat Sutcliffe
parent
57153d45d7
commit
ec92b6dc46
@@ -1423,10 +1423,11 @@ namespace BlackCore
|
||||
bool fromNonMoving = false;
|
||||
bool triedExtrapolation = false;
|
||||
bool couldNotExtrapolate = false;
|
||||
|
||||
CElevationPlane averagePlane = this->averageElevationOfOnGroundAircraft(situation, CElevationPlane::majorAirportRadius(), 2, 3);
|
||||
if (averagePlane.isNull())
|
||||
{
|
||||
averagePlane = this->averageElevationOfNonMovingAircraft(situation, CElevationPlane::majorAirportRadius(), 2);
|
||||
averagePlane = this->averageElevationOfNonMovingAircraft(situation, CElevationPlane::majorAirportRadius(), 2, 3);
|
||||
fromNonMoving = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1181,9 +1181,9 @@ namespace BlackCore
|
||||
return m_airspace->getLatestAirspaceAircraftSnapshot();
|
||||
}
|
||||
|
||||
CElevationPlane CContextNetwork::averageElevationOfNonMovingAircraft(const CAircraftSituation &reference, const CLength &range, int minValues) const
|
||||
CElevationPlane CContextNetwork::averageElevationOfNonMovingAircraft(const CAircraftSituation &reference, const CLength &range, int minValues, int sufficientValues) const
|
||||
{
|
||||
return m_airspace->averageElevationOfNonMovingAircraft(reference, range, minValues);
|
||||
return m_airspace->averageElevationOfNonMovingAircraft(reference, range, minValues, sufficientValues);
|
||||
}
|
||||
|
||||
void CContextNetwork::setClients(const CClientList &clients)
|
||||
|
||||
@@ -119,7 +119,7 @@ namespace BlackCore
|
||||
virtual void rememberCGFromDB(const BlackMisc::PhysicalQuantities::CLength &cgFromDB, const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void rememberCGFromDB(const BlackMisc::PhysicalQuantities::CLength &cgFromDB, const QString &modelString) override;
|
||||
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;
|
||||
virtual BlackMisc::Geo::CElevationPlane averageElevationOfNonMovingAircraft(const BlackMisc::Aviation::CAircraftSituation &reference, const BlackMisc::PhysicalQuantities::CLength &range, int minValues = 1) const override;
|
||||
virtual BlackMisc::Geo::CElevationPlane averageElevationOfNonMovingAircraft(const BlackMisc::Aviation::CAircraftSituation &reference, const BlackMisc::PhysicalQuantities::CLength &range, int minValues = 1, int sufficientValues = 2) const override;
|
||||
virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
|
||||
|
||||
Reference in New Issue
Block a user