Ref T261, interpolator mode is now part of setup

* added attribute in setup
* adjusted UI
* adjusted interpolator / simulator functions
This commit is contained in:
Klaus Basan
2018-05-04 22:31:25 +02:00
committed by Roland Winklmeier
parent eb815ab987
commit 3d2a74a652
21 changed files with 175 additions and 270 deletions

View File

@@ -369,23 +369,6 @@ namespace BlackSimPlugin
return false;
}
bool CSimulatorXPlane::setInterpolatorMode(CInterpolatorMulti::Mode mode, const CCallsign &callsign)
{
if (!isConnected()) { return false; }
if (mode == CInterpolatorMulti::ModeUnknown) { return false; }
if (callsign.isEmpty())
{
const int c = m_xplaneAircraftObjects.setInterpolatorModes(mode);
return c > 0;
}
else
{
if (!m_xplaneAircraftObjects.contains(callsign)) { return false; }
return m_xplaneAircraftObjects[callsign].setInterpolatorMode(mode);
}
}
QDBusConnection CSimulatorXPlane::connectionFromString(const QString &str)
{
if (str == CDBusServer::sessionBusAddress()) { return QDBusConnection::sessionBus(); }

View File

@@ -134,7 +134,6 @@ namespace BlackSimPlugin
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) override;
virtual BlackMisc::PhysicalQuantities::CTime getTimeSynchronizationOffset() const override { return BlackMisc::PhysicalQuantities::CTime(0, BlackMisc::PhysicalQuantities::CTimeUnit::hrmin()); }
virtual bool setInterpolatorMode(BlackMisc::Simulation::CInterpolatorMulti::Mode mode, const BlackMisc::Aviation::CCallsign &callsign) override;
virtual void unload() override;
//! @}

View File

@@ -36,22 +36,10 @@ namespace BlackSimPlugin
return m_situationAsSent == position;
}
void CXPlaneMPAircraft::toggleInterpolatorMode()
QString CXPlaneMPAircraft::getInterpolatorInfo(CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const
{
Q_ASSERT(m_interpolator);
m_interpolator->toggleMode();
}
bool CXPlaneMPAircraft::setInterpolatorMode(CInterpolatorMulti::Mode mode)
{
Q_ASSERT(m_interpolator);
return m_interpolator->setMode(mode);
}
QString CXPlaneMPAircraft::getInterpolatorInfo() const
{
Q_ASSERT(m_interpolator);
return m_interpolator->getInterpolatorInfo();
return m_interpolator->getInterpolatorInfo(mode);
}
void CXPlaneMPAircraft::attachInterpolatorLogger(CInterpolationLogger *logger)
@@ -91,15 +79,5 @@ namespace BlackSimPlugin
{
return CCallsignSet(this->keys());
}
int CXPlaneMPAircraftObjects::setInterpolatorModes(CInterpolatorMulti::Mode mode)
{
int c = 0;
for (const CCallsign &cs : this->keys())
{
if ((*this)[cs].setInterpolatorMode(mode)) c++;
}
return c;
}
} // namespace
} // namespace

View File

@@ -70,14 +70,8 @@ namespace BlackSimPlugin
//! Engine count
int getEngineCount() const { return m_aircraft.getEnginesCount(); }
//! \copydoc BlackMisc::Simulation::CInterpolatorMulti::toggleMode
void toggleInterpolatorMode();
//! \copydoc BlackMisc::Simulation::CInterpolatorMulti::setMode
bool setInterpolatorMode(BlackMisc::Simulation::CInterpolatorMulti::Mode mode);
//! \copydoc BlackMisc::Simulation::CInterpolator::getInterpolatorInfo
QString getInterpolatorInfo() const;
QString getInterpolatorInfo(BlackMisc::Simulation::CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const;
//! \copydoc BlackMisc::Simulation::CInterpolator::attachLogger
void attachInterpolatorLogger(BlackMisc::Simulation::CInterpolationLogger *logger);
@@ -128,9 +122,6 @@ namespace BlackSimPlugin
//! Toggle interpolator modes
void toggleInterpolatorMode(const BlackMisc::Aviation::CCallsign &callsign);
//! Set interpolator modes
int setInterpolatorModes(BlackMisc::Simulation::CInterpolatorMulti::Mode mode);
};
} // namespace
} // namespace