CGAL 6.2 - 2D Arrangements: AosTraits::CompareXOnBoundaryOfCurveEnd_2 Concept Reference

CGAL 6.2 - 2D Arrangements

Loading...
Searching...
No Matches
List of all members
AosTraits::CompareXOnBoundaryOfCurveEnd_2 Concept Reference
Reference Manual » Concepts » Function Object Concepts

## Definition

Refines
  `AdaptableFunctor`

Has models
  `AosHorizontalSideTraits_2::Compare_x_on_boundary_2`
  `AosOpenBoundaryTraits_2::Compare_x_on_boundary_2`
  `AosSphericalBoundaryTraits_2::Compare_x_on_boundary_2`

## Operations
A model of this concept must provide:
Comparison_result | operator() (const AosTraits::Point_2 &p, const AosTraits::X_monotone_curve_2 &xcv, CGAL::Arr_curve_end ce)
| Given a point `p`, an \(x\)-monotone curve `xcv`, and an enumeration `ce` that specifies either the minimum or the maximum end of the curve where the curve has a vertical asymptote, compares the \(x\)-coordinate of `p` and the \(x\)-coordinate of the limit of the curve at its specified end.
Comparison_result | operator() (const AosTraits::X_monotone_curve_2 &xcv1, CGAL::Arr_curve_end ce1, const AosTraits::X_monotone_curve_2 &xcv2, CGAL::Arr_curve_end ce2)
| Given two \(x\)-monotone curves `xcv1` and `xcv2` and two indices `ce1` and `ce2` that specify either the minimum or the maximum ends of `xcv1` and `xcv2`, respectively, where the curves have vertical asymptotes, compares the \(x\)-coordinates of the limits of the curves at their specified ends.

## Member Function Documentation

## ◆ operator()() [1/2]

Comparison_result AosTraits::CompareXOnBoundaryOfCurveEnd_2::operator() | ( | const AosTraits::Point_2 & | p,
|  | const AosTraits::X_monotone_curve_2 & | xcv,
|  | CGAL::Arr_curve_end | ce
| ) |  |

Given a point `p`, an \(x\)-monotone curve `xcv`, and an enumeration `ce` that specifies either the minimum or the maximum end of the curve where the curve has a vertical asymptote, compares the \(x\)-coordinate of `p` and the \(x\)-coordinate of the limit of the curve at its specified end.

The variable `xcv` identifies the parametric curve \(c(t) = (x(t), y(t))\) defined over an open or half-open interval with endpoints \(0\) and \(1\). The enumeration `ce` identifies an open end \(d \in\{0,1\}\) of \(c\). Formally, compares the \(x\)-coordinate of `p` and \(\lim_{t \rightarrow d} x(t)\). Returns `CGAL::SMALLER`, `CGAL::EQUAL`, or `CGAL::LARGER` accordingly.

Precondition
  `Parameter_space_in_y_2`(`xcv`, `ce`) \(\neq\) `CGAL::ARR_INTERIOR`.
  If the parameter space is unbounded, \(c\) has a vertical asymptote at its \(d\)-end; that is, `Parameter_space_in_x_2`(`xcv`, `ce`) = `CGAL::ARR_INTERIOR`.

## ◆ operator()() [2/2]

Comparison_result AosTraits::CompareXOnBoundaryOfCurveEnd_2::operator() | ( | const AosTraits::X_monotone_curve_2 & | xcv1,
|  | CGAL::Arr_curve_end | ce1,
|  | const AosTraits::X_monotone_curve_2 & | xcv2,
|  | CGAL::Arr_curve_end | ce2
| ) |  |

Given two \(x\)-monotone curves `xcv1` and `xcv2` and two indices `ce1` and `ce2` that specify either the minimum or the maximum ends of `xcv1` and `xcv2`, respectively, where the curves have vertical asymptotes, compares the \(x\)-coordinates of the limits of the curves at their specified ends.

The variables `xcv1` and `xcv2` identify the parametric curves \(c_1(t) = (x_1(t),y_1(t))\) and \(c_2(t) = (x_2(t),y_2(t))\), respectively, defined over open or half-open intervals with endpoints \(0\) and \(1\). The indices `ce1` and `ce2` identify open ends \(d_1\in\{0,1\}\) and \(d_2 \in\{0,1\}\) of \(c_1\) and \(c_2\), respectively. Formally, compares \(\lim_{t \rightarrow d_1} x_1(t)\) and \(\lim_{t \rightarrow d_2} x_2(t)\). Returns `CGAL::SMALLER`, `CGAL::EQUAL`, or `CGAL::LARGER` accordingly.

Precondition
  `Parameter_space_in_y_2`(`xcv1`, `ce1`) \(\neq\) `CGAL::ARR_INTERIOR`.
  `Parameter_space_in_y_2`(`xcv2`, `ce2`) \(\neq\) `CGAL::ARR_INTERIOR`.
  If the parameter space is unbounded, \(c_1\) has a vertical asymptote at its respective end; that is, `Parameter_space_in_x_2`(`xcv1`, `ce1`) = `CGAL::ARR_INTERIOR`.
  If the parameter space is unbounded, \(c_2\) has a vertical asymptote at its respective end; that is, `Parameter_space_in_x_2`(`xcv2`, `ce2`) = `CGAL::ARR_INTERIOR`.