\( \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.14 - 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...
 

Member Function Documentation

◆ 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)