\( \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.4 - 2D Arrangements
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
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 > >.

Definition

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 =

Arr_face_base

Is Model Of:
ArrangementDcelWithRebind
See Also
Arr_dcel_base<V,H,F>
Examples:
Arrangement_on_surface_2/dcel_extension.cpp, and Arrangement_on_surface_2/dcel_extension_io.cpp.