\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.10.1 - 2D Regularized Boolean Set-Operations
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
ArrDirectionalTraits::Intersect_2 Concept Reference

Definition

Operations

A model of this concept must provide:

Output_iterator 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 the output iterator oi. More...
 

Member Function Documentation

Output_iterator 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 the output iterator oi.

The value-type of Output_iterator is CGAL::Object, where each Object wraps either a pair<ArrDirectionalTraits::Point_2, ArrDirectionalTraits::Multiplicity> object, which represents an intersection point with its multiplicity (in case the multiplicity is undefined or unknown, it is set to \( 0\)) or an ArrDirectionalTraits::X_monotone_curve_2 object, representing an overlapping subcurve of xc1 and xc2. In the latter case, 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 past-the-end iterator for the output sequence.