CGAL::insert_curve

#include <CGAL/Arrangement_2.h>

template<class Traits, class Dcel, class PointLocation>
void
insert_curve ( Arrangement_2<Traits,Dcel>& arr,
typename Traits::Curve_2 c,
PointLocation pl = walk_pl)
Inserts the given curve c into the arrangement arr, where no restrictions are made on the nature of the inserted curve. The Traits parameter must be a model of the ArrangementTraits_2 concept. That is, it should define the Curve_2 type and support its subdivision 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 point-location object pl, which must be a model of the ArrangementPointLocation_2 concept, is used for answering point-location queries during the insertion process. 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.

#include <CGAL/Arrangement_with_history_2.h>

template<class Traits, class Dcel, class PointLocation>
typename Arrangement_with_history_2<Traits,Dcel>::Curve_handle
insert_curve ( Arrangement_with_history_2<Traits,Dcel>& arr,
typename Traits::Curve_2 c,
PointLocation pl = walk_pl)
Inserts the given curve c into the arrangement arr, and returns a handle to the inserted curve. The point-location object pl, which should be a model of the ArrangementPointLocation_2 concept, is used for answering point-location queries during the insertion process. 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_with_history_2<Traits,Dcel> >.
Precondition: If provided, pl is attached to the given arrangement arr.