mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +08:00
@@ -23,8 +23,11 @@ namespace BlackMisc
|
||||
namespace Weather
|
||||
{
|
||||
|
||||
CTemperatureLayer::CTemperatureLayer(const CAltitude &level, const CTemperature &value, double relativeHumidity) :
|
||||
m_level(level), m_temperature(value), m_relativeHumidity(relativeHumidity)
|
||||
CTemperatureLayer::CTemperatureLayer(const CAltitude &level,
|
||||
const CTemperature &value,
|
||||
const CTemperature &dewPoint,
|
||||
double relativeHumidity) :
|
||||
m_level(level), m_temperature(value), m_dewPoint(dewPoint), m_relativeHumidity(relativeHumidity)
|
||||
{ }
|
||||
|
||||
CVariant CTemperatureLayer::propertyByIndex(const BlackMisc::CPropertyIndex &index) const
|
||||
|
||||
@@ -42,7 +42,10 @@ namespace BlackMisc
|
||||
CTemperatureLayer() = default;
|
||||
|
||||
//! Constructor
|
||||
CTemperatureLayer(const BlackMisc::Aviation::CAltitude &level, const PhysicalQuantities::CTemperature &value, double relativeHumidity);
|
||||
CTemperatureLayer(const BlackMisc::Aviation::CAltitude &level,
|
||||
const PhysicalQuantities::CTemperature &temperature,
|
||||
const PhysicalQuantities::CTemperature &dewPoint,
|
||||
double relativeHumidity);
|
||||
|
||||
//! Set level
|
||||
void setLevel(const BlackMisc::Aviation::CAltitude &level) { m_level = level; }
|
||||
@@ -56,6 +59,12 @@ namespace BlackMisc
|
||||
//! Get temperature
|
||||
PhysicalQuantities::CTemperature getTemperature() const { return m_temperature; }
|
||||
|
||||
//! Set dew point
|
||||
void setDewPoint(const PhysicalQuantities::CTemperature &value) { m_dewPoint = value; }
|
||||
|
||||
//! Get dew point
|
||||
PhysicalQuantities::CTemperature getDewPoint() const { return m_dewPoint; }
|
||||
|
||||
//! Set relative humidity
|
||||
void setRelativeHumidity(double value) { m_relativeHumidity = value; }
|
||||
|
||||
@@ -75,6 +84,7 @@ namespace BlackMisc
|
||||
BLACK_ENABLE_TUPLE_CONVERSION(CTemperatureLayer)
|
||||
BlackMisc::Aviation::CAltitude m_level;
|
||||
PhysicalQuantities::CTemperature m_temperature;
|
||||
PhysicalQuantities::CTemperature m_dewPoint;
|
||||
double m_relativeHumidity = 0;
|
||||
};
|
||||
} // namespace
|
||||
@@ -84,6 +94,7 @@ Q_DECLARE_METATYPE(BlackMisc::Weather::CTemperatureLayer)
|
||||
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Weather::CTemperatureLayer, (
|
||||
attr(o.m_level),
|
||||
attr(o.m_temperature),
|
||||
attr(o.m_dewPoint),
|
||||
attr(o.m_relativeHumidity)
|
||||
))
|
||||
|
||||
|
||||
@@ -246,7 +246,7 @@ namespace BlackWxPlugin
|
||||
GfsIsobaricLayer isobaricLayer = isobaricLayerIt.value();
|
||||
CAltitude level(isobaricLayerIt.key(), CAltitude::MeanSeaLevel, CLengthUnit::ft());
|
||||
|
||||
CTemperatureLayer temperature(level, CTemperature(isobaricLayer.temperature, CTemperatureUnit::K()), isobaricLayer.relativeHumidity);
|
||||
CTemperatureLayer temperature(level, CTemperature(isobaricLayer.temperature, CTemperatureUnit::K()), {}, isobaricLayer.relativeHumidity);
|
||||
temperatureLayers.insert(temperature);
|
||||
|
||||
double windDirection = -1 * CMathUtils::rad2deg(std::atan2(-isobaricLayer.windU, isobaricLayer.windV));
|
||||
|
||||
Reference in New Issue
Block a user