1 #ifndef LIBOSMSCOUT_BEARING_H 2 #define LIBOSMSCOUT_BEARING_H 38 explicit Bearing(
double radians):
39 radians(Normalise(radians))
46 Bearing(
const Bearing &d) =
default;
48 Bearing& operator=(
const Bearing &d) =
default;
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);
101 std::string DisplayString()
const;
107 std::string LongDisplayString()
const;
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);
135 #endif //LIBOSMSCOUT_BEARING_H Bearing(Bearing &&d) noexcept
Definition: Bearing.h:50
Bearing operator*(const double &d) const
Definition: Bearing.h:87
static Bearing Degrees(double degrees)
Definition: Bearing.h:124
Bearing operator/(const double &d) const
Definition: Bearing.h:92
double AsDegrees() const
Definition: Bearing.h:72
Bearing operator-(const Bearing &d) const
Definition: Bearing.h:77
bool operator!=(const Bearing &o) const
Definition: Bearing.h:114
#define CLASS_FINAL
Definition: Compiler.h:26
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
static Bearing Radians(double radians)
Definition: Bearing.h:119
Bearing operator+(const Bearing &d) const
Definition: Bearing.h:82
double AsRadians() const
Definition: Bearing.h:64
bool operator==(const Bearing &o) const
Definition: Bearing.h:109
Bearing & operator=(Bearing &&d) noexcept
Definition: Bearing.h:55