1#ifndef LIBOSMSCOUT_BEARING_H
2#define LIBOSMSCOUT_BEARING_H
38 explicit Bearing(
double radians):
39 radians(Normalise(radians))
52 std::swap(radians, d.radians);
57 std::swap(radians, d.radians);
74 return radians*180.0/M_PI;
79 return Bearing(radians-d.radians);
84 return Bearing(radians+d.radians);
89 return Bearing(radians * d);
94 return Bearing(radians / d);
111 return radians == o.radians;
116 return radians != o.radians;
121 return Bearing(radians);
126 return Bearing(degrees*M_PI/180.0);
130 static double Normalise(
double radians);
#define OSMSCOUT_API
Definition CoreImportExport.h:45
static Bearing Degrees(double degrees)
Definition Bearing.h:124
static Bearing Radians(double radians)
Definition Bearing.h:119
bool operator!=(const Bearing &o) const
Definition Bearing.h:114
std::string DisplayString() const
Bearing operator+(const Bearing &d) const
Definition Bearing.h:82
Bearing operator*(const double &d) const
Definition Bearing.h:87
Bearing operator/(const double &d) const
Definition Bearing.h:92
Bearing(Bearing &&d) noexcept
Definition Bearing.h:50
double AsRadians() const
Definition Bearing.h:64
Bearing & operator=(Bearing &&d) noexcept
Definition Bearing.h:55
double AsDegrees() const
Definition Bearing.h:72
std::string LongDisplayString() const
Bearing & operator=(const Bearing &d)=default
bool operator==(const Bearing &o) const
Definition Bearing.h:109
Bearing operator-(const Bearing &d) const
Definition Bearing.h:77
Bearing(const Bearing &d)=default