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