mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 15:25:35 +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
|
||||
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
|
||||
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");
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
m_radius = ((radius.isNull() || radius < CElevationPlane::singlePointRadius())) ? CElevationPlane::singlePointRadius() : radius;
|
||||
|
||||
@@ -48,6 +48,9 @@ namespace BlackMisc
|
||||
//! Plane at given coordinates with radius and altitude
|
||||
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
|
||||
using CCoordinateGeodetic::CCoordinateGeodetic;
|
||||
|
||||
|
||||
@@ -29,6 +29,12 @@ namespace BlackMisc
|
||||
//! Init by double value
|
||||
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)
|
||||
CLength(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||
};
|
||||
|
||||
@@ -479,9 +479,11 @@ namespace BlackMisc
|
||||
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)
|
||||
|
||||
@@ -388,7 +388,7 @@ namespace BlackMisc
|
||||
void setNetworkModel(const CAircraftModel &model);
|
||||
|
||||
//! Set the center of gravity
|
||||
void setCG(const PhysicalQuantities::CLength &cg);
|
||||
bool setCG(const PhysicalQuantities::CLength &cg);
|
||||
|
||||
//! Set callsign
|
||||
void setCallsign(const Aviation::CCallsign &callsign);
|
||||
|
||||
@@ -53,6 +53,18 @@ namespace BlackSimPlugin
|
||||
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)
|
||||
{
|
||||
m_requestId = id;
|
||||
|
||||
@@ -68,6 +68,12 @@ namespace BlackSimPlugin
|
||||
//! Set the 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)
|
||||
const BlackMisc::Aviation::CAircraftLights &getCurrentLightsInSimulator() const { return m_currentLightsInSim; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user