\( \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.7 - 2D Arrangements
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Arr_consolidated_curve_data_traits_2< Traits, Data > Class Template Reference

#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

The class Arr_consolidated_curve_data_traits_2 is a model of the concept ArrangementTraits_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:
ArrangementTraits_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. More...
 
typedef Base_traits_2::Curve_2 Base_curve_2
 the base curve. More...
 
typedef
Base_traits_2::X_monotone_curve_2 
Base_x_monotone_curve_2
 the base \( x\)-monotone curve curve. More...
 
typedef unspecified_type typedef Data_container
 a set of data objects that is associated with an \( x\)-monotone curve. More...
 
typedef unspecified_type typedef Data_iterator
 a non-mutable iterator for the data objects in the data container. More...
 

Member Typedef Documentation

template<typename Traits , typename Data >
typedef Base_traits_2::Curve_2 CGAL::Arr_consolidated_curve_data_traits_2< Traits, Data >::Base_curve_2

the base curve.

template<typename Traits , typename Data >
typedef Traits CGAL::Arr_consolidated_curve_data_traits_2< Traits, Data >::Base_traits_2

the base traits-class.

template<typename Traits , typename Data >
typedef Base_traits_2::X_monotone_curve_2 CGAL::Arr_consolidated_curve_data_traits_2< Traits, Data >::Base_x_monotone_curve_2

the base \( x\)-monotone curve curve.

template<typename Traits , typename Data >
typedef unspecified_type typedef CGAL::Arr_consolidated_curve_data_traits_2< Traits, Data >::Data_container

a set of data objects that is associated with an \( x\)-monotone curve.

template<typename Traits , typename Data >
typedef unspecified_type typedef CGAL::Arr_consolidated_curve_data_traits_2< Traits, Data >::Data_iterator

a non-mutable iterator for the data objects in the data container.