add mcc directory

This commit is contained in:
Timur A. Fatkhullin
2025-08-18 02:10:43 +03:00
parent 61e41b1a1d
commit 6c10c6b6ff
10 changed files with 2832 additions and 10 deletions

View File

@@ -58,7 +58,10 @@ namespace mcc::astrom::erfa
struct MccMountAstromEngineERFACategory : public std::error_category {
MccMountAstromEngineERFACategory() : std::error_category() {}
const char* name() const noexcept { return "ADC_GENERIC_DEVICE"; }
const char* name() const noexcept
{
return "ADC_GENERIC_DEVICE";
}
std::string message(int ec) const
{
@@ -254,7 +257,10 @@ public:
/* time-related methods */
static time_point_t timePointNow() { return time_point_t::clock::now(); }
static time_point_t timePointNow()
{
return time_point_t::clock::now();
}
// templated generic version
template <mcc::traits::mcc_systime_c TpT>
@@ -587,10 +593,10 @@ public:
// special case: to ICRS from apparent
if (coord_to_kind == MccCoordPairKind::COORDS_KIND_RADEC_ICRS) {
if (coord_to_kind == MccCoordPairKind::COORDS_KIND_AZALT ||
coord_to_kind == MccCoordPairKind::COORDS_KIND_AZZD ||
coord_to_kind == MccCoordPairKind::COORDS_KIND_RADEC_APP ||
coord_to_kind == MccCoordPairKind::COORDS_KIND_HADEC_APP) {
if (coord_from_kind == MccCoordPairKind::COORDS_KIND_AZALT ||
coord_from_kind == MccCoordPairKind::COORDS_KIND_AZZD ||
coord_from_kind == MccCoordPairKind::COORDS_KIND_RADEC_APP ||
coord_from_kind == MccCoordPairKind::COORDS_KIND_HADEC_APP) {
//
ret = greg2jul(time_point_from, jd);
if (!ret) {
@@ -718,14 +724,26 @@ public:
/* helper mathods */
auto leapSecondsExpireDate() const { return _currentState._leapSeconds.expireDate(); }
auto leapSecondsExpireDate() const
{
return _currentState._leapSeconds.expireDate();
}
auto leapSecondsExpireMJD() const { return _currentState._leapSeconds.expireMJD(); }
auto leapSecondsExpireMJD() const
{
return _currentState._leapSeconds.expireMJD();
}
auto bulletinADateRange() const { return _currentState._bulletinA.dateRange(); }
auto bulletinADateRange() const
{
return _currentState._bulletinA.dateRange();
}
auto bulletinADateRangeMJD() const { return _currentState._bulletinA.dateRangeMJD(); }
auto bulletinADateRangeMJD() const
{
return _currentState._bulletinA.dateRangeMJD();
}
protected:
engine_state_t _currentState{};