Ref T773, use correct transfer, avoid continously transferring because of wrong coordinates

* do not use own situation as reference for ground plane, but original coordinates of ground elv. position
* some functions renamed
This commit is contained in:
Klaus Basan
2020-02-26 22:17:06 +01:00
committed by Mat Sutcliffe
parent 08186e6559
commit acd5ee5a3c
5 changed files with 64 additions and 36 deletions

View File

@@ -1387,9 +1387,10 @@ namespace BlackCore
if (!canLikelySkipNearGround)
{
const CLength dpt = correctedSituation.getDistancePerTime(100, CElevationPlane::singlePointRadius());
const CAircraftSituationList situationsBeforeStoring = this->remoteAircraftSituations(callsign);
const CAircraftSituation situationWithElvBeforeStoring = situationsBeforeStoring.findClosestElevationWithinRange(correctedSituation, correctedSituation.getDistancePerTime(100, CElevationPlane::singlePointRadius()));
if (!situationWithElvBeforeStoring.getGroundElevation().isNull())
const CAircraftSituation situationWithElvBeforeStoring = situationsBeforeStoring.findClosestElevationWithinRange(correctedSituation, dpt);
if (situationWithElvBeforeStoring.transferGroundElevationFromMe(correctedSituation, dpt))
{
// from nearby situations of own aircraft, data was transferred above
// we use transfer first as it is slightly faster as cache
@@ -1433,7 +1434,8 @@ namespace BlackCore
if (!averagePlane.isNull())
{
correctedSituation.setGroundElevation(averagePlane, CAircraftSituation::Average);
if (fromNonMoving) { m_foundInNonMovingAircraft++; } else { m_foundInElevationsOnGnd++; }
if (fromNonMoving) { m_foundInNonMovingAircraft++; }
else { m_foundInElevationsOnGnd++; }
}
else
{