...
This commit is contained in:
parent
54d6c25171
commit
8ce6ffc41c
@ -567,16 +567,77 @@ 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>) {
|
||||||
|
// correct for refraction: alt -= dz_refr
|
||||||
|
}
|
||||||
|
|
||||||
|
azalt2hadec(az, alt, phi, ha, 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;
|
||||||
|
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;
|
||||||
|
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);
|
||||||
} else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) {
|
} 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!!!
|
} 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 - _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