CGAL::insert_non_intersecting_curve

#include <CGAL/Arrangement_2.h>

template<class Traits, class Dcel, class PointLocation>
typename Arrangement_2<Traits,Dcel>::Halfedge_handle
insert_non_intersecting_curve ( Arrangement_2<Traits,Dcel>& arr,
typename Traits::X_monotone_curve_2 xc,
PointLocation pl = walk_pl)
inserts the given x-monotone curve xc into the arrangement arr, where the interior of xc is disjoint from all existing arrangement vertices and edges. Under this assumption, it is possible to locate the endpoints of xc in the arrangement and use one of the specialized insertion member-functions of arr according to the results. As no intersection are computed, the Traits parameter must model the restricted ArrangementBasicTraits_2 concept. The point-location object pl, which must model the ArrangementPointLocation_2 concept, is used for answering the two point-location queries on xc's endpoints. The insertion operations creates a single new edge, that is, two twin halfedges, and the function returns a handle for the one directed lexicographically in increasing order (from left to right). 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.