...
This commit is contained in:
@@ -324,17 +324,32 @@ class MccAngleAZ : public MccAngle
|
||||
using MccAngle::MccAngle;
|
||||
};
|
||||
|
||||
class MccAngleALT;
|
||||
|
||||
class MccAngleZD : public MccAngle
|
||||
{
|
||||
using MccAngle::MccAngle;
|
||||
|
||||
MccAngleZD(const MccAngleALT&);
|
||||
};
|
||||
|
||||
class MccAngleALT : public MccAngle
|
||||
{
|
||||
using MccAngle::MccAngle;
|
||||
|
||||
MccAngleALT(const MccAngleZD& zd)
|
||||
{
|
||||
_angleInRads = std::numbers::pi / 2.0 - (double)zd;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
MccAngleZD::MccAngleZD(const MccAngleALT& alt)
|
||||
{
|
||||
_angleInRads = std::numbers::pi / 2.0 - (double)alt;
|
||||
}
|
||||
|
||||
|
||||
class MccAngleX : public MccAngle // some co-longitude coordinate
|
||||
{
|
||||
using MccAngle::MccAngle;
|
||||
@@ -358,15 +373,44 @@ class MccAngleLON : public MccAngle
|
||||
};
|
||||
|
||||
|
||||
enum class MccCoordKind : size_t {
|
||||
COORDS_KIND_GENERIC = traits::mcc_type_hash<MccAngle>,
|
||||
COORDS_KIND_RA_ICRS = traits::mcc_type_hash<MccAngleRA_ICRS>,
|
||||
COORDS_KIND_DEC_ICRS = traits::mcc_type_hash<MccAngleDEC_ICRS>,
|
||||
COORDS_KIND_RA_APP = traits::mcc_type_hash<MccAngleRA_APP>,
|
||||
COORDS_KIND_DEC_APP = traits::mcc_type_hash<MccAngleDEC_APP>,
|
||||
COORDS_KIND_HA = traits::mcc_type_hash<MccAngleHA>,
|
||||
COORDS_KIND_AZ = traits::mcc_type_hash<MccAngleAZ>,
|
||||
COORDS_KIND_ZD = traits::mcc_type_hash<MccAngleZD>,
|
||||
COORDS_KIND_ALT = traits::mcc_type_hash<MccAngleALT>,
|
||||
COORDS_KIND_X = traits::mcc_type_hash<MccAngleX>,
|
||||
COORDS_KIND_Y = traits::mcc_type_hash<MccAngleY>,
|
||||
COORDS_KIND_LAT = traits::mcc_type_hash<MccAngleLAT>,
|
||||
COORDS_KIND_LON = traits::mcc_type_hash<MccAngleLON>
|
||||
};
|
||||
|
||||
enum class MccCoordPairKind : size_t {
|
||||
COORDS_KIND_GENERIC = traits::mcc_type_pair_hash<MccAngle, MccAngle>(),
|
||||
COORDS_KIND_RADEC_ICRS = traits::mcc_type_pair_hash<MccAngleRA_ICRS, MccAngleDEC_ICRS>(),
|
||||
COORDS_KIND_RADEC_APP = traits::mcc_type_pair_hash<MccAngleRA_APP, MccAngleDEC_APP>(),
|
||||
COORDS_KIND_HADEC = traits::mcc_type_pair_hash<MccAngleHA, MccAngleDEC_APP>(),
|
||||
COORDS_KIND_HADEC_APP = traits::mcc_type_pair_hash<MccAngleHA, MccAngleDEC_APP>(),
|
||||
COORDS_KIND_AZZD = traits::mcc_type_pair_hash<MccAngleAZ, MccAngleZD>(),
|
||||
COORDS_KIND_AZALT = traits::mcc_type_pair_hash<MccAngleAZ, MccAngleALT>(),
|
||||
COORDS_KIND_XY = traits::mcc_type_pair_hash<MccAngleX, MccAngleY>(),
|
||||
COORDS_KIND_LATLON = traits::mcc_type_pair_hash<MccAngleLAT, MccAngleLON>()
|
||||
};
|
||||
|
||||
|
||||
template <MccCoordPairKind KIND>
|
||||
static constexpr std::string_view MccCoordPairKindStr =
|
||||
KIND == MccCoordPairKind::COORDS_KIND_RADEC_ICRS ? "RADEC-IRCS"
|
||||
: KIND == MccCoordPairKind::COORDS_KIND_RADEC_APP ? "RADEC-APP"
|
||||
: KIND == MccCoordPairKind::COORDS_KIND_HADEC_APP ? "HADEC-APP"
|
||||
: KIND == MccCoordPairKind::COORDS_KIND_AZALT ? "Azimuth-Altitude"
|
||||
: KIND == MccCoordPairKind::COORDS_KIND_AZZD ? "Azimuth-Zendist"
|
||||
: KIND == MccCoordPairKind::COORDS_KIND_XY ? "X-Y"
|
||||
: KIND == MccCoordPairKind::COORDS_KIND_LATLON ? "Latitude-Longitude"
|
||||
: "UNKNOWN";
|
||||
|
||||
|
||||
} // namespace mcc
|
||||
|
||||
Reference in New Issue
Block a user