CGAL 6.0 - 2D Arrangements
|
#include <CGAL/Arr_consolidated_curve_data_traits_2.h>
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.
ArrangementTraits_2
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 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. | |