From 78d0dc443559a05f8739bf53c301f7d96b5753f9 Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Thu, 4 Jan 2024 22:38:00 +0100 Subject: [PATCH] refactor: Change variable type of aircraftNumber The aircraft number should always be positive --- src/blackmisc/simulation/interpolator.cpp | 4 +--- src/blackmisc/simulation/interpolator.h | 2 +- src/blackmisc/simulation/interpolatormulti.cpp | 2 +- src/blackmisc/simulation/interpolatormulti.h | 2 +- src/plugins/simulator/emulated/simulatoremulated.cpp | 2 +- src/plugins/simulator/flightgear/flightgearmpaircraft.cpp | 2 +- src/plugins/simulator/flightgear/flightgearmpaircraft.h | 2 +- src/plugins/simulator/flightgear/simulatorflightgear.cpp | 2 +- src/plugins/simulator/fsxcommon/simconnectobject.cpp | 2 +- src/plugins/simulator/fsxcommon/simconnectobject.h | 2 +- src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp | 2 +- src/plugins/simulator/xplane/simulatorxplane.cpp | 2 +- src/plugins/simulator/xplane/xplanempaircraft.cpp | 2 +- src/plugins/simulator/xplane/xplanempaircraft.h | 2 +- .../testinterpolatorlinear/testinterpolatorlinear.cpp | 6 +++--- 15 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/blackmisc/simulation/interpolator.cpp b/src/blackmisc/simulation/interpolator.cpp index 0ae105187..04475a9cc 100644 --- a/src/blackmisc/simulation/interpolator.cpp +++ b/src/blackmisc/simulation/interpolator.cpp @@ -212,13 +212,11 @@ namespace BlackMisc::Simulation } template - CInterpolationResult CInterpolator::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) + CInterpolationResult CInterpolator::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) { CInterpolationResult result; do { - // make sure we can also interpolate parts only (needed in unit tests) - if (aircraftNumber < 0) { aircraftNumber = 0; } const bool init = this->initIniterpolationStepData(currentTimeSinceEpoc, setup, aircraftNumber); Q_ASSERT_X(!m_currentInterpolationStatus.isInterpolated(), Q_FUNC_INFO, "Expect reset status"); if (!m_unitTest && !init) { break; } // failure in real scenarios, unit tests move on diff --git a/src/blackmisc/simulation/interpolator.h b/src/blackmisc/simulation/interpolator.h index eabccdb03..6d6147ef2 100644 --- a/src/blackmisc/simulation/interpolator.h +++ b/src/blackmisc/simulation/interpolator.h @@ -193,7 +193,7 @@ namespace BlackMisc const Aviation::CAircraftSituation &getLastInterpolatedSituation() const { return m_lastSituation; } //! Parts and situation interpolated - CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber = -1); + CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber); //! Takes input between 0 and 1 and returns output between 0 and 1 smoothed with an S-shaped curve. //! diff --git a/src/blackmisc/simulation/interpolatormulti.cpp b/src/blackmisc/simulation/interpolatormulti.cpp index 62f54de2a..e1bcadad0 100644 --- a/src/blackmisc/simulation/interpolatormulti.cpp +++ b/src/blackmisc/simulation/interpolatormulti.cpp @@ -13,7 +13,7 @@ namespace BlackMisc::Simulation m_linear(callsign, p1, p2, p3, logger) {} - CInterpolationResult CInterpolatorMulti::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) + CInterpolationResult CInterpolatorMulti::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) { switch (setup.getInterpolatorMode()) { diff --git a/src/blackmisc/simulation/interpolatormulti.h b/src/blackmisc/simulation/interpolatormulti.h index f20f63396..bc3402ea4 100644 --- a/src/blackmisc/simulation/interpolatormulti.h +++ b/src/blackmisc/simulation/interpolatormulti.h @@ -22,7 +22,7 @@ namespace BlackMisc::Simulation CInterpolationLogger *logger = nullptr); //! \copydoc CInterpolator::getInterpolation - CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber); + CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber); //! \copydoc CInterpolator::getLastInterpolatedSituation const Aviation::CAircraftSituation &getLastInterpolatedSituation(CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const; diff --git a/src/plugins/simulator/emulated/simulatoremulated.cpp b/src/plugins/simulator/emulated/simulatoremulated.cpp index 9f7f91f37..ba59f82df 100644 --- a/src/plugins/simulator/emulated/simulatoremulated.cpp +++ b/src/plugins/simulator/emulated/simulatoremulated.cpp @@ -524,7 +524,7 @@ namespace BlackSimPlugin::Emulated { const qint64 now = QDateTime::currentMSecsSinceEpoch(); const bool updateAllAircraft = this->isUpdateAllRemoteAircraft(now); - int aircraftNumber = 0; + uint32_t aircraftNumber = 0; for (const CSimulatedAircraft &aircraft : m_renderedAircraft) { diff --git a/src/plugins/simulator/flightgear/flightgearmpaircraft.cpp b/src/plugins/simulator/flightgear/flightgearmpaircraft.cpp index 5df9a923a..a78357bfb 100644 --- a/src/plugins/simulator/flightgear/flightgearmpaircraft.cpp +++ b/src/plugins/simulator/flightgear/flightgearmpaircraft.cpp @@ -40,7 +40,7 @@ namespace BlackSimPlugin::Flightgear m_interpolator->attachLogger(logger); } - CInterpolationResult CFlightgearMPAircraft::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) const + CInterpolationResult CFlightgearMPAircraft::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) const { Q_ASSERT(m_interpolator); return m_interpolator->getInterpolation(currentTimeSinceEpoc, setup, aircraftNumber); diff --git a/src/plugins/simulator/flightgear/flightgearmpaircraft.h b/src/plugins/simulator/flightgear/flightgearmpaircraft.h index 9fa26f6eb..2541c001b 100644 --- a/src/plugins/simulator/flightgear/flightgearmpaircraft.h +++ b/src/plugins/simulator/flightgear/flightgearmpaircraft.h @@ -57,7 +57,7 @@ namespace BlackSimPlugin::Flightgear void attachInterpolatorLogger(BlackMisc::Simulation::CInterpolationLogger *logger) const; //! \copydoc BlackMisc::Simulation::CInterpolator::getInterpolation - BlackMisc::Simulation::CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) const; + BlackMisc::Simulation::CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) const; //! \copydoc BlackMisc::Simulation::CInterpolator::getInterpolationMessages BlackMisc::CStatusMessageList getInterpolationMessages(BlackMisc::Simulation::CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const; diff --git a/src/plugins/simulator/flightgear/simulatorflightgear.cpp b/src/plugins/simulator/flightgear/simulatorflightgear.cpp index 205002468..d15f81a1f 100644 --- a/src/plugins/simulator/flightgear/simulatorflightgear.cpp +++ b/src/plugins/simulator/flightgear/simulatorflightgear.cpp @@ -637,7 +637,7 @@ namespace BlackSimPlugin::Flightgear PlanesSurfaces planesSurfaces; PlanesTransponders planesTransponders; - int aircraftNumber = 0; + uint32_t aircraftNumber = 0; const bool updateAllAircraft = this->isUpdateAllRemoteAircraft(currentTimestamp); const CCallsignSet callsignsInRange = this->getAircraftInRangeCallsigns(); for (const CFlightgearMPAircraft &flightgearAircraft : std::as_const(m_flightgearAircraftObjects)) diff --git a/src/plugins/simulator/fsxcommon/simconnectobject.cpp b/src/plugins/simulator/fsxcommon/simconnectobject.cpp index e149fbaf1..37710b58f 100644 --- a/src/plugins/simulator/fsxcommon/simconnectobject.cpp +++ b/src/plugins/simulator/fsxcommon/simconnectobject.cpp @@ -205,7 +205,7 @@ namespace BlackSimPlugin::FsxCommon m_interpolator->attachLogger(logger); } - CInterpolationResult CSimConnectObject::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) const + CInterpolationResult CSimConnectObject::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) const { if (!m_interpolator) { diff --git a/src/plugins/simulator/fsxcommon/simconnectobject.h b/src/plugins/simulator/fsxcommon/simconnectobject.h index 9a840e547..0d9ebed3f 100644 --- a/src/plugins/simulator/fsxcommon/simconnectobject.h +++ b/src/plugins/simulator/fsxcommon/simconnectobject.h @@ -275,7 +275,7 @@ namespace BlackSimPlugin::FsxCommon void attachInterpolatorLogger(BlackMisc::Simulation::CInterpolationLogger *logger) const; //! \copydoc BlackMisc::Simulation::CInterpolator::getInterpolation - BlackMisc::Simulation::CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) const; + BlackMisc::Simulation::CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) const; //! \copydoc BlackMisc::Simulation::CInterpolator::getLastInterpolatedSituation const BlackMisc::Aviation::CAircraftSituation &getLastInterpolatedSituation(BlackMisc::Simulation::CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const; diff --git a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp index 48e49fba2..a84917c4a 100644 --- a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp +++ b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp @@ -1930,7 +1930,7 @@ namespace BlackSimPlugin::FsxCommon // interpolation for all remote aircraft const QList simObjects(m_simConnectObjects.values()); - int simObjectNumber = 0; + uint32_t simObjectNumber = 0; const bool traceSendId = this->isTracingSendId(); const bool updateAllAircraft = this->isUpdateAllRemoteAircraft(currentTimestamp); for (const CSimConnectObject &simObject : simObjects) diff --git a/src/plugins/simulator/xplane/simulatorxplane.cpp b/src/plugins/simulator/xplane/simulatorxplane.cpp index fa74eb8ef..1b6092f06 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.cpp +++ b/src/plugins/simulator/xplane/simulatorxplane.cpp @@ -918,7 +918,7 @@ namespace BlackSimPlugin::XPlane PlanesSurfaces planesSurfaces; PlanesTransponders planesTransponders; - int aircraftNumber = 0; + uint32_t aircraftNumber = 0; const bool updateAllAircraft = this->isUpdateAllRemoteAircraft(currentTimestamp); const CCallsignSet callsignsInRange = this->getAircraftInRangeCallsigns(); for (const CXPlaneMPAircraft &xplaneAircraft : std::as_const(m_xplaneAircraftObjects)) diff --git a/src/plugins/simulator/xplane/xplanempaircraft.cpp b/src/plugins/simulator/xplane/xplanempaircraft.cpp index e7d28a78d..7de2a236a 100644 --- a/src/plugins/simulator/xplane/xplanempaircraft.cpp +++ b/src/plugins/simulator/xplane/xplanempaircraft.cpp @@ -40,7 +40,7 @@ namespace BlackSimPlugin::XPlane m_interpolator->attachLogger(logger); } - CInterpolationResult CXPlaneMPAircraft::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) const + CInterpolationResult CXPlaneMPAircraft::getInterpolation(qint64 currentTimeSinceEpoc, const CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) const { Q_ASSERT(m_interpolator); return m_interpolator->getInterpolation(currentTimeSinceEpoc, setup, aircraftNumber); diff --git a/src/plugins/simulator/xplane/xplanempaircraft.h b/src/plugins/simulator/xplane/xplanempaircraft.h index 95470df68..8497d69b8 100644 --- a/src/plugins/simulator/xplane/xplanempaircraft.h +++ b/src/plugins/simulator/xplane/xplanempaircraft.h @@ -57,7 +57,7 @@ namespace BlackSimPlugin::XPlane void attachInterpolatorLogger(BlackMisc::Simulation::CInterpolationLogger *logger) const; //! \copydoc BlackMisc::Simulation::CInterpolator::getInterpolation - BlackMisc::Simulation::CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) const; + BlackMisc::Simulation::CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) const; //! \copydoc BlackMisc::Simulation::CInterpolator::getInterpolationMessages BlackMisc::CStatusMessageList getInterpolationMessages(BlackMisc::Simulation::CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const; diff --git a/tests/blackmisc/simulation/testinterpolatorlinear/testinterpolatorlinear.cpp b/tests/blackmisc/simulation/testinterpolatorlinear/testinterpolatorlinear.cpp index f5cba3538..91c29b14c 100644 --- a/tests/blackmisc/simulation/testinterpolatorlinear/testinterpolatorlinear.cpp +++ b/tests/blackmisc/simulation/testinterpolatorlinear/testinterpolatorlinear.cpp @@ -105,7 +105,7 @@ namespace BlackMiscTest // from: ts - 2 * deltaT + offset // to: ts + offset - const CInterpolationResult result = interpolator.getInterpolation(currentTime, setup); + const CInterpolationResult result = interpolator.getInterpolation(currentTime, setup, 0); const CAircraftSituation currentSituation(result); QVERIFY2(result.getInterpolationStatus().isInterpolated(), "Value was not interpolated"); const double latDeg = currentSituation.getPosition().latitude().valueRounded(CAngleUnit::deg(), 5); @@ -139,7 +139,7 @@ namespace BlackMiscTest // This will use range // from: ts - 2* deltaT + offset // to: ts + offset - const CInterpolationResult result = interpolator.getInterpolation(currentTime, setup); + const CInterpolationResult result = interpolator.getInterpolation(currentTime, setup, 0); const CAircraftSituation currentSituation(result); QVERIFY2(result.getInterpolationStatus().isInterpolated(), "Not interpolated"); QVERIFY2(!currentSituation.getCallsign().isEmpty(), "Empty callsign"); @@ -163,7 +163,7 @@ namespace BlackMiscTest timer.start(); for (qint64 currentTime = ts - 2 * deltaT; currentTime < ts; currentTime += 250) { - const CInterpolationResult result = interpolator.getInterpolation(currentTime, setup); + const CInterpolationResult result = interpolator.getInterpolation(currentTime, setup, 0); fetchedParts++; QVERIFY2(result.getPartsStatus().isSupportingParts(), "Parts not supported"); }