Note that the concept PlanarMapWithIntersectionsTraits_2 refines the concept PlanarMapTraits_2 and inherits all its types and operations.
In addition to the requirements of the PlanarMapTraits_2 concept, it must provide the types and operations listed below.
The geometric types defined below must have a default constructor, copy constructor, and assignment operator.
 
A type that holds a general curve in the plane.
Its endpoints must be of type Point_2.
Curves of type Curve_2 can be inserted into a
Planar_map_with_intersections_2<Dcel,Traits> object and are
automatically split into X_monotone_curve_2 objects.

 
A default constructor.

The following methods that have a curve parameter of type X_monotone_curve_2 have the implicit precondition that requires the curve to be $$xmonotone.

 
returns true if cv1 and cv2 overlap in a onedimensional subcurve (i.e. at an infinite and uncountable number of points), false. otherwise.  
 

 
cuts cv into $$xmonotone subcurves and stores them in a sequence starting at res. The order in which they are stored defines their order in the hierarchy tree. Returns pasttheend iterator of the sequence. The value type of the output iterators must be X_monotone_curve_2.  

 
splits $$cv at split_pt into two curves, and assigns them to
c1 and c2 respectively. Precondition: split_pt is on cv but is not one of its endpoints.  

 
finds the nearest intersection of c1 and c2 lexicographically to the right of a reference point pt, and returns an object that represents the intersection if exists, or an empty object otherwise. Nearest is defined as the lexicographically nearest point, not including the reference point itself. If the intersection of the two curves is an X_monotone_curve_2, that is, there is an overlapping subcurve, that contains the reference point in its $$xrange, it returns an X_monotone_curve_2 whose interior is strictly to the right of the reference point (that is, whose left endpoint is the projection of the reference point onto the overlapping subcurve).  

 
finds the nearest intersection of c1 and c2 lexicographically to the left of a reference point pt, and returns an object that represents the intersection if exists, or an empty object otherwise. Nearest is defined as the lexicographically nearest point, not including the reference point itself. If the intersection of the two curves is an X_monotone_curve_2, that is, there is an overlapping subcurve, that contains the reference point in its $$xrange, it returns an X_monotone_curve_2 whose interior is strictly to the left of the reference point (that is, whose right endpoint is the projection of the reference point onto the overlapping subcurve). 
Arr_segment_traits_2<Kernel>
Arr_segment_cached_traits_2<Kernel>
Arr_polyline_traits<Kernel, Container>
Arr_conic_traits_2<Kernel>