CGAL 4.12.1  2D Arrangements

The concept ArrangementXMonotoneTraits_2
refines the basic arrangementtraits concept. A model of this concept is able to handle \( x\)monotone curves that intersect in their interior (and points that coincide with curve interiors). This is necessary for constructing arrangements of sets of intersecting \( x\)monotone curves.
As the resulting structure, represented by the Arrangement_2
class, stores pairwise interiordisjoint curves, the input curves are split at the intersection points before being inserted into the arrangement. A model of this refined concept therefore needs to compute the intersections (and possibly overlaps) between two \( x\)monotone curves and to support curve splitting.
CGAL::Arr_segment_traits_2<Kernel>
CGAL::Arr_non_caching_segment_traits_2<Kernel>
CGAL::Arr_linear_traits_2<Kernel>
CGAL::Arr_polyline_traits_2<SegmentTraits>
CGAL::Arr_circle_segment_traits_2<Kernel>
CGAL::Arr_line_arc_traits_2<CircularKernel>
CGAL::Arr_circular_arc_traits_2<CircularKernel>
CGAL::Arr_circular_line_arc_traits_2<CircularKernel>
CGAL::Arr_conic_traits_2<RatKernel,AlgKernel,NtTraits>
CGAL::Arr_rational_function_traits_2<AlgebraicKernel_d_1>
CGAL::Arr_Bezier_curve_traits_2<RatKernel,AlgKernel,NtTraits>
CGAL::Arr_algebraic_segment_traits_2<Coefficient>
CGAL::Arr_curve_data_traits_2<Tr,XData,Mrg,CData,Cnv>
CGAL::Arr_consolidated_curve_data_traits_2<Traits,Data>
ArrangementBasicTraits_2
Types  
typedef unspecified_type  Multiplicity 
the multiplicity type.  
Tags  
typedef unspecified_type  Has_merge_category 
indicates whether the nested functors Are_mergeable_2 and Merge_2 are provided.  
Functor Types  
typedef unspecified_type  Intersect_2 
models the concept ArrTraits::Intersect_2 .  
typedef unspecified_type  Split_2 
models the concept ArrTraits::Split_2 .  
 
typedef unspecified_type  Are_mergeable_2 
models the concept ArrTraits::AreMergeable_2 .  
typedef unspecified_type  Merge_2 
models the concept ArrTraits::Merge_2 .  
Accessing Functor Objects  
Intersect_2  intersect_2_object () const 
Split_2  split_2_object () const 
The two following methods are optional. If they are supported, the  
Are_mergeable_2  are_mergeable_2_object () const 
Merge_2  merge_2_object () const 