Ref T681, renamed to rememberElevationAndSimulatorCG and style

This commit is contained in:
Klaus Basan
2019-06-12 01:43:57 +02:00
committed by Mat Sutcliffe
parent 30609ef7ad
commit 71e09b008f
10 changed files with 24 additions and 23 deletions

View File

@@ -116,6 +116,7 @@ namespace BlackCore
signals:
//! Changed aircraft model
//! \private Use ISimulatorContext::ownAircraftModelChanged
//! \remark used for cross context updates
void ps_changedModel(const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &identifier);
public slots:

View File

@@ -106,7 +106,7 @@ namespace BlackCore
{
if (simulator.isSingleSimulator())
{
const QString simDir = m_simulatorSettings.getSimulatorDirectoryOrDefault(simulator);
const QString simDir = m_multiSimulatorSettings.getSimulatorDirectoryOrDefault(simulator);
m_validator->setCurrentSimulator(simulator, simDir);
}
else
@@ -149,15 +149,15 @@ namespace BlackCore
if (!p.isValid()) { return {}; }
const CSimulatorInfo sim = p.getSimulatorInfo();
if (!sim.isSingleSimulator()) { return {}; }
return m_simulatorSettings.getSettings(sim);
return m_multiSimulatorSettings.getSettings(sim);
}
bool CContextSimulator::setSimulatorSettings(const CSimulatorSettings &settings, const CSimulatorInfo &simulator)
{
if (!simulator.isSingleSimulator()) { return false; }
CSimulatorSettings simSettings = m_simulatorSettings.getSettings(simulator);
CSimulatorSettings simSettings = m_multiSimulatorSettings.getSettings(simulator);
if (simSettings == settings) { return false; }
const CStatusMessage msg = m_simulatorSettings.setSettings(settings, simulator);
const CStatusMessage msg = m_multiSimulatorSettings.setSettings(settings, simulator);
CLogMessage::preformatted(msg);
return true;
}
@@ -323,7 +323,7 @@ namespace BlackCore
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
if (!m_validator) { return false; }
const QString simDir = simulator.isSingleSimulator() ? m_simulatorSettings.getSimulatorDirectoryOrDefault(simulator) : "";
const QString simDir = simulator.isSingleSimulator() ? m_multiSimulatorSettings.getSimulatorDirectoryOrDefault(simulator) : "";
return m_validator->triggerValidation(simulator, simDir);
}
@@ -933,7 +933,7 @@ namespace BlackCore
return msgs;
}
const QStringList modelDirs = m_simulatorSettings.getModelDirectoriesOrDefault(simulator);
const QStringList modelDirs = m_multiSimulatorSettings.getModelDirectoriesOrDefault(simulator);
if (modelDirs.isEmpty() || modelDirs.front().isEmpty())
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"No model directory"));

View File

@@ -282,7 +282,7 @@ namespace BlackCore
BlackMisc::CSettingReadOnly<Application::TEnabledSimulators> m_enabledSimulators { this, &CContextSimulator::changeEnabledSimulators };
BlackMisc::CSetting<BlackMisc::Simulation::Settings::TModelMatching> m_matchingSettings { this }; //!< matching settings (all simulators)
BlackMisc::CData<BlackMisc::Simulation::Data::TSimulatorLastSelection> m_modelSetSimulator { this }; //!< current simulator used for model set
BlackMisc::Simulation::Settings::CMultiSimulatorSettings m_simulatorSettings { this }; //!< individual for simulator, for validation of models
BlackMisc::Simulation::Settings::CMultiSimulatorSettings m_multiSimulatorSettings { this }; //!< individual for simulator, for validation of models
BlackMisc::CSetting<BlackMisc::Simulation::Settings::TInterpolationAndRenderingSetupGlobal> m_renderSettings { this }; //!< rendering/interpolation settings (all simulators)
BlackMisc::CSettingReadOnly<BlackMisc::Simulation::Settings::TSimulatorMessages> m_messageSettings { this }; //!< settings for messages (all simulators)
};

View File

@@ -256,7 +256,7 @@ namespace BlackCore
// this is used if the value in own aircraft is changed, to callback simulator
c = connect(this->getCContextOwnAircraft(), &CContextOwnAircraft::ps_changedModel,
this->getCContextSimulator(), &CContextSimulator::xCtxChangedOwnAircraftModel);
this->getCContextSimulator(), &CContextSimulator::xCtxChangedOwnAircraftModel);
Q_ASSERT(c);
}

View File

@@ -835,7 +835,7 @@ namespace BlackCore
m_simulatorInternals.setSimulatorInstallationDirectory(s.getSimulatorDirectoryOrDefault());
}
void ISimulator::rememberElevationAndCG(const CCallsign &callsign, const QString &modelString, const CElevationPlane &elevation, const CLength &cg)
void ISimulator::rememberElevationAndSimulatorCG(const CCallsign &callsign, const QString &modelString, const CElevationPlane &elevation, const CLength &simulatorCG)
{
if (callsign.isEmpty()) { return; }
if (!elevation.isNull())
@@ -845,13 +845,13 @@ namespace BlackCore
this->rememberGroundElevation(callsign, elevation);
}
const CLength cgO = this->overriddenCGorDefault(cg, modelString);
const CLength cgO = this->overriddenCGorDefault(simulatorCG, modelString);
if (!cgO.isNull() && !this->hasSameSimulatorCG(cgO, callsign))
{
this->insertCG(cgO, modelString, callsign); // per model string and CG
// here we know we have a valid model and CG
m_autoPublishing.insert(modelString, cg); // still using CG here, not the overridden value
m_autoPublishing.insert(modelString, simulatorCG); // still using CG here, not the overridden value
m_autoPublishing.insert(modelString, this->getSimulatorInfo());
}
}

