CGAL 6.2 - 2D Arrangements: CGAL::Arr_consolidated_curve_data_traits_2< Traits, Data > Class Template Reference

CGAL 6.2 - 2D Arrangements

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

`#include <CGAL/Arr_consolidated_curve_data_traits_2.h>`

## Inherits from

CGAL::Arr_curve_data_traits_2< Traits, _Unique_list< Data >, _Consolidate_unique_lists< Data >, Data >.

## Definition

template<typename Traits, typename Data>
class CGAL::Arr_consolidated_curve_data_traits_2< Traits, Data >

The class `Arr_consolidated_curve_data_traits_2` is a model of the concept `AosTraits_2`, and serves as a decorator class that enables the extension of the curve type defined by the `Traits` parameter.

The traits class inherits its point type from `Traits::Point_2`, and defines the types `Curve_2` and `X_monotone_curve_2` extended with extraneous data fields of type `Data`.

Each `Curve_2` object is associated with a single data field of type `Data`, and each `X_monotone_curve_2` object is associated with a set of unique data objects. When a curve is subdivided into \(x\)-monotone subcurves, all resulting subcurves are associated with a list containing a single data object, copied from the inducing curve. When an \(x\)-monotone curve is split, its data set is duplicated, and inserted into the sets of both resulting subcurves. In case two (or more) \(x\)-monotone curves overlap, their data sets are consolidated, and are inserted into the set of the \(x\)-monotone curve that represents the overlap.

Is model of
  `AosTraits_2`

Examples
  Arrangement_on_surface_2/consolidated_curve_data.cpp.

## Classes
class | Data_container
| The `Data_container` class nested within the consolidated curve-data traits and associated with the `Traits::X_monotone_curve_2` type is maintained as a list with unique data objects. More...

## Types
typedef Traits | Base_traits_2
| the base traits-class.
typedef Base_traits_2::Curve_2 | Base_curve_2
| the base curve.
typedef Base_traits_2::X_monotone_curve_2 | Base_x_monotone_curve_2
| the base \(x\)-monotone curve.
typedef unspecified_type typedef | Data_container
| a set of data objects that is associated with an \(x\)-monotone curve.
typedef unspecified_type typedef | Data_iterator
| a non-mutable iterator for the data objects in the data container.