CGAL 6.1.1 - 2D Arrangements

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

## Definition

Refines
  `Functor`

Has models
  `AosTraits_2::Make_x_monotone_2`

## Operations
A model of this concept must provide:
template<typename OutputIterator >
OutputIterator | operator() (AosTraits::Curve_2 c, OutputIterator oi)
| subdivides an input curve into \(x\)-monotone subcurves and isolated points, and inserts the results into an output container given through an output iterator.

## Member Function Documentation

## ◆ operator()()

template<typename OutputIterator >

OutputIterator AosTraits::MakeXMonotone_2::operator() | ( | AosTraits::Curve_2 | c,
|  | OutputIterator | oi
| ) |  |

subdivides an input curve into \(x\)-monotone subcurves and isolated points, and inserts the results into an output container given through an output iterator.

An object in the output container is represented by a discriminated union container that holds either a point or an \(x\)-monotone curve.

Parameters

  c | The input curve.
  oi | The output iterator that points at the output container.

Returns
  The past-the-end iterator of the output container.

Precondition
  Dereferencing `oi` must yield a polymorphic object of type `std::variant<Point_2, X_monotone_curve_2>`, where `Point_2` is a model of `AosTraits::Point_2` and `X_monotone_curve_2` is a model of `AosTraits::XMonotoneCurve_2`.