View File

@@ -431,7 +431,7 @@ namespace BlackCore
virtual int physicallyRemoveAllRemoteAircraft();
//! Set elevation and CG in the providers and for auto publishing
void rememberElevationAndCG(const BlackMisc::Aviation::CCallsign &callsign, const QString &modelString, const BlackMisc::Geo::CElevationPlane &elevation, const BlackMisc::PhysicalQuantities::CLength &cg);
void rememberElevationAndSimulatorCG(const BlackMisc::Aviation::CCallsign &callsign, const QString &modelString, const BlackMisc::Geo::CElevationPlane &elevation, const BlackMisc::PhysicalQuantities::CLength &simulatorCG);
//! Emit the combined status
//! \param oldStatus optionally one can capture and provide the old status for comparison. In case of equal status values no signal will be sent

View File

@@ -565,19 +565,19 @@ namespace BlackMisc
CCallsign m_correspondingCallsign;
Geo::CCoordinateGeodetic m_position; //!< NULL position as default
Geo::CElevationPlane m_groundElevationPlane; //!< NULL elevation as default
Aviation::CAltitude m_pressureAltitude { 0, nullptr };
CHeading m_heading { 0, nullptr };
PhysicalQuantities::CAngle m_pitch { 0, nullptr };
PhysicalQuantities::CAngle m_bank { 0, nullptr };
PhysicalQuantities::CSpeed m_groundSpeed { 0, nullptr };
PhysicalQuantities::CLength m_cg { 0, nullptr };
Aviation::CAltitude m_pressureAltitude { 0, nullptr };
CHeading m_heading { 0, nullptr };
PhysicalQuantities::CAngle m_pitch { 0, nullptr };
PhysicalQuantities::CAngle m_bank { 0, nullptr };
PhysicalQuantities::CSpeed m_groundSpeed { 0, nullptr };
PhysicalQuantities::CLength m_cg { 0, nullptr };
PhysicalQuantities::CLength m_sceneryOffset { 0, nullptr };
bool m_isInterim = false; //!< interim situation?
bool m_isElvInfoTransferred = false; //!< the gnd.elevation has been transferred
int m_onGround = static_cast<int>(CAircraftSituation::OnGroundSituationUnknown);
int m_onGroundDetails = static_cast<int>(CAircraftSituation::NotSetGroundDetails);
int m_elvInfo = static_cast<int>(CAircraftSituation::NoElevationInfo); //!< where did we gnd.elevation from?
double m_onGroundFactor = -1; //!< interpolated ground flag, 1..on ground, 0..not on ground, -1 no info
double m_onGroundFactor = -1; //!< interpolated ground flag, 1..on ground, 0..not on ground, -1 no info
QString m_onGroundGuessingDetails; //!< only for debugging, not transferred via DBus etc.
//! Equal double values?

View File

@@ -732,7 +732,7 @@ namespace BlackSimPlugin
const CLength cg = std::isnan(cgValue) ?
CLength::null() :
CLength(cgValue, CLengthUnit::m(), CLengthUnit::ft());
this->rememberElevationAndCG(cs, fgAircraft.getAircraftModelString(), elevation, cg);
this->rememberElevationAndSimulatorCG(cs, fgAircraft.getAircraftModelString(), elevation, cg);
// loopback
if (logCallsigns.contains(cs))

View File

@@ -809,7 +809,7 @@ namespace BlackSimPlugin
if (remoteAircraftData.aboveGroundFt() < 250)
{
const CLength cg(remoteAircraftData.cgToGroundFt, CLengthUnit::ft());
this->rememberElevationAndCG(cs, simObject.getAircraftModelString(), elevation, cg);
this->rememberElevationAndSimulatorCG(cs, simObject.getAircraftModelString(), elevation, cg);
}
const bool log = this->isLogCallsign(cs);
@@ -859,7 +859,7 @@ namespace BlackSimPlugin
so.setAircraftModelString(modelString);
// update in 2 providers
this->rememberElevationAndCG(cs, modelString, CElevationPlane::null(), cg); // env. provider
this->rememberElevationAndSimulatorCG(cs, modelString, CElevationPlane::null(), cg); // env. provider
this->updateCGAndModelString(cs, cg, modelString); // remote aircraft provider
}

View File

@@ -993,7 +993,7 @@ namespace BlackSimPlugin
const CLength cg = std::isnan(cgValue) ?
CLength::null() :
CLength(cgValue, CLengthUnit::m(), CLengthUnit::ft());
this->rememberElevationAndCG(cs, xpAircraft.getAircraftModelString(), elevation, cg);
this->rememberElevationAndSimulatorCG(cs, xpAircraft.getAircraftModelString(), elevation, cg);
// loopback
if (logCallsigns.contains(cs))