Added utility functions to avoid warnings converting int/double to float

This commit is contained in:
Klaus Basan
2018-04-04 20:12:06 +02:00
committed by Roland Winklmeier
parent 75c481228f
commit 291780244b
3 changed files with 17 additions and 12 deletions

View File

@@ -97,6 +97,12 @@ namespace XSwiftBus
//! Set the value of the dataref (if it is writable)
void set(DataRefType d) { DataRefImpl::implSet(d); }
//! Set as integer, avoids cast warnings such as "possible loss of data"
void setAsInt(int d) { this->set(static_cast<DataRefType>(d)); }
//! Set as integer, avoids cast warnings such as "possible loss of data"
void setAsDouble(double d) { this->set(static_cast<DataRefType>(d)); }
//! Get the value of the dataref
DataRefType get() const { return DataRefImpl::implGet<DataRefType>(); }
};

View File

@@ -24,10 +24,10 @@ namespace XSwiftBus
template <class T>
void setCloudLayerImpl(T &layer, int base, int tops, int type, int coverage)
{
layer.base.set(base);
layer.tops.set(tops);
layer.base.setAsInt(base);
layer.tops.setAsInt(tops);
layer.type.set(type);
layer.coverage.set(coverage);
layer.coverage.setAsInt(coverage);
}
void CWeather::setCloudLayer(int layer, int base, int tops, int type, int coverage)
@@ -45,12 +45,12 @@ namespace XSwiftBus
template <class T>
void setWindLayerImpl(T &layer, int altitude, double direction, int speed, int shearDirection, int shearSpeed, int turbulence)
{
layer.altitude.set(altitude);
layer.altitude.setAsInt(altitude);
layer.direction.set(static_cast<float>(direction));
layer.speed.set(speed);
layer.shearDirection.set(shearDirection);
layer.shearSpeed.set(shearSpeed);
layer.turbulence.set(turbulence);
layer.speed.setAsInt(speed);
layer.shearDirection.setAsInt(shearDirection);
layer.shearSpeed.setAsInt(shearSpeed);
layer.turbulence.setAsInt(turbulence);
}
void CWeather::setWindLayer(int layer, int altitude, double direction, int speed, int shearDirection, int shearSpeed, int turbulence)
@@ -248,7 +248,6 @@ namespace XSwiftBus
invokeQueuedDBusCalls();
return 1;
}
}
//! \endcond

View File

@@ -59,10 +59,10 @@ namespace XSwiftBus
void setVisibility(double visibilityM) { m_visibilityM.set(static_cast<float>(visibilityM)); }
//! Set temperature at sea level in degrees C.
void setTemperature(int degreesC) { m_temperatureC.set(degreesC); }
void setTemperature(int degreesC) { m_temperatureC.setAsInt(degreesC); }
//! Set dew point at sea level in degrees C.
void setDewPoint(int degreesC) { m_dewPointC.set(degreesC); }
void setDewPoint(int degreesC) { m_dewPointC.setAsInt(degreesC); }
//! Set barometric pressure at sea level in inches of mercury.
void setQNH(double inHg) { m_qnhInhg.set(static_cast<float>(inHg)); }
@@ -77,7 +77,7 @@ namespace XSwiftBus
void setTurbulenceRatio(double turbulenceRatio) { m_turbulenceRatio.set(static_cast<float>(turbulenceRatio)); }
//! Set runway friction, 0=dry, 1=damp, 2=wet.
void setRunwayFriction(int friction) { m_runwayFriction.set(friction); }
void setRunwayFriction(int friction) { m_runwayFriction.setAsInt(friction); }
//! Set a cloud layer.
//! \param layer Layer 0, 1, or 2.