17 #ifndef GAZEBO_PHYSICS_ATMOSPHERE_HH_
18 #define GAZEBO_PHYSICS_ATMOSPHERE_HH_
37 class AtmospherePrivate;
53 public:
virtual void Load(sdf::ElementPtr _sdf);
56 public:
virtual void Reset();
60 public:
virtual std::string Type()
const = 0;
64 public: sdf::ElementPtr SDF()
const;
68 protected:
virtual void OnRequest(ConstRequestPtr &_msg);
72 protected:
virtual void OnAtmosphereMsg(ConstAtmospherePtr &_msg);
76 public:
virtual void SetTemperature(
const double _t);
80 public:
virtual void SetPressure(
const double _pressure);
86 public:
virtual double Temperature(
const double _altitude = 0.0)
const;
91 public:
virtual double Pressure(
const double _altitude = 0.0)
const;
96 public:
virtual double MassDensity(
const double _altitude = 0.0)
const;
102 public:
virtual void SetTemperatureGradient(
const double _gradient) = 0;
107 public:
double TemperatureGradient()
const;
112 protected:
void UpdateMassDensity();
120 protected:
void Publish(
const msgs::Response &_msg)
const;
130 private: std::unique_ptr<AtmospherePrivate> dataPtr;
static const double MOLAR_MASS
Molar mass of the air in kg/mol.
Definition: Atmosphere.hh:123
static const double IDEAL_GAS_CONSTANT_R
Universal ideal gas constant in J/(mol.K)
Definition: Atmosphere.hh:126
The world provides access to all other object within a simulated environment.
Definition: World.hh:68
This models a base atmosphere class to serve as a common interface to any derived atmosphere models...
Definition: Atmosphere.hh:42