This commit is contained in:
2025-08-04 22:23:26 +03:00
parent f661dfad44
commit 864e257884
8 changed files with 554 additions and 633 deletions

View File

@@ -454,25 +454,25 @@ concept mcc_prohibited_zone_c =
// check if given coordinates are into the zone.
// input coordinates interpretation is in according to 'zoneCoordPairKind' static constexpr member
{
t.inZone(std::declval<typename T::coord_t>(), std::declval<typename T::coord_t>())
} -> std::convertible_to<bool>;
// {
// t.inZone(std::declval<typename T::coord_t>(), std::declval<typename T::coord_t>())
// } -> std::convertible_to<bool>;
// for given coordinates and time the method computes a time to reach the zone.
// implementation of the method must assume that input coordinates are apparent RA and DEC at given time
// point, while the time point is one from which computation should be performed (e.g. current time moment)
{
t.timeTo(std::declval<typename T::coord_t>(), std::declval<typename T::coord_t>(),
std::declval<typename T::time_point_t>())
} -> mcc_time_duration_c;
// // for given coordinates and time the method computes a time to reach the zone.
// // implementation of the method must assume that input coordinates are apparent RA and DEC at given time
// // point, while the time point is one from which computation should be performed (e.g. current time moment)
// {
// t.timeTo(std::declval<typename T::coord_t>(), std::declval<typename T::coord_t>(),
// std::declval<typename T::time_point_t>())
// } -> mcc_time_duration_c;
// for given coordinates and time the method computes a time to exit from the zone
{
t.timeFrom(std::declval<typename T::coord_t>(), std::declval<typename T::coord_t>(),
std::declval<typename T::time_point_t>())
} -> mcc_time_duration_c;
// // for given coordinates and time the method computes a time to exit from the zone
// {
// t.timeFrom(std::declval<typename T::coord_t>(), std::declval<typename T::coord_t>(),
// std::declval<typename T::time_point_t>())
// } -> mcc_time_duration_c;
// requires for the methods above with the first argument of type
// 'const mcc_mount_telemetry_data_c&' (const lvalue reference)
@@ -505,13 +505,13 @@ concept mcc_mount_controls_c = requires(T t) {
requires mcc_mount_telemetry_c<decltype(t.telemetry)>;
requires mcc_slew_model_c<decltype(t.slewModel)>;
// requires mcc_slew_model_c<decltype(t.slewModel), decltype(t.telemetry)>;
requires mcc_guiding_model_c<decltype(t.guidingModel)>;
// requires mcc_guiding_model_c<decltype(t.guidingModel), decltype(t.telemetry)>;
// a std::tuple of prohibited zones
[]<mcc_prohibited_zone_c<typename decltype(t.telemetry)::mount_telemetry_data_t>... Ts>(std::tuple<Ts...>) {
}(t.prohibitedZones);
// []<mcc_prohibited_zone_c<typename decltype(t.telemetry)::mount_telemetry_data_t>... Ts>(std::tuple<Ts...>) {
// }(t.prohibitedZones);
requires mcc_tuple_c<decltype(t.prohibitedZones)>;
};