Ref T259, Ref T243 remove aircraft parts and situations from interpolator

* no longer using the add parts/situations signals
* will use the remote aircraft provider parts directly

Result: all parts/situations are stored only once in memory and in one single place
This commit is contained in:
Klaus Basan
2018-03-24 17:27:16 +01:00
parent 4248c1b689
commit 9abc57bb3d
27 changed files with 140 additions and 351 deletions

View File

@@ -1465,46 +1465,6 @@ namespace BlackSimPlugin
CSimulatorFsCommon::clearAllRemoteAircraftData();
}
void CSimulatorFsxCommon::onRemoteProviderAddedAircraftSituation(const CAircraftSituation &situation)
{
if (m_simConnectObjects.contains(situation.getCallsign()))
{
m_simConnectObjects[situation.getCallsign()].addAircraftSituation(situation);
}
else
{
// trace for future usage
if (m_simConnectObjectsPositionAndPartsTraces.contains(situation.getCallsign()))
{
m_simConnectObjectsPositionAndPartsTraces[situation.getCallsign()].addAircraftSituation(situation);
}
else
{
m_simConnectObjectsPositionAndPartsTraces.insert(situation.getCallsign(), CSimConnectObject(situation));
}
}
}
void CSimulatorFsxCommon::onRemoteProviderAddedAircraftParts(const CCallsign &callsign, const CAircraftParts &parts)
{
if (m_simConnectObjects.contains(callsign))
{
m_simConnectObjects[callsign].addAircraftParts(parts);
}
else
{
// trace for future usage
if (m_simConnectObjectsPositionAndPartsTraces.contains(callsign))
{
m_simConnectObjectsPositionAndPartsTraces[callsign].addAircraftParts(parts);
}
else
{
m_simConnectObjectsPositionAndPartsTraces.insert(callsign, CSimConnectObject(parts, callsign));
}
}
}
QString CSimulatorFsxCommon::fsxPositionToString(const SIMCONNECT_DATA_INITPOSITION &position)
{
static const QString positionStr("Lat: %1deg lng: %2deg alt: %3ft pitch: %4deg bank: %5deg hdg: %6deg airspeed: %7kts onGround: %8");