CGAL 6.0 - 2D Arrangements
Loading...
Searching...
No Matches
CGAL::Arr_polycurve_traits_2< SubcurveTraits_2 >::Make_x_monotone_2 Class Reference

#include <CGAL/Arr_polycurve_traits_2.h>

Definition

template<typename SubcurveTraits_2>
class CGAL::Arr_polycurve_traits_2< SubcurveTraits_2 >::Make_x_monotone_2

Subdivide a given subcurve into \(x\)-monotone subcurves and isolated points, and insert them into an output container.

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

Public Member Functions

template<typename OutputIterator >
OutputIterator operator() (const Curve_2 &cv, OutputIterator oi) const
 performs the subdivision.
 

Member Function Documentation

◆ operator()()

template<typename SubcurveTraits_2 >
template<typename OutputIterator >
OutputIterator CGAL::Arr_polycurve_traits_2< SubcurveTraits_2 >::Make_x_monotone_2::operator() ( const Curve_2 cv,
OutputIterator  oi 
) const

performs the subdivision.

Parameters
cvthe subcurve.
oiThe output iterator that points at the output container.
Returns
the past-the-end iterator of the output container.
Precondition
if cv is not empty, then it must be continuous and well-oriented.
Dereferencing oi must yield a polymorphic object of type std::variant<Point_2 , X_monotone_curve_2>.