ArrTraits::CompareYNearBoundary_2

Refines

AdaptableTernaryFunction

Has Models

ArrangementOpenBoundaryTraits_2::Compare_y_near_boundary_2

Comparison_result fo ( ArrTraits::X_monotone_curve_2 xcv1 , ArrTraits::X_monotone_curve_2 xcv2 , Arr_curve_end ce )
Given two x-monotone curves xcv1 and xcv2 and an enumeration ce that specifies either the minimum or the maximum ends of the curves, compares the y-coordinate of the curves near their respective ends. Returns SMALLER, EQUAL, or LARGER accordingly. More precisely, compares the y-coordinates of the vertical projection of a point p onto xcv1 and xcv2. If ce is ARR_MIN_END, the predicate Parameter_space_in_x_2 evaluates to ARR_LEFT_BOUNDARY when applied to xcv1 and ce and when applied to xcv2 and ce. In this case p is located far to the left, such that the result is invariant under a translation of p farther to the left. If ce is ARR_MAX_END, the predicate Parameter_space_in_x_2 evaluates to ARR_RIGHT_BOUNDARY when applied to xcv1 and ce and when applied to xcv2 and ce. In that case p is located far to the right in a similar manner.
Precondition: If ArrTraits::Left_side_category is not convertible to Arr_open_side_tag then ce ARR_MIN_END.
Precondition: If ArrTraits::Right_side_category is not convertible to Arr_open_side_tag then ce ARR_MAX_END.
Precondition: parameter_space_in_x_2(xcv2, ce) = parameter_space_in_x_2(xcv1, ce).
Precondition: parameter_space_in_x_2(xcv1, ce) ARR_INTERIOR.
Precondition: If parameter_space_in_x_2(xcv1, ce) = ARR_LEFT_BOUNDARY then ce = ARR_MIN_END.
Precondition: If parameter_space_in_x_2(xcv1, ce) = ARR_RIGHT_BOUNDARY then ce = ARR_MAX_END.