17 #ifndef IGNITION_MATH_TEMPERATURE_HH_ 18 #define IGNITION_MATH_TEMPERATURE_HH_ 23 #include <ignition/math/config.hh> 31 inline namespace IGNITION_MATH_VERSION_NAMESPACE {
34 class TemperaturePrivate;
88 public:
static double KelvinToCelsius(
const double _temp);
93 public:
static double KelvinToFahrenheit(
const double _temp);
98 public:
static double CelsiusToFahrenheit(
const double _temp);
103 public:
static double CelsiusToKelvin(
const double _temp);
108 public:
static double FahrenheitToCelsius(
const double _temp);
113 public:
static double FahrenheitToKelvin(
const double _temp);
117 public:
void SetKelvin(
const double _temp);
121 public:
void SetCelsius(
const double _temp);
125 public:
void SetFahrenheit(
const double _temp);
129 public:
double Kelvin()
const;
133 public:
double Celsius()
const;
137 public:
double Fahrenheit()
const;
142 public:
double operator()()
const;
147 public:
Temperature &operator=(
const double _temp);
157 public:
Temperature operator+(
const double _temp)
const;
180 return _t + _temp.
Kelvin();
186 public:
const Temperature &operator+=(
const double _temp);
206 public:
Temperature operator-(
const double _temp)
const;
219 return _t - _temp.
Kelvin();
225 public:
const Temperature &operator-=(
const double _temp);
245 public:
Temperature operator*(
const double _temp)
const;
258 return _t * _temp.
Kelvin();
264 public:
const Temperature &operator*=(
const double _temp);
284 public:
Temperature operator/(
const double _temp)
const;
297 return _t / _temp.
Kelvin();
303 public:
const Temperature &operator/=(
const double _temp);
313 public:
bool operator==(
const Temperature &_temp)
const;
319 public:
bool operator==(
const double _temp)
const;
324 public:
bool operator!=(
const Temperature &_temp)
const;
330 public:
bool operator!=(
const double _temp)
const;
335 public:
bool operator<(
const Temperature &_temp)
const;
341 public:
bool operator<(
const double _temp)
const;
346 public:
bool operator<=(
const Temperature &_temp)
const;
352 public:
bool operator<=(
const double _temp)
const;
357 public:
bool operator>(
const Temperature &_temp)
const;
363 public:
bool operator>(
const double _temp)
const;
368 public:
bool operator>=(
const Temperature &_temp)
const;
374 public:
bool operator>=(
const double _temp)
const;
396 _in.
setf(std::ios_base::skipws);
411 #pragma warning(push) 412 #pragma warning(disable: 4251)
double Kelvin() const
Get the temperature in Kelvin.
A class that stores temperature information, and allows conversion between different units...
Definition: Temperature.hh:68
friend Temperature operator*(double _t, const Temperature &_temp)
Multiplication operator for double type.
Definition: Temperature.hh:256
void SetKelvin(const double _temp)
Set the temperature from a Kelvin value.
friend std::istream & operator>>(std::istream &_in, Temperature &_temp)
Stream extraction operator.
Definition: Temperature.hh:392
friend std::ostream & operator<<(std::ostream &_out, const Temperature &_temp)
Stream insertion operator.
Definition: Temperature.hh:380
friend Temperature operator/(double _t, const Temperature &_temp)
Division operator for double type.
Definition: Temperature.hh:295
friend Temperature operator+(double _t, const Temperature &_temp)
Addition operator for double type.
Definition: Temperature.hh:178
friend Temperature operator-(double _t, const Temperature &_temp)
Subtraction operator for double type.
Definition: Temperature.hh:217