Ref T229, adjusted renamings because of CInterpolationStatus changes

This commit is contained in:
Klaus Basan
2018-01-19 03:08:27 +01:00
parent 75c2eec3d1
commit 0991f20f7d
6 changed files with 13 additions and 21 deletions

View File

@@ -71,9 +71,9 @@ namespace BlackMisc
const auto interpolant = derived()->getInterpolant(currentTimeMsSinceEpoc, setup, hints, status, log); const auto interpolant = derived()->getInterpolant(currentTimeMsSinceEpoc, setup, hints, status, log);
// succeeded so far? // succeeded so far?
if (!status.didInterpolationSucceed()) if (!status.isInterpolated())
{ {
status.setValidSituation(currentSituation); status.checkIfValidSituation(currentSituation);
return currentSituation; return currentSituation;
} }
@@ -114,16 +114,15 @@ namespace BlackMisc
CInterpolator::setGroundFlagFromInterpolator(hints, NoGroundFactor, currentSituation); CInterpolator::setGroundFlagFromInterpolator(hints, NoGroundFactor, currentSituation);
} }
if (setup.isForcingFullInterpolation() || hints.isVtolAircraft() || status.hasChangedPosition()) if (setup.isForcingFullInterpolation() || hints.isVtolAircraft() || status.isInterpolated())
{ {
const auto pbh = interpolant.pbh(); const auto pbh = interpolant.pbh();
currentSituation.setHeading(pbh.getHeading()); currentSituation.setHeading(pbh.getHeading());
currentSituation.setPitch(pbh.getPitch()); currentSituation.setPitch(pbh.getPitch());
currentSituation.setBank(pbh.getBank()); currentSituation.setBank(pbh.getBank());
currentSituation.setGroundSpeed(pbh.getGroundSpeed()); currentSituation.setGroundSpeed(pbh.getGroundSpeed());
status.setChangedPosition(true); status.setInterpolatedAndCheckSituation(true, currentSituation);
} }
status.setInterpolationSucceeded(true, currentSituation);
m_isFirstInterpolation = false; m_isFirstInterpolation = false;
if (m_logger && hints.isLoggingInterpolation()) if (m_logger && hints.isLoggingInterpolation())

View File

@@ -73,7 +73,7 @@ namespace BlackMisc
if (situationsOlder.isEmpty()) if (situationsOlder.isEmpty())
{ {
const CAircraftSituation currentSituation(*(situationsNewer.end() - 1)); // oldest newest const CAircraftSituation currentSituation(*(situationsNewer.end() - 1)); // oldest newest
status.setInterpolationSucceeded(false, currentSituation); status.setInterpolatedAndCheckSituation(false, currentSituation);
return currentSituation; return currentSituation;
} }
@@ -81,7 +81,7 @@ namespace BlackMisc
if (situationsOlder.size() < 2) if (situationsOlder.size() < 2)
{ {
const CAircraftSituation currentSituation(situationsOlder.front()); // latest oldest const CAircraftSituation currentSituation(situationsOlder.front()); // latest oldest
status.setInterpolationSucceeded(false, currentSituation); status.setInterpolatedAndCheckSituation(false, currentSituation);
return currentSituation; return currentSituation;
} }
@@ -124,9 +124,7 @@ namespace BlackMisc
currentSituation.setTimeOffsetMs(oldSituation.getTimeOffsetMs() + (newSituation.getTimeOffsetMs() - oldSituation.getTimeOffsetMs()) * simulationTimeFraction); currentSituation.setTimeOffsetMs(oldSituation.getTimeOffsetMs() + (newSituation.getTimeOffsetMs() - oldSituation.getTimeOffsetMs()) * simulationTimeFraction);
currentSituation.setMSecsSinceEpoch(oldSituation.getMSecsSinceEpoch() + deltaTimeFractionMs); currentSituation.setMSecsSinceEpoch(oldSituation.getMSecsSinceEpoch() + deltaTimeFractionMs);
status.setInterpolatedAndCheckSituation(true, currentSituation);
status.setChangedPosition(m_isFirstInterpolation || oldSituation.getPosition() != newSituation.getPosition() || oldSituation.getAltitude() != newSituation.getAltitude());
status.setInterpolationSucceeded(true, currentSituation);
log.oldSituation = oldSituation; log.oldSituation = oldSituation;
log.newSituation = newSituation; log.newSituation = newSituation;

View File

