The Arr_extended_dcel<Traits,VData,HData,FData,V,H,F> class-template extends the topological-features of the DCEL namely the vertex, halfedge, and face types. While it is possible to maintain extra (non-geometric) data with the curves or points of the arrangement by extending their types respectively, it is also possible to extend the vertex, halfedge, or face types of the DCEL through inheritance. As the technique to extend these types is somewhat cumbersome and difficult for inexperienced users, the Arr_extended_dcel<Traits,VData,HData,FData,V,H,F> class-template provides a convenient way to do that. Each one of the three features is extended with a corresponding data type provided as parameters. This class template is also parameterized with a traits class used to extract default values for the vertex, halfedge, and face base classes, which are the remaining three template parameters respectively. The default values follow:

V = Arr_vertex_base<typename Traits::Point_2>
H = Arr_halfedge_base<typename Traits::X_monotone_curve_2>
F = Arr_face_base

#include <CGAL/Arr_extended_dcel.h>

Is Model for the Concepts


Inherits From

Arr_dcel_base< Arr_extended_vertex<V, VData>,
Arr_extended_halfedge<H, HData>,
Arr_extended_face<F, FData> >


template <class T>
Arr_extended_dcel<Traits,VData,HData,FData,V,H,F>:: rebind
allows the rebinding of the DCEL with a different traits class T.

See Also