This commit is contained in:
Timur A. Fatkhullin
2025-06-15 22:49:02 +03:00
parent 4ebaac2dcb
commit 5a5854ccdd
7 changed files with 388 additions and 31 deletions

View File

@@ -163,7 +163,10 @@ public:
return *this;
}
MccAngle& normalize() { return normalize<NORM_KIND_0_360>(); }
MccAngle& normalize()
{
return normalize<NORM_KIND_0_360>();
}
// template <typename T>
@@ -173,7 +176,10 @@ public:
// return _angleInRads;
// }
operator double() const { return _angleInRads; }
operator double() const
{
return _angleInRads;
}
template <typename T>
@@ -182,7 +188,10 @@ public:
return _angleInRads * 180.0 / std::numbers::pi;
}
double degrees() const { return degrees<double>(); }
double degrees() const
{
return degrees<double>();
}
template <traits::mcc_output_char_range T>
T sexagesimal(bool hms = false, int prec = 2) const
@@ -190,7 +199,10 @@ public:
return utils::rad2sxg(_angleInRads, hms, prec >= 0 ? prec : _precision);
}
std::string sexagesimal(bool hms = false, int prec = 2) const { return sexagesimal<std::string>(hms, prec); }
std::string sexagesimal(bool hms = false, int prec = 2) const
{
return sexagesimal<std::string>(hms, prec);
}
// arithmetics
@@ -331,18 +343,25 @@ class MccAngleAZ : public MccAngle
using MccAngle::MccAngle;
};
struct MccAngleALT; // just forward declaration
class MccAngleALT; // just forward declaration
struct MccAngleZD : public MccAngle {
class MccAngleZD : public MccAngle
{
public:
using MccAngle::MccAngle;
MccAngleZD(const MccAngleALT&);
};
struct MccAngleALT : public MccAngle {
class MccAngleALT : public MccAngle
{
public:
using MccAngle::MccAngle;
MccAngleALT(const MccAngleZD& zd) { _angleInRads = std::numbers::pi / 2.0 - (double)zd; }
MccAngleALT(const MccAngleZD& zd)
{
_angleInRads = std::numbers::pi / 2.0 - (double)zd;
}
};