CGAL 5.5  2D Regularized Boolean SetOperations

Operations  
OutputIterator  operator() (ArrDirectionalTraits::X_monotone_curve_2 xc1, ArrDirectionalTraits::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 beginning at oi . More...  
OutputIterator ArrDirectionalTraits::Intersect_2::operator()  (  ArrDirectionalTraits::X_monotone_curve_2  xc1, 
ArrDirectionalTraits::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 beginning at oi
.
The type OutputIterator
dereferences a boost::variant
of either the type pair<ArrDirectionalTraits::Point_2, ArrDirectionalTraits::Multiplicity>
or the type ArrDirectionalTraits::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 is set to \( 0\)). An object of the latter type representing an overlapping subcurve of xc1
and xc2
. The overlapping subcurves are given the direction of xc1
and xc2
if their directions are identical. Otherwise, the overlapping subcurves are given an arbitrary direction. The operator returns a pasttheend iterator of the destination range.