From 0b7706471cb88e0593b190ff2c7b3eca306cb363 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 28 Apr 2018 02:45:14 +0200 Subject: [PATCH] Ref T261, guess push back --- src/blackmisc/aviation/aircraftsituation.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/blackmisc/aviation/aircraftsituation.cpp b/src/blackmisc/aviation/aircraftsituation.cpp index bba3aef1b..1173bd28e 100644 --- a/src/blackmisc/aviation/aircraftsituation.cpp +++ b/src/blackmisc/aviation/aircraftsituation.cpp @@ -310,11 +310,21 @@ namespace BlackMisc // Non VTOL aircraft have to move to be not on ground const bool vtol = model.isVtol(); - if (!vtol && !this->isMoving()) + if (!vtol) { - this->setOnGround(OnGround, CAircraftSituation::OnGroundByGuessing); - if (details) { *details = QStringLiteral("No VTOL, not moving => on ground"); } - return true; + if (this->getGroundSpeed().isNegativeWithEpsilonConsidered()) + { + this->setOnGround(OnGround, CAircraftSituation::OnGroundByGuessing); + if (details) { *details = QStringLiteral("No VTOL, push back"); } + return true; + } + + if (!this->isMoving()) + { + this->setOnGround(OnGround, CAircraftSituation::OnGroundByGuessing); + if (details) { *details = QStringLiteral("No VTOL, not moving => on ground"); } + return true; + } } // not on ground is default