/// \brief TODOCUMENT quad_criteria_result check_scan_on_final_alignment::criteria_result_of(const quad_criteria &arg_criteria, ///< TODOCUMENT const multi_struc_res_rep_pair &arg_query_pair, ///< TODOCUMENT const multi_struc_res_rep_pair &arg_index_pair ///< TODOCUMENT ) { if ( ! are_not_violated_by( arg_criteria, arg_query_pair ) ) { return quad_criteria_result::QUERY_FAILS_SINGLE_CHECKS; } if ( ! are_not_violated_by( arg_criteria, arg_index_pair ) ) { return quad_criteria_result::INDEX_FAILS_SINGLE_CHECKS; } const auto &query_core = arg_query_pair.get_res_pair_core(); const auto &index_core = arg_index_pair.get_res_pair_core(); if ( squared_distance ( query_core, index_core ) > arg_criteria.get_maximum_squared_distance() ) { return quad_criteria_result::FAILS_VIEW_CHECK; } if ( max_phi_angle_difference ( query_core, index_core ) > arg_criteria.get_maximum_phi_angle_difference() ) { return quad_criteria_result::FAILS_PHI_CHECK; } if ( max_psi_angle_difference ( query_core, index_core ) > arg_criteria.get_maximum_psi_angle_difference() ) { return quad_criteria_result::FAILS_PSI_CHECK; } if ( distance_1_between_frames( query_core, index_core ) > arg_criteria.get_maximum_frame_angle_distance_1() ) { return quad_criteria_result::FAILS_FRAME_CHECK; } if ( ! are_met_by ( arg_criteria, arg_query_pair, arg_index_pair ) ) { return quad_criteria_result::FAILS_QUAD_CHECKS; } return quad_criteria_result::PASS; }
/// \brief Extract the search radius from the specified quad_criteria static angle_type get_search_radius(const quad_criteria &arg_criteria ///< The criteria defining what is considered a match ) { return arg_criteria.get_maximum_phi_angle_difference(); }
/// \brief Extract the search radius from the specified quad_criteria search_radius_t get_search_radius(const quad_criteria &arg_criteria ///< The criteria defining what is considered a match ) const { return arg_criteria.get_index_direction_criterion(); }