CGAL 5.3 - 2D Arrangements
ArrTraits::Intersect_2 Concept Reference

## Operations

A model of this concept must provide:

OutputIterator operator() (ArrTraits::X_monotone_curve_2 xc1, ArrTraits::X_monotone_curve_2 xc2, Output_iterator &oi)
computes the intersections of xc1 and xc2 and inserts them in an ascending lexicographic $$xy$$-order into a range begining at oi. More...

## ◆ operator()()

 OutputIterator ArrTraits::Intersect_2::operator() ( ArrTraits::X_monotone_curve_2 xc1, ArrTraits::X_monotone_curve_2 xc2, Output_iterator & oi )

computes the intersections of xc1 and xc2 and inserts them in an ascending lexicographic $$xy$$-order into a range begining at oi.

The type OutputIterator dereferences a boost::variant of either the type pair<ArrTraits::Point_2,ArrTraits::Multiplicity> or the type ArrTraits::X_monotone_curve_2. An object of the former type represents an intersection point with its multiplicity (in case the multiplicity is undefined or unknown, it should be set to $$0$$). An object of the latter type representing an overlapping subcurve of xc1 and xc2. The operator returns a past-the-end iterator of the destination range.