CGAL 5.3 - 2D Arrangements
CGAL::Arr_algebraic_segment_traits_2< Coefficient > Class Template Reference

#include <CGAL/Arr_algebraic_segment_traits_2.h>

## Definition

The traits class Arr_algebraic_segment_traits_2 is a model of the ArrangementTraits_2 concept that handles planar algebraic curves of arbitrary degree, and $$x$$-monotone of such curves.

A planar (real) algebraic curve is the vanishing set of a polynomial in two variables, that is, the curve is defined by the defining equation

$f(x):=\sum_{i+j\leq n} a_{ij} x^i y^j =0,$

where $$n$$ is the degree of the curve.

The traits class allows the construction of algebraic curves, by specifying their implicit equation. $$x$$-monotone and vertical segments of a curve can also be defined; unbounded curves and segments are supported. The template parameter Coefficient defines the innermost coefficient type of the polynomials. Currently, the types leda::integer and CORE::BigInt are supported as well as any instance of CGAL::Sqrt_extension that is instantiated with one of the integral types above.

Is Model Of:
ArrangementTraits_2
Examples:
Arrangement_on_surface_2/algebraic_curves.cpp, and Arrangement_on_surface_2/algebraic_segments.cpp.

## Classes

class  Construct_curve_2

class  Construct_point_2

class  Construct_x_monotone_segment_2

class  Curve_2
Models the ArrangementTraits_2::Curve_2 concept. More...

class  Point_2
Models the ArrangementBasicTraits_2::Point_2 concept. More...

class  X_monotone_curve_2
Models the ArrangementBasicTraits_2::X_monotone_curve_2 concept. More...

## Types

enum  Site_of_point { POINT_IN_INTERIOR = 0, MIN_ENDPOINT = -1, MAX_ENDPOINT = 1 }
Value to specify whether a point should be in the interior of a segment, or its minimal point, or its maximal point in lexicographic order. More...

typedef unspecified_type Polynomial_2
the type for bivariate polynomials, with innermost coefficient type Coefficient. More...

typedef unspecified_type Algebraic_kernel_1
model for the concept AlgebraicKernel_1

typedef unspecified_type Algebraic_real_1
represents coordinates of points. More...

typedef unspecified_type Bound
Typedef from Algebraic_kernel_1::Bound

## Accessing functor objects

Construct_curve_2 construct_curve_2_object () const

Construct_point_2 construct_point_2_object () const

Construct_x_monotone_segment_2 construct_x_monotone_segment_2_object () const

## ◆ Algebraic_real_1

template<typename Coefficient >
 typedef unspecified_type CGAL::Arr_algebraic_segment_traits_2< Coefficient >::Algebraic_real_1

represents coordinates of points.

Typedef from Algebraic_kernel_1::Algebraic_real_1

## ◆ Polynomial_2

template<typename Coefficient >
 typedef unspecified_type CGAL::Arr_algebraic_segment_traits_2< Coefficient >::Polynomial_2

the type for bivariate polynomials, with innermost coefficient type Coefficient.

Constitutes a model of the concept Polynomial_d with two variables.

CGAL::Polynomial_d

## ◆ Site_of_point

template<typename Coefficient >

Value to specify whether a point should be in the interior of a segment, or its minimal point, or its maximal point in lexicographic order.

Enumerator
POINT_IN_INTERIOR
MIN_ENDPOINT
MAX_ENDPOINT