Ref T421, function to get interpolation messages from the simulator drivers

This commit is contained in:
Klaus Basan
2018-10-31 15:30:15 +01:00
parent 41685df4ee
commit 93bcbc0755
15 changed files with 70 additions and 3 deletions

View File

@@ -145,6 +145,13 @@ namespace BlackSimPlugin
m_statsAddCurrentTimeMs = -1;
}
CStatusMessageList CSimulatorXPlane::getInterpolationMessages(const CCallsign &callsign) const
{
if (!m_xplaneAircraftObjects.contains(callsign)) { return CStatusMessageList(); }
const CInterpolationAndRenderingSetupPerCallsign setup = this->getInterpolationSetupConsolidated(callsign);
return m_xplaneAircraftObjects[callsign].getInterpolationMessages(setup.getInterpolatorMode());
}
void CSimulatorXPlane::clearAllRemoteAircraftData()
{
m_aircraftAddedFailed.clear();

View File

@@ -138,6 +138,7 @@ namespace BlackSimPlugin
virtual void unload() override;
virtual QString getStatisticsSimulatorSpecific() const override;
virtual void resetAircraftStatistics() override;
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
//! @}
//! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::requestElevation

View File

@@ -12,6 +12,7 @@
#include "blackmisc/simulation/interpolatormulti.h"
using namespace BlackCore;
using namespace BlackMisc;
using namespace BlackMisc::Aviation;
using namespace BlackMisc::Simulation;
@@ -49,6 +50,11 @@ namespace BlackSimPlugin
return m_interpolator->getInterpolation(currentTimeSinceEpoc, setup, aircraftNumber);
}
CStatusMessageList CXPlaneMPAircraft::getInterpolationMessages(CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const
{
return this->getInterpolator() ? this->getInterpolator()->getInterpolationMessages(mode) : CStatusMessageList();
}
CCallsignSet CXPlaneMPAircraftObjects::getAllCallsigns() const
{
return CCallsignSet(this->keys());

View File

@@ -55,6 +55,9 @@ namespace BlackSimPlugin
//! \copydoc BlackMisc::Simulation::CInterpolator::getInterpolation
BlackMisc::Simulation::CInterpolationResult getInterpolation(qint64 currentTimeSinceEpoc, const BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign &setup, int aircraftNumber) const;
//! \copydoc BlackMisc::Simulation::CInterpolator::getInterpolationMessages
BlackMisc::CStatusMessageList getInterpolationMessages(BlackMisc::Simulation::CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const;
//! Interpolator
BlackMisc::Simulation::CInterpolatorMulti *getInterpolator() const { return m_interpolator.data(); }