## PlanarMapWithIntersectionsChangeNotification_2

### Definition

An instance of PlanarMapWithIntersectionsChangeNotification_2 can be passed to the modification methods of a planar map with intersections object. An insertion of an intersecting curve to a planar map may add several halfedges and modify several features of the map. The relevant function of the change notification instance is called after each such modification.

### Types

PlanarMapWithIntersectionsChangeNotification_2::Planar_map
| the planar map with intersections in which the object is being used.
PlanarMapWithIntersectionsChangeNotification_2::Traits
| the traits class of Planar_map.

### Operations

void

pmwx_cn.add_edge ( | Traits::X_curve cv, Planar_map::Halfedge_handle e, bool original_direction, bool overlap)

|  | called each time a pair of twin halfedges is added to the planar map. cv is the curve of the added halfedges. e is one of the new halfedges. original_direction is true iff e is directed the same as the original curve inserted into the map. overlap is true iff the added halfedges overlap halfedges already in the map.

void

pmwx_cn.split_edge ( | Planar_map::Halfedge_handle orig_edge, Planar_map::Halfedge_handle new_edge, Traits::X_curve c1, Traits::X_curve c2)

|  | called each time a pair of twin halfedges is split into two pairs. The split operation creates a new pair of twin halfedges (new_edge and its twin) and modifies the original pair (orig_edge an its twin). c1 and c2 are the curves after the split.

void

pmwx_cn.split_face ( | Planar_map::Face_handle orig_face, Planar_map::Face_handle new_face)

|  | called each time a face of the planar map is being split by the inserted curve into two faces: orig_face is the original face and new_face is the new face.

void

pmwx_cn.add_hole ( | Planar_map::Face_handle in_face, Planar_map::Halfedge_handle new_hole)

|  | called each time a hole is added to a face in_face. new_hole is a halfedge on the new hole.
bool | pmwx_cn.have_support_curve ()
|  | returns true if edge_support_curve function can return the supporting curve (used by the arrangement class).

Traits::X_curve

pmwx_cn.edge_support_curve ( | Planar_map::Halfedge_handle edge)

|  | returns the supporting curve of a edge, if it exists (used by the arrangement class).

### Has Models

The package does not supply models of PlanarMapWithIntersectionsChangeNotification_2. The arrangement class has an internal implementation that is used for the updating of its hierarchy structure.