CGAL 6.1 - 2D Arrangements
Loading...
Searching...
No Matches
AosTraits::MakeXMonotone_2 Class Reference

#include <Concepts/AosTraits--MakeXMonotone_2.h>

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
cThe input curve.
oiThe 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.