refs #865, FSX: added altitude above ground and CG for own aircraft

This commit is contained in:
Klaus Basan
2017-01-21 20:22:45 +01:00
committed by Mathew Sutcliffe
parent d0cdae7356
commit 0a99c82ddc
3 changed files with 7 additions and 3 deletions

View File

@@ -35,6 +35,8 @@ namespace BlackSimPlugin
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE LATITUDE", "Degrees");
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE LONGITUDE", "Degrees");
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE ALTITUDE", "Feet");
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE ALT ABOVE GROUND", "Feet");
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "STATIC CG TO GROUND", "Feet");
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE HEADING DEGREES TRUE", "Degrees");
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE PITCH DEGREES", "Degrees");
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE BANK DEGREES", "Degrees");

View File

@@ -34,6 +34,8 @@ namespace BlackSimPlugin
double latitude; //!< Latitude (deg)
double longitude; //!< Longitude (deg)
double altitude; //!< Altitude (ft)
double altitudeAboveGround; //!< Altitude above ground (ft)
double cgToGround; //!< Static CG to ground (ft)
double trueHeading; //!< True heading (deg)
double pitch; //!< Pitch (deg)
double bank; //!< Bank (deg)
@@ -99,7 +101,7 @@ namespace BlackSimPlugin
double longitude; //!< Longitude (deg)
double altitude; //!< Altitude (ft)
double elevation; //!< Elevation (ft)
double cgToGround; //!< CG to ground (ft)
double cgToGround; //!< Static CG to ground (ft)
//! Above ground ft
double aboveGround() const { return altitude - elevation; }

View File

@@ -185,7 +185,7 @@ namespace BlackSimPlugin
{
case CSimConnectDefinitions::RequestOwnAircraft:
{
static_assert(sizeof(DataDefinitionOwnAircraft) == 28 * sizeof(double), "DataDefinitionOwnAircraft has an incorrect size.");
static_assert(sizeof(DataDefinitionOwnAircraft) == 30 * sizeof(double), "DataDefinitionOwnAircraft has an incorrect size.");
const DataDefinitionOwnAircraft *ownAircaft = (DataDefinitionOwnAircraft *)&pObjData->dwData;
simulatorFsx->updateOwnAircraftFromSimulator(*ownAircaft);
break;
@@ -245,7 +245,7 @@ namespace BlackSimPlugin
if (!pFacilityAirport) { break; }
const QString icao(pFacilityAirport->Icao);
if (icao.isEmpty()) { continue; } // airfield without ICAO code
if (!CAirportIcaoCode::isValidIcaoDesignator(icao)) { continue; } // tiny airfields in SIM
if (!CAirportIcaoCode::isValidIcaoDesignator(icao)) { continue; } // tiny airfields in simulator
const CCoordinateGeodetic pos(pFacilityAirport->Latitude, pFacilityAirport->Longitude, pFacilityAirport->Altitude);
CAirport airport(CAirportIcaoCode(icao), pos);
const CLength d = airport.calculcateAndUpdateRelativeDistanceAndBearing(posAircraft);