CGAL::remove_edge

#include <CGAL/Arrangement_2.h>

template<class Traits, class Dcel>
typename Arrangement_2<Traits,Dcel>::Face_handle
remove_edge ( Arrangement_2<Traits,Dcel>& arr,
typename Arrangement_2<Traits,Dcel>::Halfedge_handle e)
removes an edge given by one of the twin halfedges e that forms it, from the arrangement arr. Using this function is equivalent to invoking arr.remove_edge (e, true, true) - that is, to remove the edge and its end-vertices, in case they become isolated. However, this free function requires that Traits be a model of the refined concept ArrangementXMonotoneTraits_2, which requires merge operations on x-monotone curves. If one of the end-vertices of e becomes redundant after e is removed (see remove_vertex() for the definition of a redundant vertex), it is removed and its incident edges are merged. If the edge-removal operation causes two faces to merge, the merged face is returned. Otherwise, the face to which the edge was incident is returned.