From b476da6640ebaad04640bf1001b2ea8696e9a601 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Thu, 11 Oct 2018 03:23:08 +0200 Subject: [PATCH] Ref T397, further checks --- src/blackmisc/simulation/interpolatorspline.cpp | 13 +++++++++---- src/blackmisc/simulation/remoteaircraftprovider.cpp | 4 +++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/blackmisc/simulation/interpolatorspline.cpp b/src/blackmisc/simulation/interpolatorspline.cpp index a142e3c0d..7dda655a0 100644 --- a/src/blackmisc/simulation/interpolatorspline.cpp +++ b/src/blackmisc/simulation/interpolatorspline.cpp @@ -108,8 +108,8 @@ namespace BlackMisc if (!m_currentSituations.isEmpty()) { m_s[0] = m_s[1] = m_s[2] = m_currentSituations.front(); - m_s[0].addMsecs(-CFsdSetup::c_positionTimeOffsetMsec * 2); - m_s[1].addMsecs(-CFsdSetup::c_positionTimeOffsetMsec); + m_s[0].addMsecs(-CFsdSetup::c_positionTimeOffsetMsec * 2); // Ref T297 default offset time to fill data + m_s[1].addMsecs(-CFsdSetup::c_positionTimeOffsetMsec); // Ref T297 default offset time to fill data return true; } m_s[0] = m_s[1] = m_s[2] = CAircraftSituation::null(); @@ -118,8 +118,8 @@ namespace BlackMisc else { m_s[0] = m_s[1] = m_s[2] = m_lastSituation; // current - m_s[0].addMsecs(-CFsdSetup::c_positionTimeOffsetMsec); // oldest - m_s[2].addMsecs(CFsdSetup::c_positionTimeOffsetMsec); // latest + m_s[0].addMsecs(-CFsdSetup::c_positionTimeOffsetMsec); // oldest, Ref T297 default offset time to fill data + m_s[2].addMsecs(CFsdSetup::c_positionTimeOffsetMsec); // latest, Ref T297 default offset time to fill data if (m_currentSituations.isEmpty()) { return true; } } @@ -298,6 +298,11 @@ namespace BlackMisc newSituation.setPosition(currentPosition); newSituation.setAltitude(alt); newSituation.setMSecsSinceEpoch(this->getInterpolatedTime()); + if (CBuildConfig::isLocalDeveloperDebugBuild()) + { + Q_ASSERT_X(CAircraftSituation::isValidVector(normalVector), Q_FUNC_INFO, "invalid vector"); + Q_ASSERT_X(newSituation.isValidVectorRange(), Q_FUNC_INFO, "invalid situation"); + } if (interpolateGndFactor) { diff --git a/src/blackmisc/simulation/remoteaircraftprovider.cpp b/src/blackmisc/simulation/remoteaircraftprovider.cpp index 51106b244..3b60c81a8 100644 --- a/src/blackmisc/simulation/remoteaircraftprovider.cpp +++ b/src/blackmisc/simulation/remoteaircraftprovider.cpp @@ -260,6 +260,7 @@ namespace BlackMisc if (CBuildConfig::isLocalDeveloperDebugBuild()) { BLACK_VERIFY_X(situation.getTimeOffsetMs() > 0, Q_FUNC_INFO, "Missing offset"); + BLACK_VERIFY_X(situation.isValidVectorRange(), Q_FUNC_INFO, "Invalid vector"); } // add altitude offset (for testing only) @@ -303,7 +304,8 @@ namespace BlackMisc // check sort order if (CBuildConfig::isLocalDeveloperDebugBuild()) { - BLACK_VERIFY_X(newSituationsList.isSortedAdjustedLatestFirstWithoutNullPositions(), Q_FUNC_INFO, "wrong sort order"); + BLACK_VERIFY_X(newSituationsList.isSortedAdjustedLatestFirstWithoutNullPositions(), Q_FUNC_INFO, "wrong adjusted sort order"); + BLACK_VERIFY_X(newSituationsList.isSortedLatestFirst(), Q_FUNC_INFO, "wrong sort order"); BLACK_VERIFY_X(newSituationsList.size() <= IRemoteAircraftProvider::MaxSituationsPerCallsign, Q_FUNC_INFO, "Wrong size"); }