This commit is contained in:
Timur A. Fatkhullin 2025-12-22 23:02:41 +03:00
parent 8ce6ffc41c
commit bbc35b02bb

View File

@ -567,30 +567,40 @@ protected:
auto comp_func = [&, this](this auto& self, MccCoordPairKind cp_kind) { auto comp_func = [&, this](this auto& self, MccCoordPairKind cp_kind) {
if (cp_kind == MccCoordPairKind::COORDS_KIND_AZALT) { if (cp_kind == MccCoordPairKind::COORDS_KIND_AZALT) {
if constexpr (mccIsAppCoordPairKind<PT::pairKind>) { if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZZD) {
// correct for refraction: alt -= dz_refr zd = half_pi - alt;
} cpair.setX(az);
cpair.setY(zd);
} else {
if constexpr (mccIsAppCoordPairKind<PT::pairKind>) {
// correct for refraction: alt -= dz_refr
}
azalt2hadec(az, alt, phi, ha, dec); azalt2hadec(az, alt, phi, ha, dec);
cpair.setY(dec); cpair.setY(dec);
if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_APP) { if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_APP) {
ra = lst + eo - ha; ra = lst + eo - ha;
cpair.setX(ra); cpair.setX(ra);
} else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) { } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) {
ra = lst + eo - ha; ra = lst + eo - ha;
cpair.setX(ra); cpair.setX(ra);
} else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_APP) { } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_APP) {
cpair.setX(ha); cpair.setX(ha);
} else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) { } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) {
cpair.setX(ha); cpair.setX(ha);
// } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZALT) { } else { // unsupported transformation!!!
} else { // unsupported transformation!!! return;
return; }
} }
} else if (cp_kind == MccCoordPairKind::COORDS_KIND_AZZD) { } else if (cp_kind == MccCoordPairKind::COORDS_KIND_AZZD) {
alt = half_pi - _y; alt = half_pi - zd;
self(MccCoordPairKind::COORDS_KIND_AZALT); if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZALT) {
cpair.setX(az);
cpair.setY(alt);
} else {
self(MccCoordPairKind::COORDS_KIND_AZALT);
}
} else if (cp_kind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) { } else if (cp_kind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) {
if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) { if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) {
ra = lst + eo - ha; ra = lst + eo - ha;