...
This commit is contained in:
parent
54d6c25171
commit
8ce6ffc41c
@ -567,16 +567,77 @@ protected:
|
||||
|
||||
auto comp_func = [&, this](this auto& self, MccCoordPairKind cp_kind) {
|
||||
if (cp_kind == MccCoordPairKind::COORDS_KIND_AZALT) {
|
||||
if constexpr (mccIsAppCoordPairKind<PT::pairKind>) {
|
||||
// correct for refraction: alt -= dz_refr
|
||||
}
|
||||
|
||||
azalt2hadec(az, alt, phi, ha, dec);
|
||||
cpair.setY(dec);
|
||||
|
||||
if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_APP) {
|
||||
ra = lst + eo - ha;
|
||||
cpair.setX(ra);
|
||||
} else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) {
|
||||
ra = lst + eo - ha;
|
||||
cpair.setX(ra);
|
||||
} else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_APP) {
|
||||
cpair.setX(ha);
|
||||
} else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) {
|
||||
} else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZALT) {
|
||||
cpair.setX(ha);
|
||||
// } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZALT) {
|
||||
} else { // unsupported transformation!!!
|
||||
return;
|
||||
}
|
||||
} else if (cp_kind == MccCoordPairKind::COORDS_KIND_AZZD) {
|
||||
alt = half_pi - _y;
|
||||
self(MccCoordPairKind::COORDS_KIND_AZALT);
|
||||
} else if (cp_kind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) {
|
||||
if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) {
|
||||
ra = lst + eo - ha;
|
||||
cpair.setX(ra);
|
||||
cpair.setY(dec);
|
||||
} else {
|
||||
hadec2azalt(ha, dec, phi, az, alt);
|
||||
if constexpr (mccIsAppCoordPairKind<PT::pairKind>) { // RADEC_APP, HADEC_APP
|
||||
self(MccCoordPairKind::COORDS_KIND_AZALT);
|
||||
} else { // AZALT, AZZD
|
||||
cpair.setX(az);
|
||||
if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZZD) {
|
||||
zd = half_pi - alt;
|
||||
cpair.setY(zd);
|
||||
} else {
|
||||
cpair.setY(alt);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (cp_kind == MccCoordPairKind::COORDS_KIND_HADEC_APP) {
|
||||
if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_APP) {
|
||||
ra = lst + eo - ha;
|
||||
cpair.setX(ra);
|
||||
cpair.setY(dec);
|
||||
} else {
|
||||
hadec2azalt(ha, dec, phi, az, alt);
|
||||
if constexpr (mccIsObsCoordPairKind<PT::pairKind>) { // RADEC_OBS, HADEC_OBS, AZALT, AZZD
|
||||
// correct for refraction: alt += dz_refr
|
||||
self(MccCoordPairKind::COORDS_KIND_AZALT);
|
||||
}
|
||||
}
|
||||
} else if (cp_kind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) {
|
||||
ha = lst + eo - ra;
|
||||
if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) {
|
||||
cpair.setX(ha);
|
||||
cpair.setY(dec);
|
||||
} else {
|
||||
self(MccCoordPairKind::COORDS_KIND_HADEC_OBS);
|
||||
}
|
||||
} else if (cp_kind == MccCoordPairKind::COORDS_KIND_RADEC_APP) {
|
||||
ha = lst + eo - ra;
|
||||
if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_APP) {
|
||||
cpair.setX(ha);
|
||||
cpair.setY(dec);
|
||||
} else {
|
||||
self(MccCoordPairKind::COORDS_KIND_HADEC_APP);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user