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.