Go to the documentation of this file.
17 #ifndef GAZEBO_PHYSICS_ADIABATICATMOSPHERE_HH_
18 #define GAZEBO_PHYSICS_ADIABATICATMOSPHERE_HH_
32 class AdiabaticAtmospherePrivate;
56 public:
virtual void Load(sdf::ElementPtr _sdf);
59 public:
virtual std::string Type()
const;
62 protected:
virtual void OnRequest(ConstRequestPtr &_msg);
65 protected:
virtual void OnAtmosphereMsg(ConstAtmospherePtr &_msg);
68 public:
virtual void SetTemperatureGradient(
const double _gradient);
71 public:
virtual double Temperature(
const double _altitude = 0.0)
const;
74 public:
virtual double Pressure(
const double _altitude = 0.0)
const;
77 public:
double MassDensity(
const double _altitude = 0.0)
const;
80 private:
void ComputeAdiabaticPower();
84 protected: std::unique_ptr<AdiabaticAtmospherePrivate>
dataPtr;
virtual void OnAtmosphereMsg(ConstAtmospherePtr &_msg)
Virtual callback for gztopic "~/atmosphere".
std::unique_ptr< AdiabaticAtmospherePrivate > dataPtr
Definition: AdiabaticAtmosphere.hh:84
virtual double Temperature(const double _altitude=0.0) const
Get the actual modeled temperature in kelvins at a given altitude.
Forward declarations for the common classes.
Definition: Animation.hh:26
double MassDensity(const double _altitude=0.0) const
Get the density in kg/m^3 at a given altitude.
virtual void OnRequest(ConstRequestPtr &_msg)
Virtual callback for gztopic "~/request".
Adiabatic atmosphere model based on the troposphere model in the Manual of the ICAO Standard Atmosphe...
Definition: AdiabaticAtmosphere.hh:46
This models a base atmosphere class to serve as a common interface to any derived atmosphere models.
Definition: Atmosphere.hh:42
virtual double Pressure(const double _altitude=0.0) const
Get the pressure at a specified altitude in pascals.
The world provides access to all other object within a simulated environment.
Definition: World.hh:80
virtual void SetTemperatureGradient(const double _gradient)
Set the temperature gradient dT/dZ with respect to increasing altitude around sea level.
virtual std::string Type() const
Return the atmosphere model type (such as "adiabatic").
virtual ~AdiabaticAtmosphere()
Destructor.
virtual void Load(sdf::ElementPtr _sdf)
Load the atmosphere model.
AdiabaticAtmosphere(physics::World &_world)
Constructor.