CGAL::insert_point

#include <CGAL/Arrangement_2.h>

template<class Traits, class Dcel, class PointLocation>
typename Arrangement_2<Traits,Dcel>::Vertex_handle
insert_point ( Arrangement_2<Traits,Dcel>& arr,
typename Traits::Point_2 p,
PointLocation pl = walk_pl)
inserts the point p as an arrangement vertex into arr. The function uses the point-location object pl (a model of the ArrangementPointLocation_2 concept) to locate p in arr. If it conincides with an existing vertex, there is nothing left to do; if it lies on an edge, the edge is split at p; otherwise, p is contained inside a face, and is inserted as an isolated vertex inside this face. At any case, the function returns a handle for the vertex associated with p. The Triats parameter must model the refined concept ArrangementXMonotoneTraits_2, which requires split operations. 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.