CGAL::overlay

Definition

The function overlay computes the overlay of two input arrangement objects, and returns the overlaid arrangement. All three arrangements can be instantiated with different geometric traits classes and different DCEL (encapsulated in the various topology-traits classes) classes. The geometry traits of the result arrangement is used to construct the result arrangement. This means that all the types (e.g., Traits::Point_2, Traits::Curve_2 and Traits::Point_2) of both input arrangements have to convertible to the types in the result arrangement. A given overlay-traits object is used to properly construct the overlaid DCEL that represents the resulting arrangement.

#include <CGAL/Arr_overlay_2.h>

template <class GeomTraitsA, class GeomTraitsB, class GeomTraitsRes, class TopTraitsA, class TopTraitsB, class TopTraitsRes, class OverlayTraits>
void
overlay ( Arrangement_on_surface_2<GeomTraitsA, TopTraitsA> arr1,
Arrangement_on_surface_2<GeomTraitsB, TopTraitsB> arr2,
Arrangement_on_surface_2<GeomTraitsRes, TopTraitsRes>& arr_res,
OverlayTraits& ovl_tr)
Computes the overlay of two arrangements arr1 and arr2, and sets the output arrangement res to represent the overlaid arrangement.

Precondition

res does not refer to either arr1 or arr2 (that is, ``self overlay'' is not supported).

#include <CGAL/Arrangement_with_history_2.h>

template<typename Traits, typename Dcel1, typename Dcel2, typename ResDcel, typename OverlayTraits>
void
overlay ( Arrangement_with_history_2<Traits,Dcel1> arr1,
Arrangement_with_history_2<Traits,Dcel2> arr2,
Arrangement_with_history_2<Traits,ResDcel>& res,
OverlayTraits& ovl_tr)
Computes the overlay of two arrangements with history arr1 and arr2, and sets the output arrangement with history res to represent the overlaid arrangement. The function also constructs a consolidated set of curves that induce res.

Precondition

res does not refer to either arr1 or arr2 (that is, ``self overlay'' is not supported).

Requirements

See Also

OverlayTraits