Ref T717, function to send parts/situation for testing and in the model browser

This commit is contained in:
Klaus Basan
2019-09-15 14:51:12 +02:00
committed by Mat Sutcliffe
parent 73b9371c73
commit f80e093a0a
21 changed files with 188 additions and 14 deletions

View File

@@ -417,6 +417,26 @@ namespace BlackSimPlugin
return (m_simConnectObjects[callsign]).getInterpolationMessages(setup.getInterpolatorMode());
}
bool CSimulatorFsxCommon::testSendSituationAndParts(const CCallsign &callsign, const CAircraftSituation &situation, const CAircraftParts &parts)
{
if (!m_simConnectObjects.contains(callsign)) { return false; }
CSimConnectObject simObject = m_simConnectObjects.value(callsign);
int u = 0;
if (!parts.isNull()) { this->sendRemoteAircraftPartsToSimulator(simObject, parts); u++; }
if (!situation.isNull())
{
SIMCONNECT_DATA_INITPOSITION position = this->aircraftSituationToFsxPosition(situation, true);
const bool traceSendId = this->isTracingSendId();
const HRESULT hr = this->logAndTraceSendId(
SimConnect_SetDataOnSimObject(
m_hSimConnect, CSimConnectDefinitions::DataRemoteAircraftSetPosition,
static_cast<SIMCONNECT_OBJECT_ID>(simObject.getObjectId()), 0, 0, sizeof(SIMCONNECT_DATA_INITPOSITION), &position),
traceSendId, simObject, "Failed to set position", Q_FUNC_INFO, "SimConnect_SetDataOnSimObject");
if (hr == S_OK) { u++; }
}
return u > 0;
}
CSimConnectDefinitions::SimObjectRequest CSimulatorFsxCommon::requestToSimObjectRequest(DWORD requestId)
{
DWORD v = static_cast<DWORD>(CSimConnectDefinitions::SimObjectEndMarker);

View File

@@ -155,6 +155,7 @@ namespace BlackSimPlugin
virtual void resetAircraftStatistics() override;
virtual void setFlightNetworkConnected(bool connected) override;
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
//! @}
//! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::requestElevation