\( \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.12.1 - 2D Arrangements
CGAL::Arr_extended_dcel< Traits, VData, HData, FData, V, H, F > Class Template Reference

#include <CGAL/Arr_extended_dcel.h>

Inherits from

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


The Arr_extended_dcel 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 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 =


Is Model Of:
See also
Arrangement_on_surface_2/dcel_extension.cpp, and Arrangement_on_surface_2/dcel_extension_io.cpp.