Ref T681, preparations to use CG from DB

* renamed to "getSimulatorCG" ...
* pass simulator settings to sim.env.provider to decide what CG to use
* store DB CG and init it when aircraft is added
* style
This commit is contained in:
Klaus Basan
2019-06-10 19:54:35 +02:00
committed by Mat Sutcliffe
parent 33c3ee68f1
commit 6d490e9a49
14 changed files with 196 additions and 64 deletions

View File

@@ -192,7 +192,11 @@ namespace BlackMisc
{ QWriteLocker l(&m_lockPartsHistory); m_aircraftPartsMessages.clear(); }
{ QWriteLocker l(&m_lockMessages); m_reverseLookupMessages.clear(); }
{ QWriteLocker l(&m_lockAircraft); m_aircraftInRange.clear(); }
{
QWriteLocker l(&m_lockAircraft);
m_aircraftInRange.clear();
m_dbCGPerCallsign.clear();
}
for (const CCallsign &cs : callsigns)
{
@@ -603,6 +607,30 @@ namespace BlackMisc
return true;
}
CLength CRemoteAircraftProvider::getCGFromDB(const CCallsign &callsign) const
{
QReadLocker l(&m_lockAircraft);
return m_dbCGPerCallsign.contains(callsign) ? m_dbCGPerCallsign[callsign] : CLength::null();
}
CLength CRemoteAircraftProvider::getCGFromDB(const QString &modelString) const
{
QReadLocker l(&m_lockAircraft);
return m_dbCGPerCallsign.contains(modelString) ? m_dbCGPerCallsign[modelString] : CLength::null();
}
void CRemoteAircraftProvider::rememberCGFromDB(const CLength &cgFromDB, const CCallsign &callsign)
{
QWriteLocker l(&m_lockAircraft);
m_dbCGPerCallsign[callsign] = cgFromDB;
}
void CRemoteAircraftProvider::rememberCGFromDB(const CLength &cgFromDB, const QString &modelString)
{
QWriteLocker l(&m_lockAircraft);
m_dbCGPerModelString[modelString] = cgFromDB;
}
void CRemoteAircraftProvider::updateMarkAllAsNotRendered()
{
const CCallsignSet callsigns = this->getAircraftInRangeCallsigns();
@@ -816,6 +844,7 @@ namespace BlackMisc
bool removedCallsign = false;
{
QWriteLocker l(&m_lockAircraft);
m_dbCGPerCallsign.remove(callsign);
const int c = m_aircraftInRange.remove(callsign);
removedCallsign = c > 0;
}