mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Ref T275, added param "ignoreSameAsGlobal" in function "setInterpolationAndRenderingSetupsPerCallsign"
This commit is contained in:
@@ -199,7 +199,7 @@ namespace BlackCore
|
||||
virtual void setInterpolationAndRenderingSetupGlobal(const BlackMisc::Simulation::CInterpolationAndRenderingSetupGlobal &setup) = 0;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IInterpolationSetupProvider::setInterpolationSetupsPerCallsign
|
||||
virtual void setInterpolationAndRenderingSetupsPerCallsign(const BlackMisc::Simulation::CInterpolationSetupList &setups) = 0;
|
||||
virtual bool setInterpolationAndRenderingSetupsPerCallsign(const BlackMisc::Simulation::CInterpolationSetupList &setups, bool ignoreSameAsGlobal) = 0;
|
||||
|
||||
//! Time synchronization offset
|
||||
virtual BlackMisc::PhysicalQuantities::CTime getTimeSynchronizationOffset() const = 0;
|
||||
|
||||
@@ -191,10 +191,12 @@ namespace BlackCore
|
||||
}
|
||||
|
||||
//! \copydoc ISimulator::setInterpolationSetupPerCallsign
|
||||
virtual void setInterpolationAndRenderingSetupsPerCallsign(const BlackMisc::Simulation::CInterpolationSetupList &setups) override
|
||||
virtual bool setInterpolationAndRenderingSetupsPerCallsign(const BlackMisc::Simulation::CInterpolationSetupList &setups, bool ignoreSameAsGlobal) override
|
||||
{
|
||||
Q_UNUSED(setups);
|
||||
Q_UNUSED(ignoreSameAsGlobal);
|
||||
logEmptyContextWarning(Q_FUNC_INFO);
|
||||
return false;
|
||||
}
|
||||
|
||||
//! \copydoc IContextSimulator::getTimeSynchronizationOffset
|
||||
|
||||
@@ -304,12 +304,12 @@ namespace BlackCore
|
||||
return m_simulatorPlugin.second->getInterpolationSetupPerCallsignOrDefault(callsign);
|
||||
}
|
||||
|
||||
void CContextSimulator::setInterpolationAndRenderingSetupsPerCallsign(const CInterpolationSetupList &setups)
|
||||
bool CContextSimulator::setInterpolationAndRenderingSetupsPerCallsign(const CInterpolationSetupList &setups, bool ignoreSameAsGlobal)
|
||||
{
|
||||
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||
if (m_simulatorPlugin.first.isUnspecified()) { return; }
|
||||
if (m_simulatorPlugin.first.isUnspecified()) { return false; }
|
||||
Q_ASSERT(m_simulatorPlugin.second);
|
||||
return m_simulatorPlugin.second->setInterpolationSetupsPerCallsign(setups);
|
||||
return m_simulatorPlugin.second->setInterpolationSetupsPerCallsign(setups, ignoreSameAsGlobal);
|
||||
}
|
||||
|
||||
void CContextSimulator::setInterpolationAndRenderingSetupGlobal(const CInterpolationAndRenderingSetupGlobal &setup)
|
||||
|
||||
@@ -93,7 +93,7 @@ namespace BlackCore
|
||||
virtual BlackMisc::Simulation::CInterpolationAndRenderingSetupGlobal getInterpolationAndRenderingSetupGlobal() const override;
|
||||
virtual BlackMisc::Simulation::CInterpolationSetupList getInterpolationAndRenderingSetupsPerCallsign() const override;
|
||||
virtual BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign getInterpolationAndRenderingSetupPerCallsignOrDefault(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual void setInterpolationAndRenderingSetupsPerCallsign(const BlackMisc::Simulation::CInterpolationSetupList &setups) override;
|
||||
virtual bool setInterpolationAndRenderingSetupsPerCallsign(const BlackMisc::Simulation::CInterpolationSetupList &setups, bool ignoreSameAsGlobal) override;
|
||||
virtual void setInterpolationAndRenderingSetupGlobal(const BlackMisc::Simulation::CInterpolationAndRenderingSetupGlobal &setup) override;
|
||||
virtual BlackMisc::CPixmap iconForModel(const QString &modelString) const override;
|
||||
virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override;
|
||||
|
||||
@@ -184,9 +184,9 @@ namespace BlackCore
|
||||
return m_dBusInterface->callDBusRet<CInterpolationAndRenderingSetupPerCallsign>(QLatin1String("getInterpolationAndRenderingSetupsPerCallsign"), callsign);
|
||||
}
|
||||
|
||||
void CContextSimulatorProxy::setInterpolationAndRenderingSetupsPerCallsign(const CInterpolationSetupList &setups)
|
||||
bool CContextSimulatorProxy::setInterpolationAndRenderingSetupsPerCallsign(const CInterpolationSetupList &setups, bool ignoreSameAsGlobal)
|
||||
{
|
||||
m_dBusInterface->callDBus(QLatin1String("setInterpolationAndRenderingSetupsPerCallsign"), setups);
|
||||
return m_dBusInterface->callDBusRet<bool>(QLatin1String("setInterpolationAndRenderingSetupsPerCallsign"), setups, ignoreSameAsGlobal);
|
||||
}
|
||||
|
||||
void CContextSimulatorProxy::setInterpolationAndRenderingSetupGlobal(const CInterpolationAndRenderingSetupGlobal &setup)
|
||||
|
||||
@@ -79,7 +79,7 @@ namespace BlackCore
|
||||
virtual void setInterpolationAndRenderingSetupGlobal(const BlackMisc::Simulation::CInterpolationAndRenderingSetupGlobal &setup) override;
|
||||
virtual BlackMisc::Simulation::CInterpolationSetupList getInterpolationAndRenderingSetupsPerCallsign() const override;
|
||||
virtual BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign getInterpolationAndRenderingSetupPerCallsignOrDefault(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual void setInterpolationAndRenderingSetupsPerCallsign(const BlackMisc::Simulation::CInterpolationSetupList &setups) override;
|
||||
virtual bool setInterpolationAndRenderingSetupsPerCallsign(const BlackMisc::Simulation::CInterpolationSetupList &setups, bool ignoreSameAsGlobal) override;
|
||||
virtual BlackMisc::PhysicalQuantities::CTime getTimeSynchronizationOffset() const override;
|
||||
virtual BlackMisc::CPixmap iconForModel(const QString &modelString) const override;
|
||||
virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override;
|
||||
|
||||
@@ -28,16 +28,22 @@ namespace BlackMisc
|
||||
return CInterpolationSetupList(setups.values());
|
||||
}
|
||||
|
||||
void IInterpolationSetupProvider::setInterpolationSetupsPerCallsign(const CInterpolationSetupList &setups)
|
||||
bool IInterpolationSetupProvider::setInterpolationSetupsPerCallsign(const CInterpolationSetupList &setups, bool ignoreSameAsGlobal)
|
||||
{
|
||||
const CInterpolationAndRenderingSetupGlobal gs = this->getInterpolationSetupGlobal();
|
||||
SetupsPerCallsign setupsPerCs;
|
||||
for (const CInterpolationAndRenderingSetupPerCallsign &setup : setups)
|
||||
{
|
||||
if (ignoreSameAsGlobal && setup.isEqualToGlobal(gs)) { continue; }
|
||||
setupsPerCs.insert(setup.getCallsign(), setup);
|
||||
}
|
||||
|
||||
QWriteLocker l(&m_lockSetup);
|
||||
m_setups = setupsPerCs;
|
||||
{
|
||||
QWriteLocker l(&m_lockSetup);
|
||||
if (m_setups.isEmpty() && setupsPerCs.isEmpty()) { return false; }
|
||||
m_setups = setupsPerCs;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
CInterpolationAndRenderingSetupGlobal IInterpolationSetupProvider::getInterpolationSetupGlobal() const
|
||||
@@ -91,7 +97,8 @@ namespace BlackMisc
|
||||
{
|
||||
if (removeGlobalSetup)
|
||||
{
|
||||
if (setup.isEqualToGlobal(this->getInterpolationSetupGlobal()))
|
||||
const CInterpolationAndRenderingSetupGlobal gs = this->getInterpolationSetupGlobal();
|
||||
if (setup.isEqualToGlobal(gs))
|
||||
{
|
||||
QWriteLocker l(&m_lockSetup);
|
||||
m_setups.remove(callsign);
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace BlackMisc
|
||||
|
||||
//! Set all setups per callsign
|
||||
//! \threadsafe
|
||||
virtual void setInterpolationSetupsPerCallsign(const CInterpolationSetupList &setups);
|
||||
virtual bool setInterpolationSetupsPerCallsign(const CInterpolationSetupList &setups, bool ignoreSameAsGlobal = true);
|
||||
|
||||
//! The global setup
|
||||
//! \threadsafe
|
||||
|
||||
@@ -143,7 +143,7 @@ namespace BlackMisc
|
||||
|
||||
QString ISimulationEnvironmentProvider::getElevationsFoundMissedInfo() const
|
||||
{
|
||||
static const QString info("%1/%2 %3");
|
||||
static const QString info("%1/%2 %3%");
|
||||
const QPair<int, int> foundMissed = this->getElevationsFoundMissed();
|
||||
const int f = foundMissed.first;
|
||||
const int m = foundMissed.second;
|
||||
|
||||
Reference in New Issue
Block a user