This commit is contained in:
2025-08-18 18:59:46 +03:00
parent ca74d1dd73
commit 3640882874
11 changed files with 1355 additions and 1108 deletions

View File

@@ -102,6 +102,7 @@ concept mcc_celestial_point_c = requires(T t) {
};
/* CELESTIAL POINT WITH APPARENT EQUATORIAL AND HORIZONTAL CLASS CONCEPT */
template <typename T>
@@ -109,9 +110,10 @@ concept mcc_eqt_hrz_coord_c = mcc_celestial_point_c<T> && requires(T t) {
requires mcc_angle_c<decltype(t.RA_APP)>; // right ascension
requires mcc_angle_c<decltype(t.DEC_APP)>; // declination
requires mcc_angle_c<decltype(t.HA)>; // hour angle
requires mcc_angle_c<decltype(t.AZ)>; // azimuth
requires mcc_angle_c<decltype(t.ZD)>; // zenithal distance
requires mcc_angle_c<decltype(t.ALT)>; // altitude
requires mcc_angle_c<decltype(t.AZ)>; // azimuth (NOTE: ASSUMING THE AZINUTH IS COUNTED FROM THE SOUTH THROUGH THE
// WEST!!!)
requires mcc_angle_c<decltype(t.ZD)>; // zenithal distance
requires mcc_angle_c<decltype(t.ALT)>; // altitude
};
@@ -136,12 +138,14 @@ struct mcc_CCTE_interface_t {
return std::forward<SelfT>(self).timepointToAppSideral(std::move(tp), st, islocal);
}
// NOTE: ASSUMING THE AZINUTH IS COUNTED FROM THE SOUTH THROUGH THE WEST!!!
template <std::derived_from<mcc_CCTE_interface_t> SelfT>
RetT transformCoordinates(this SelfT&& self, mcc_celestial_point_c auto from_pt, mcc_celestial_point_c auto* to_pt)
{
return std::forward<SelfT>(self).transformCoordinates(std::move(from_pt), to_pt);
}
// NOTE: ASSUMING THE AZINUTH IS COUNTED FROM THE SOUTH THROUGH THE WEST!!!
template <std::derived_from<mcc_CCTE_interface_t> SelfT>
RetT transformCoordinates(this SelfT&& self, mcc_celestial_point_c auto from_pt, mcc_eqt_hrz_coord_c auto* to_pt)
{