CGAL 4.12.1 - 2D Arrangements
CGAL::Arr_algebraic_segment_traits_2< Coefficient >::X_monotone_curve_2 Class Reference

#include <CGAL/Arr_algebraic_segment_traits_2.h>

## Definition

Models the ArrangementBasicTraits_2::X_monotone_curve_2 concept.

Represents terminal segments of an algebraic curves, that means vertical segments or $$x$$-monotone segments with no critical $$x$$-coordinate in the interior of their $$x$$-range. Terminal segments might either be bounded or unbounded. By definition, each interior point of a non-vertical segment has the same arc number (see the documentation of type Point_2 above, which is called the arc number of the segment (note the arc number at the endpoints might differ). Such segments are represented internally by a 4-tuple $$(p,q,cv,arcno)$$, where $$p$$ and $$q$$ are the endpoints, $$cv$$ is the supporting curve that the segment belongs to, and arcno is the arc number of the segment.

Arbitrary (weakly) $$x$$-monotone segments are presented by a range of X_monotone_curve_2 instances, whose union equals the segment. The functor Construct_x_monotone_segment_2 allows their construction. To construct all (maximal) terminal segments of a curve, use the Make_x_monotone_2 functor supplied by the traits class.

## Modifiers

Curve_2 curve () const
returns the supporting algebraic curve of s.

bool is_vertical () const
returns whether s is a vertical segment.

bool is_finite (CGAL::Arr_curve_end ce) const
returns whether s has a finite endpoint on the left

Point_2 curve_end (CGAL::Arr_curve_end ce) const

int arcno () const
returns the arc number of the segment. More...

Algebraic_real_1 x () const
returns the $$x$$-coordinate of a vertical segment. More...

## ◆ arcno()

template<typename Coefficient >
 int CGAL::Arr_algebraic_segment_traits_2< Coefficient >::X_monotone_curve_2::arcno ( ) const

returns the arc number of the segment.

Precondition
(The segment is non-vertical)

## ◆ curve_end()

template<typename Coefficient >
 Point_2 CGAL::Arr_algebraic_segment_traits_2< Coefficient >::X_monotone_curve_2::curve_end ( CGAL::Arr_curve_end ce ) const
Precondition
(The corresponding curve end is finite)

## ◆ x()

template<typename Coefficient >
 Algebraic_real_1 CGAL::Arr_algebraic_segment_traits_2< Coefficient >::X_monotone_curve_2::x ( ) const

returns the $$x$$-coordinate of a vertical segment.

Precondition
(The segment is vertical)