Atmosphere.hh
Go to the documentation of this file.
1/*
2 * Copyright 2018 Open Source Robotics Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 */
17#ifndef SDF_ATMOSPHERE_HH_
18#define SDF_ATMOSPHERE_HH_
19
20#include <ignition/math/Temperature.hh>
21#include <ignition/utils/ImplPtr.hh>
22
23#include "sdf/Element.hh"
24#include "sdf/Types.hh"
25#include "sdf/sdf_config.h"
26#include "sdf/system_util.hh"
27
28
29namespace sdf
30{
31 // Inline bracket to help doxygen filtering.
32 inline namespace SDF_VERSION_NAMESPACE {
35 enum class AtmosphereType
36 {
38 ADIABATIC = 0,
39 };
40
46 {
48 public: Atmosphere();
49
56 public: Errors Load(ElementPtr _sdf);
57
60 public: AtmosphereType Type() const;
61
64 public: void SetType(const AtmosphereType _type);
65
68 public: ignition::math::Temperature Temperature() const;
69
72 public: void SetTemperature(const ignition::math::Temperature &_temp);
73
77 public: double TemperatureGradient() const;
78
82 public: void SetTemperatureGradient(const double _gradient);
83
86 public: double Pressure() const;
87
90 public: void SetPressure(const double _pressure);
91
96 public: bool operator==(const Atmosphere &_atmosphere);
97
99 IGN_UTILS_IMPL_PTR(dataPtr)
100 };
101 }
102}
103#endif
The Atmosphere class contains information about an atmospheric model and related parameters such as t...
Definition: Atmosphere.hh:46
bool operator==(const Atmosphere &_atmosphere)
Equality operator that returns true if this atmosphere instance equals the given atmosphere instance.
AtmosphereType Type() const
Get the type of the atmospheric model.
double Pressure() const
Get the pressure at sea level in pascals.
void SetTemperature(const ignition::math::Temperature &_temp)
Set the temperature at sea level.
void SetTemperatureGradient(const double _gradient)
Set the temperature gradient with respect to increasing altitude in units of K/m.
double TemperatureGradient() const
Get the temperature gradient with respect to increasing altitude in units of K/m.
void SetPressure(const double _pressure)
Set the pressure at sea level in pascals.
ignition::math::Temperature Temperature() const
Get the temperature at sea level.
Errors Load(ElementPtr _sdf)
Load the atmosphere based on a element pointer.
Atmosphere()
Default constructor.
void SetType(const AtmosphereType _type)
Set the type of the atmospheric model.
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:106
AtmosphereType
The set of atmosphere model types.
Definition: Atmosphere.hh:36
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:54
namespace for Simulation Description Format parser
Definition: Actor.hh:34
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:41