\( \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.12.1 - 2D Arrangements
CGAL::Arr_polycurve_traits_2< SubcurveTraits_2 >::X_monotone_curve_2< SubcurveType_2, PointType_2 > Class Template Reference

#include <CGAL/Arr_polycurve_traits_2.h>


The X_monotone_curve_2 class nested within the polycurve traits is used to represent \( x\)-monotone piecewise linear subcurves.

It inherits from the Curve_2 type. X_monotone_curve_2 can be constructed just like Curve_2. However, there is precondition (which is not tested) that the input defines an \( x\)-monotone polycurve. Furthermore, in contrast to the general Curve_2 type, in this case, the subcurves that an X_monotone_curve_2 comprises have to be instances of the type SubcurveTraits_2::X_monotone_curve_2. Note that the \( x\)-monotonicity ensures that an \( x\)-monotone polycurve is not self-intersecting. (A self-intersecting polycurve is subdivided into several interior-disjoint \(x\)-monotone subcurves).

The defined \( x\)-monotone polycurve can be directed either from right-to-left (and in turn its vertices are stored in an ascending lexicographical \( xy\)-order) or left-to-right (and in this case the vertices are stored in a descending lexicographical \( xy\)-order).