\( \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.8 - 2D Arrangements

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Arr_face_overlay_traits< Arr_A, Arr_B, Arr_R, OvlFaceData > Class Template Reference
Traits Classes | Overlay

`#include <CGAL/Arr_default_overlay_traits.h>`

## Definition

An instance of `Arr_face_overlay_traits` should be used for overlaying two arrangements of types `Arr_A` and `Arr_B`, which are instantiated using the same geometric traits-class and with the Dcel classes `Dcel_A` and `Dcel_B` respectively, in order to store their overlay in an arrangement of type `Arr_R`, which is instantiated using a third Dcel class `Dcel_R`.

All three Dcel classes are assumed to be instantiations of the `Arr_face_extended_dcel` template with types `FaceData_A`, `FaceData_B` and `FaceData_R`, respectively.

This class gives empty implementation for all overlay traits-class functions, except the function that computes the overlay of two faces. In this case, it uses the functor `OvlFaceData`, which accepts a `FaceData_A` object and a `FaceData_B` object and computes a corresponding `FaceData_R` object, in order to set the auxiliary data of the overlay face.

Is Model Of:
  `OverlayTraits`

See Also
  `overlay`
  `CGAL::Arr_face_extended_dcel<Traits,FData,V,H,F>`

Examples:
  Arrangement_on_surface_2/face_extension_overlay.cpp, and Arrangement_on_surface_2/overlay_unbounded.cpp.