CGAL::insert

Definition

The function insert inserts one or more curves or x-monotone curves into a given arrangement, where no restrictions are imposed on the inserted curves. If an inserted curve is not x-monotone curve, it is subdivided into x-monotone subcurves (and perhaps isolated points), which are inserted into the arrangement.

#include <CGAL/Arrangement_2.h>

template<class Traits, class Dcel, class Curve, class PointLocation>
void insert ( Arrangement_2<Traits,Dcel>& arr, Curve c, PointLocation pl = walk_pl)
Inserts the given curve c into the arrangement arr. c is subdivided into x-monotone subcurves (and perhaps isolated points). Each subcurve is in turn inserted into the arrangement by locating its left endpoint and computing its zone until reaching the right endpoint.

The given point-location object pl is used to locate the left endpoints of the x-monotone curves. By default, the function uses the ``walk along line'' point-location strategy - namely an instance of the class Arr_walk_along_line_point_location<Arrangement_2<Traits,Dcel> >.

Precondition

If provided, pl must be attached to the given arrangement arr.

template<typename Traits, typename Dcel>
void insert ( Arrangement_2<Traits,Dcel>& arr, typename Traits::X_monotone_curve_2 xc, Object obj)
Inserts thex-monotone (only) curve xc into the arrangement arr. The object obj, which either wraps a Vertex_const_handle, a Halfedge_const_handle, or a Face_const_handle, represents the location of xc's left endpoint in the arrangement. The zone of xc is computed strating from the feature represented by obj. As in the case above, the zone computation terminates, when the right endpoint is reached. Thus, point-location is not required.

template<class Traits, class Dcel, class InputIterator>
void insert ( Arrangement_2<Traits,Dcel>& arr, InputIterator first, InputIterator last)
Aggregately inserts the curves or x-monotone curves in the range [first,last) into the arrangement arr using the sweep-line framework.

#include <CGAL/Arrangement_with_history_2.h>

template<typename Traits, typename Dcel, typename PointLocation>
typename Arrangement_with_history_2<Traits,Dcel>::Curve_handle
insert ( Arrangement_with_history_2<Traits,Dcel>& arr,
typename Traits::Curve_2 c,
PointLocation pl = walk_pl)
Inserts the given curve c into the arrangement with history arr, and returns a handle to the inserted curve. c is subdivided into x-monotone subcurves (and perhaps isolated points). Each subcurve is in turn inserted into the arrangement by locating its left endpoint and computing its zone until reaching the right endpoint.

The given point-location object pl is used to locate the left endpoints of the x-monotone curves. By default, the function uses the ``walk along line'' point-location strategy - namely an instance of the class Arr_walk_along_line_point_location<Arrangement_2<Traits,Dcel> >.

Precondition

If provided, pl is attached to the given arrangement arr.

template<class Traits, class Dcel, InputIterator>
void insert ( Arrangement_with_history_2<Traits,Dcel>& arr, InputIterator first, InputIterator last)
Aggregately inserts the curves in the range [first,last) into the arrangement with history arr using the sweep-line framework.

Requirements