CGAL 6.1 - 2D Arrangements

Loading...
Searching...
No Matches
CGAL::Arr_extended_dcel< Traits, VData, HData, FData, V, H, F > Class Template Reference
Reference Manual » DCEL

`#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

template<typename Traits, typename VData, typename HData, typename FData, typename V, typename H, typename F>
class CGAL::Arr_extended_dcel< Traits, VData, HData, FData, V, H, F >

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
  `AosDcelWithRebind`

See also
  `Arr_dcel_base<V,H,F>`

Examples
  Arrangement_on_surface_2/dcel_extension.cpp, Arrangement_on_surface_2/dcel_extension_io.cpp, and Arrangement_on_surface_2/overlay_color.cpp.