CGAL 6.1 - 2D Arrangements

Loading...
Searching...
No Matches
CGAL::Arr_face_overlay_traits< Arr_A, Arr_B, Arr_R, OvlFaceData > Class Template Reference
Reference Manual » Geometry Traits Classes | Reference Manual » Overlay

`#include <CGAL/Arr_default_overlay_traits.h>`

## Definition

template<typename Arr_A, typename Arr_B, typename Arr_R, typename OvlFaceData>
class CGAL::Arr_face_overlay_traits< Arr_A, Arr_B, Arr_R, OvlFaceData >

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.