16 #ifndef PSEN_SCAN_INTERNAL_ANGLE 17 #define PSEN_SCAN_INTERNAL_ANGLE 23 class PSENscanInternalAngle;
36 explicit Degree(
const double& angle);
38 explicit operator double() const noexcept;
39 bool operator<(const
Degree& rhs) const;
40 bool operator>(const
Degree& rhs) const;
41 bool operator==(const
Degree& rhs) const;
42 Degree& operator*=(const
double& rhs);
43 Degree operator*(const
double& rhs);
48 friend
std::ostream& operator<<(
std::ostream& os, const
Degree& deg);
61 PSENscanInternalAngle(
const PSENscanInternalAngle& angle);
62 explicit PSENscanInternalAngle(
const int& angle);
63 explicit PSENscanInternalAngle(
const Degree& angle);
64 explicit operator int() const noexcept;
65 bool operator<(const PSENscanInternalAngle& rhs) const;
66 bool operator>(const PSENscanInternalAngle& rhs) const;
67 bool operator<=(const PSENscanInternalAngle& rhs) const;
68 bool operator>=(const PSENscanInternalAngle& rhs) const;
69 bool operator==(const PSENscanInternalAngle& rhs) const;
70 bool operator!=(const PSENscanInternalAngle& rhs) const;
71 PSENscanInternalAngle operator-=(const PSENscanInternalAngle& rhs);
72 PSENscanInternalAngle operator-(const PSENscanInternalAngle& rhs) const;
73 PSENscanInternalAngle operator-();
74 PSENscanInternalAngle operator+=(const PSENscanInternalAngle& rhs);
75 PSENscanInternalAngle operator+(const PSENscanInternalAngle& rhs) const;
76 PSENscanInternalAngle& operator=(const PSENscanInternalAngle& rhs) = default;
77 friend
std::ostream& operator<<(
std::ostream& os, const PSENscanInternalAngle& deg);
81 #endif // PSEN_SCAN_INTERNAL_ANGLE Class to model angles in degrees from user's perspective.
Degree(const Degree &angle)
Construct a new Degree:: Degree object from another Degree object.
Class to model angles in PSENscan internal format (tenth of degrees)