@@ -135,8 +135,7 @@ namespace BlackMisc
log.oldSituation = m_pbh.getOldSituation(); log.oldSituation = m_pbh.getOldSituation();
log.newSituation = m_pbh.getNewSituation(); log.newSituation = m_pbh.getNewSituation();
status.setInterpolationSucceeded(true); status.setInterpolated(true);
status.setChangedPosition(true);
const double dt1 = static_cast<double>(currentTimeMsSinceEpoc - m_prevSampleTime); const double dt1 = static_cast<double>(currentTimeMsSinceEpoc - m_prevSampleTime);
const double dt2 = static_cast<double>(m_nextSampleTime - m_prevSampleTime); const double dt2 = static_cast<double>(m_nextSampleTime - m_prevSampleTime);
const double timeFraction = dt1 / dt2; const double timeFraction = dt1 / dt2;

View File

@@ -1157,7 +1157,7 @@ namespace BlackSimPlugin
bool CSimulatorFsxCommon::guessAndUpdateRemoteAircraftParts(const CSimConnectObject &simObj, const CAircraftSituation &interpolatedSituation, const CInterpolationStatus &interpolationStatus) bool CSimulatorFsxCommon::guessAndUpdateRemoteAircraftParts(const CSimConnectObject &simObj, const CAircraftSituation &interpolatedSituation, const CInterpolationStatus &interpolationStatus)
{ {
if (!simObj.hasValidRequestAndObjectId()) { return false; } if (!simObj.hasValidRequestAndObjectId()) { return false; }
if (!interpolationStatus.didInterpolationSucceed()) { return false; } if (!interpolationStatus.isInterpolated()) { return false; }
CAircraftLights lights; CAircraftLights lights;
DataDefinitionRemoteAircraftPartsWithoutLights ddRemoteAircraftPartsWintoutLights = {}; // init members DataDefinitionRemoteAircraftPartsWithoutLights ddRemoteAircraftPartsWintoutLights = {}; // init members

View File

@@ -53,7 +53,6 @@ using namespace BlackMisc::Simulation;
namespace BlackMiscTest namespace BlackMiscTest
{ {
void CTestInterpolator::linearInterpolator() void CTestInterpolator::linearInterpolator()
{ {
CCallsign cs("SWIFT"); CCallsign cs("SWIFT");
@@ -97,10 +96,9 @@ namespace BlackMiscTest
CAircraftSituation currentSituation(interpolator.getInterpolatedSituation CAircraftSituation currentSituation(interpolator.getInterpolatedSituation
(currentTime, setup, hints, status) (currentTime, setup, hints, status)
); );
QVERIFY2(status.didInterpolationSucceed(), "Interpolation was not succesful"); QVERIFY2(status.isInterpolated(), "Value was not interpolated");
QVERIFY2(status.hasChangedPosition(), "Interpolation did not changed"); const double latDeg = currentSituation.getPosition().latitude().valueRounded(CAngleUnit::deg(), 5);
double latDeg = currentSituation.getPosition().latitude().valueRounded(CAngleUnit::deg(), 5); const double lngDeg = currentSituation.getPosition().longitude().valueRounded(CAngleUnit::deg(), 5);
double lngDeg = currentSituation.getPosition().longitude().valueRounded(CAngleUnit::deg(), 5);
QVERIFY2(latDeg < latOld && lngDeg < lngOld, "Values shall decrease"); QVERIFY2(latDeg < latOld && lngDeg < lngOld, "Values shall decrease");
QVERIFY2(latDeg >= 0 && latDeg <= IRemoteAircraftProvider::MaxSituationsPerCallsign, "Values shall be in range"); QVERIFY2(latDeg >= 0 && latDeg <= IRemoteAircraftProvider::MaxSituationsPerCallsign, "Values shall be in range");
latOld = latDeg; latOld = latDeg;
@@ -127,7 +125,7 @@ namespace BlackMiscTest
CAircraftSituation currentSituation(interpolator.getInterpolatedSituation CAircraftSituation currentSituation(interpolator.getInterpolatedSituation
(currentTime, setup, hints, status) (currentTime, setup, hints, status)
); );
QVERIFY2(status.validAndChangedInterpolatedSituation(), "Failed interpolation"); QVERIFY2(status.isInterpolated(), "Not interpolated");
QVERIFY2(currentSituation.getCallsign() == cs, "Wrong callsign"); QVERIFY2(currentSituation.getCallsign() == cs, "Wrong callsign");
double latDeg = currentSituation.getPosition().latitude().valueRounded(CAngleUnit::deg(), 5); double latDeg = currentSituation.getPosition().latitude().valueRounded(CAngleUnit::deg(), 5);
double lngDeg = currentSituation.getPosition().longitude().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 p.setMSecsSinceEpoch(ts - deltaT * number); // values in past
return p; return p;
} }
} // namespace } // namespace
//! \endcond //! \endcond

View File

@@ -24,7 +24,6 @@
#include <QtGlobal> #include <QtGlobal>
namespace BlackMisc { namespace Aviation { class CCallsign; } } namespace BlackMisc { namespace Aviation { class CCallsign; } }
namespace BlackMiscTest namespace BlackMiscTest
{ {