\( \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.3 - 2D Arrangements

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Arr_polyline_traits_2< SegmentTraits >::X_monotone_curve_2 Class Reference

`#include <CGAL/Arr_polyline_traits_2.h>`

## Definition

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

It inherits from the `Curve_2` type. It has a default constructor and a constructor from a range of points, just like the `Curve_2` class. However, there is precondition that the point range define an \( x\)-monotone polyline.

The points that define the \( x\)-monotone polyline are always stored in an ascending lexicographical \( xy\)-order, so their order may be reversed with respect to the input sequence. Also note that the \( x\)-monotonicity ensures that an \( x\)-monotone polyline is never self-intersecting (thus, a self-intersecting polyline will be subdivided to several interior-disjoint \( x\)-monotone subcurves).