CGAL 6.1 - 2D Arrangements

Loading...
Searching...
No Matches
List of all members | Classes
CGAL::Arr_algebraic_segment_traits_2< Coefficient > Class Template Reference
Reference Manual » Geometry Traits Classes

`#include <CGAL/Arr_algebraic_segment_traits_2.h>`

## Definition

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

The traits class `Arr_algebraic_segment_traits_2` is a model of the `AosTraits_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
  `AosTraits_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
| A model of the the `AosTraits_2::Curve_2` concept. More...
class | Point_2
| A model of the `AosBasicTraits_2::Point_2` concept. More...
class | X_monotone_curve_2
| A model of the `AosBasicTraits_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`.
typedef unspecified_type | Algebraic_kernel_1
| model for the concept `AlgebraicKernel_1`
typedef unspecified_type | Algebraic_real_1
| represents coordinates of points.
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

## Member Typedef Documentation

## ◆ 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.

See also
  `CGAL::Polynomial_d`

## Member Enumeration Documentation

## ◆ Site_of_point

template<typename Coefficient >

enum CGAL::Arr_algebraic_segment_traits_2::Site_of_point

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 |