mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 09:15:34 +08:00
refs #865, FSX: added altitude above ground and CG for own aircraft
This commit is contained in:
committed by
Mathew Sutcliffe
parent
d0cdae7356
commit
0a99c82ddc
@@ -35,6 +35,8 @@ namespace BlackSimPlugin
|
|||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE LATITUDE", "Degrees");
|
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 LONGITUDE", "Degrees");
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE ALTITUDE", "Feet");
|
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 HEADING DEGREES TRUE", "Degrees");
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE PITCH DEGREES", "Degrees");
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE PITCH DEGREES", "Degrees");
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE BANK DEGREES", "Degrees");
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataOwnAircraft, "PLANE BANK DEGREES", "Degrees");
|
||||||
|
|||||||
@@ -34,6 +34,8 @@ namespace BlackSimPlugin
|
|||||||
double latitude; //!< Latitude (deg)
|
double latitude; //!< Latitude (deg)
|
||||||
double longitude; //!< Longitude (deg)
|
double longitude; //!< Longitude (deg)
|
||||||
double altitude; //!< Altitude (ft)
|
double altitude; //!< Altitude (ft)
|
||||||
|
double altitudeAboveGround; //!< Altitude above ground (ft)
|
||||||
|
double cgToGround; //!< Static CG to ground (ft)
|
||||||
double trueHeading; //!< True heading (deg)
|
double trueHeading; //!< True heading (deg)
|
||||||
double pitch; //!< Pitch (deg)
|
double pitch; //!< Pitch (deg)
|
||||||
double bank; //!< Bank (deg)
|
double bank; //!< Bank (deg)
|
||||||
@@ -99,7 +101,7 @@ namespace BlackSimPlugin
|
|||||||
double longitude; //!< Longitude (deg)
|
double longitude; //!< Longitude (deg)
|
||||||
double altitude; //!< Altitude (ft)
|
double altitude; //!< Altitude (ft)
|
||||||
double elevation; //!< Elevation (ft)
|
double elevation; //!< Elevation (ft)
|
||||||
double cgToGround; //!< CG to ground (ft)
|
double cgToGround; //!< Static CG to ground (ft)
|
||||||
|
|
||||||
//! Above ground ft
|
//! Above ground ft
|
||||||
double aboveGround() const { return altitude - elevation; }
|
double aboveGround() const { return altitude - elevation; }
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ namespace BlackSimPlugin
|
|||||||
{
|
{
|
||||||
case CSimConnectDefinitions::RequestOwnAircraft:
|
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;
|
const DataDefinitionOwnAircraft *ownAircaft = (DataDefinitionOwnAircraft *)&pObjData->dwData;
|
||||||
simulatorFsx->updateOwnAircraftFromSimulator(*ownAircaft);
|
simulatorFsx->updateOwnAircraftFromSimulator(*ownAircaft);
|
||||||
break;
|
break;
|
||||||
@@ -245,7 +245,7 @@ namespace BlackSimPlugin
|
|||||||
if (!pFacilityAirport) { break; }
|
if (!pFacilityAirport) { break; }
|
||||||
const QString icao(pFacilityAirport->Icao);
|
const QString icao(pFacilityAirport->Icao);
|
||||||
if (icao.isEmpty()) { continue; } // airfield without ICAO code
|
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);
|
const CCoordinateGeodetic pos(pFacilityAirport->Latitude, pFacilityAirport->Longitude, pFacilityAirport->Altitude);
|
||||||
CAirport airport(CAirportIcaoCode(icao), pos);
|
CAirport airport(CAirportIcaoCode(icao), pos);
|
||||||
const CLength d = airport.calculcateAndUpdateRelativeDistanceAndBearing(posAircraft);
|
const CLength d = airport.calculcateAndUpdateRelativeDistanceAndBearing(posAircraft);
|
||||||
|
|||||||
Reference in New Issue
Block a user