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

CGAL 6.1.2 - 2D Arrangements

Loading...
Searching...
No Matches
List of all members
CGAL::Arr_algebraic_segment_traits_2< Coefficient >::X_monotone_curve_2 Class Reference

`#include <CGAL/Arr_algebraic_segment_traits_2.h>`

## Definition

template<typename Coefficient>
class CGAL::Arr_algebraic_segment_traits_2< Coefficient >::X_monotone_curve_2

A model of the `AosBasicTraits_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.
Algebraic_real_1 | x () const
| returns the \(x\)-coordinate of a vertical segment.

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