From 0991f20f7dd2e78da16a796852696358e260f8a7 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 19 Jan 2018 03:08:27 +0100 Subject: [PATCH] Ref T229, adjusted renamings because of CInterpolationStatus changes --- src/blackmisc/simulation/interpolator.cpp | 9 ++++----- src/blackmisc/simulation/interpolatorlinear.cpp | 8 +++----- src/blackmisc/simulation/interpolatorspline.cpp | 3 +-- .../simulator/fsxcommon/simulatorfsxcommon.cpp | 2 +- tests/blackmisc/testinterpolator.cpp | 11 ++++------- tests/blackmisc/testinterpolator.h | 1 - 6 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/blackmisc/simulation/interpolator.cpp b/src/blackmisc/simulation/interpolator.cpp index 85cb65b1e..fbc0b37ac 100644 --- a/src/blackmisc/simulation/interpolator.cpp +++ b/src/blackmisc/simulation/interpolator.cpp @@ -71,9 +71,9 @@ namespace BlackMisc const auto interpolant = derived()->getInterpolant(currentTimeMsSinceEpoc, setup, hints, status, log); // succeeded so far? - if (!status.didInterpolationSucceed()) + if (!status.isInterpolated()) { - status.setValidSituation(currentSituation); + status.checkIfValidSituation(currentSituation); return currentSituation; } @@ -114,16 +114,15 @@ namespace BlackMisc CInterpolator::setGroundFlagFromInterpolator(hints, NoGroundFactor, currentSituation); } - if (setup.isForcingFullInterpolation() || hints.isVtolAircraft() || status.hasChangedPosition()) + if (setup.isForcingFullInterpolation() || hints.isVtolAircraft() || status.isInterpolated()) { const auto pbh = interpolant.pbh(); currentSituation.setHeading(pbh.getHeading()); currentSituation.setPitch(pbh.getPitch()); currentSituation.setBank(pbh.getBank()); currentSituation.setGroundSpeed(pbh.getGroundSpeed()); - status.setChangedPosition(true); + status.setInterpolatedAndCheckSituation(true, currentSituation); } - status.setInterpolationSucceeded(true, currentSituation); m_isFirstInterpolation = false; if (m_logger && hints.isLoggingInterpolation()) diff --git a/src/blackmisc/simulation/interpolatorlinear.cpp b/src/blackmisc/simulation/interpolatorlinear.cpp index 6258a6d03..57d355ed9 100644 --- a/src/blackmisc/simulation/interpolatorlinear.cpp +++ b/src/blackmisc/simulation/interpolatorlinear.cpp @@ -73,7 +73,7 @@ namespace BlackMisc if (situationsOlder.isEmpty()) { const CAircraftSituation currentSituation(*(situationsNewer.end() - 1)); // oldest newest - status.setInterpolationSucceeded(false, currentSituation); + status.setInterpolatedAndCheckSituation(false, currentSituation); return currentSituation; } @@ -81,7 +81,7 @@ namespace BlackMisc if (situationsOlder.size() < 2) { const CAircraftSituation currentSituation(situationsOlder.front()); // latest oldest - status.setInterpolationSucceeded(false, currentSituation); + status.setInterpolatedAndCheckSituation(false, currentSituation); return currentSituation; } @@ -124,9 +124,7 @@ namespace BlackMisc currentSituation.setTimeOffsetMs(oldSituation.getTimeOffsetMs() + (newSituation.getTimeOffsetMs() - oldSituation.getTimeOffsetMs()) * simulationTimeFraction); currentSituation.setMSecsSinceEpoch(oldSituation.getMSecsSinceEpoch() + deltaTimeFractionMs); - - status.setChangedPosition(m_isFirstInterpolation || oldSituation.getPosition() != newSituation.getPosition() || oldSituation.getAltitude() != newSituation.getAltitude()); - status.setInterpolationSucceeded(true, currentSituation); + status.setInterpolatedAndCheckSituation(true, currentSituation); log.oldSituation = oldSituation; log.newSituation = newSituation; diff --git a/src/blackmisc/simulation/interpolatorspline.cpp b/src/blackmisc/simulation/interpolatorspline.cpp index c247b9fe8..4d1113263 100644 --- a/src/blackmisc/simulation/interpolatorspline.cpp +++ b/src/blackmisc/simulation/interpolatorspline.cpp @@ -135,8 +135,7 @@ namespace BlackMisc log.oldSituation = m_pbh.getOldSituation(); log.newSituation = m_pbh.getNewSituation(); - status.setInterpolationSucceeded(true); - status.setChangedPosition(true); + status.setInterpolated(true); const double dt1 = static_cast(currentTimeMsSinceEpoc - m_prevSampleTime); const double dt2 = static_cast(m_nextSampleTime - m_prevSampleTime); const double timeFraction = dt1 / dt2; diff --git a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp index 464b6cc1b..589f78af9 100644 --- a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp +++ b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp @@ -1157,7 +1157,7 @@ namespace BlackSimPlugin bool CSimulatorFsxCommon::guessAndUpdateRemoteAircraftParts(const CSimConnectObject &simObj, const CAircraftSituation &interpolatedSituation, const CInterpolationStatus &interpolationStatus) { if (!simObj.hasValidRequestAndObjectId()) { return false; } - if (!interpolationStatus.didInterpolationSucceed()) { return false; } + if (!interpolationStatus.isInterpolated()) { return false; } CAircraftLights lights; DataDefinitionRemoteAircraftPartsWithoutLights ddRemoteAircraftPartsWintoutLights = {}; // init members diff --git a/tests/blackmisc/testinterpolator.cpp b/tests/blackmisc/testinterpolator.cpp index 5af3c6da2..cadc1ad02 100644 --- a/tests/blackmisc/testinterpolator.cpp +++ b/tests/blackmisc/testinterpolator.cpp @@ -53,7 +53,6 @@ using namespace BlackMisc::Simulation; namespace BlackMiscTest { - void CTestInterpolator::linearInterpolator() { CCallsign cs("SWIFT"); @@ -97,10 +96,9 @@ namespace BlackMiscTest CAircraftSituation currentSituation(interpolator.getInterpolatedSituation (currentTime, setup, hints, status) ); - QVERIFY2(status.didInterpolationSucceed(), "Interpolation was not succesful"); - QVERIFY2(status.hasChangedPosition(), "Interpolation did not changed"); - double latDeg = currentSituation.getPosition().latitude().valueRounded(CAngleUnit::deg(), 5); - double lngDeg = currentSituation.getPosition().longitude().valueRounded(CAngleUnit::deg(), 5); + QVERIFY2(status.isInterpolated(), "Value was not interpolated"); + const double latDeg = currentSituation.getPosition().latitude().valueRounded(CAngleUnit::deg(), 5); + const double lngDeg = currentSituation.getPosition().longitude().valueRounded(CAngleUnit::deg(), 5); QVERIFY2(latDeg < latOld && lngDeg < lngOld, "Values shall decrease"); QVERIFY2(latDeg >= 0 && latDeg <= IRemoteAircraftProvider::MaxSituationsPerCallsign, "Values shall be in range"); latOld = latDeg; @@ -127,7 +125,7 @@ namespace BlackMiscTest CAircraftSituation currentSituation(interpolator.getInterpolatedSituation (currentTime, setup, hints, status) ); - QVERIFY2(status.validAndChangedInterpolatedSituation(), "Failed interpolation"); + QVERIFY2(status.isInterpolated(), "Not interpolated"); QVERIFY2(currentSituation.getCallsign() == cs, "Wrong callsign"); double latDeg = currentSituation.getPosition().latitude().valueRounded(CAngleUnit::deg(), 5); double lngDeg = currentSituation.getPosition().longitude().valueRounded(CAngleUnit::deg(), 5); @@ -178,7 +176,6 @@ namespace BlackMiscTest p.setMSecsSinceEpoch(ts - deltaT * number); // values in past return p; } - } // namespace //! \endcond diff --git a/tests/blackmisc/testinterpolator.h b/tests/blackmisc/testinterpolator.h index c98d78f11..0f2338208 100644 --- a/tests/blackmisc/testinterpolator.h +++ b/tests/blackmisc/testinterpolator.h @@ -24,7 +24,6 @@ #include namespace BlackMisc { namespace Aviation { class CCallsign; } } - namespace BlackMiscTest {