mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-17 10:55:32 +08:00
Ref T275, utility functions in simulated aircraft, sim object ..
This commit is contained in:
@@ -94,6 +94,12 @@ namespace BlackMisc
|
|||||||
//! Constructor, value as CAltitude::MeanSeaLevel
|
//! Constructor, value as CAltitude::MeanSeaLevel
|
||||||
CAltitude(double value, const PhysicalQuantities::CLengthUnit &unit) : CLength(value, unit), m_datum(MeanSeaLevel) {}
|
CAltitude(double value, const PhysicalQuantities::CLengthUnit &unit) : CLength(value, unit), m_datum(MeanSeaLevel) {}
|
||||||
|
|
||||||
|
//! Constructor, value as CAltitude::MeanSeaLevel
|
||||||
|
CAltitude(double value, const PhysicalQuantities::CLengthUnit &unit, const PhysicalQuantities::CLengthUnit &switchUnit) : CLength(value, unit), m_datum(MeanSeaLevel)
|
||||||
|
{
|
||||||
|
this->switchUnit(switchUnit);
|
||||||
|
}
|
||||||
|
|
||||||
//! Altitude as string
|
//! Altitude as string
|
||||||
CAltitude(const QString &altitudeAsString, PhysicalQuantities::CPqString::SeparatorMode mode = PhysicalQuantities::CPqString::SeparatorsLocale);
|
CAltitude(const QString &altitudeAsString, PhysicalQuantities::CPqString::SeparatorMode mode = PhysicalQuantities::CPqString::SeparatorsLocale);
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,12 @@ namespace BlackMisc
|
|||||||
Q_ASSERT_X(!std::isnan(altitudeMSLft), Q_FUNC_INFO, "elv.nan");
|
Q_ASSERT_X(!std::isnan(altitudeMSLft), Q_FUNC_INFO, "elv.nan");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CElevationPlane::CElevationPlane(const CLatitude &lat, const CLongitude &lng, const CAltitude &altitude, const CLength &radius) :
|
||||||
|
CCoordinateGeodetic(lat, lng, altitude), m_radius(radius)
|
||||||
|
{
|
||||||
|
Q_ASSERT_X(altitude.isMeanSeaLevel(), Q_FUNC_INFO, "Need MSL");
|
||||||
|
}
|
||||||
|
|
||||||
void CElevationPlane::setRadiusOrMinimum(const CLength &radius)
|
void CElevationPlane::setRadiusOrMinimum(const CLength &radius)
|
||||||
{
|
{
|
||||||
m_radius = ((radius.isNull() || radius < CElevationPlane::singlePointRadius())) ? CElevationPlane::singlePointRadius() : radius;
|
m_radius = ((radius.isNull() || radius < CElevationPlane::singlePointRadius())) ? CElevationPlane::singlePointRadius() : radius;
|
||||||
|
|||||||
@@ -48,6 +48,9 @@ namespace BlackMisc
|
|||||||
//! Plane at given coordinates with radius and altitude
|
//! Plane at given coordinates with radius and altitude
|
||||||
CElevationPlane(double latDeg, double lngDeg, double altitudeMSLft, const PhysicalQuantities::CLength &radius);
|
CElevationPlane(double latDeg, double lngDeg, double altitudeMSLft, const PhysicalQuantities::CLength &radius);
|
||||||
|
|
||||||
|
//! Plane at given coordinates with radius and altitude
|
||||||
|
CElevationPlane(const CLatitude &lat, const CLongitude &lng, const Aviation::CAltitude &altitude, const PhysicalQuantities::CLength &radius);
|
||||||
|
|
||||||
//! Constructors from CCoordinateGeodetic
|
//! Constructors from CCoordinateGeodetic
|
||||||
using CCoordinateGeodetic::CCoordinateGeodetic;
|
using CCoordinateGeodetic::CCoordinateGeodetic;
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,12 @@ namespace BlackMisc
|
|||||||
//! Init by double value
|
//! Init by double value
|
||||||
CLength(double value, const CLengthUnit &unit) : CPhysicalQuantity(value, unit) {}
|
CLength(double value, const CLengthUnit &unit) : CPhysicalQuantity(value, unit) {}
|
||||||
|
|
||||||
|
//! Init by double value and switch unit
|
||||||
|
CLength(double value, const CLengthUnit &unit, const CLengthUnit &switchUnit) : CPhysicalQuantity(value, unit)
|
||||||
|
{
|
||||||
|
this->switchUnit(switchUnit);
|
||||||
|
}
|
||||||
|
|
||||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||||
CLength(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
CLength(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -479,9 +479,11 @@ namespace BlackMisc
|
|||||||
m_models[NetworkModel] = model;
|
m_models[NetworkModel] = model;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSimulatedAircraft::setCG(const CLength &cg)
|
bool CSimulatedAircraft::setCG(const CLength &cg)
|
||||||
{
|
{
|
||||||
m_models.setCG(cg);
|
if (cg.isNull()) { return false; }
|
||||||
|
const int c = m_models.setCG(cg);
|
||||||
|
return c > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSimulatedAircraft::setModelString(const QString &modelString)
|
void CSimulatedAircraft::setModelString(const QString &modelString)
|
||||||
|
|||||||
@@ -388,7 +388,7 @@ namespace BlackMisc
|
|||||||
void setNetworkModel(const CAircraftModel &model);
|
void setNetworkModel(const CAircraftModel &model);
|
||||||
|
|
||||||
//! Set the center of gravity
|
//! Set the center of gravity
|
||||||
void setCG(const PhysicalQuantities::CLength &cg);
|
bool setCG(const PhysicalQuantities::CLength &cg);
|
||||||
|
|
||||||
//! Set callsign
|
//! Set callsign
|
||||||
void setCallsign(const Aviation::CCallsign &callsign);
|
void setCallsign(const Aviation::CCallsign &callsign);
|
||||||
|
|||||||
@@ -53,6 +53,18 @@ namespace BlackSimPlugin
|
|||||||
m_callsignByteArray = aircraft.getCallsignAsString().toLatin1();
|
m_callsignByteArray = aircraft.getCallsignAsString().toLatin1();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSimConnectObject::setAircraftModelString(const QString &modelString)
|
||||||
|
{
|
||||||
|
if (modelString.isEmpty()) { return; }
|
||||||
|
m_aircraft.setModelString(modelString);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSimConnectObject::setAircraftCG(const PhysicalQuantities::CLength &cg)
|
||||||
|
{
|
||||||
|
if (cg.isNull()) { return; }
|
||||||
|
m_aircraft.setCG(cg);
|
||||||
|
}
|
||||||
|
|
||||||
void CSimConnectObject::setRequestId(DWORD id)
|
void CSimConnectObject::setRequestId(DWORD id)
|
||||||
{
|
{
|
||||||
m_requestId = id;
|
m_requestId = id;
|
||||||
|
|||||||
@@ -68,6 +68,12 @@ namespace BlackSimPlugin
|
|||||||
//! Set the aircraft
|
//! Set the aircraft
|
||||||
void setAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
void setAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||||
|
|
||||||
|
//! Set model string
|
||||||
|
void setAircraftModelString(const QString &modelString);
|
||||||
|
|
||||||
|
//! Set CG
|
||||||
|
void setAircraftCG(const BlackMisc::PhysicalQuantities::CLength &cg);
|
||||||
|
|
||||||
//! Get current lights (requested from simulator)
|
//! Get current lights (requested from simulator)
|
||||||
const BlackMisc::Aviation::CAircraftLights &getCurrentLightsInSimulator() const { return m_currentLightsInSim; }
|
const BlackMisc::Aviation::CAircraftLights &getCurrentLightsInSimulator() const { return m_currentLightsInSim; }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user