CGAL 5.5 - 2D Regularized Boolean Set-Operations
ArrangementDirectionalXMonotoneTraits_2 Concept Reference

## Definition

This concept refines the basic arrangement $$x$$-monotone traits concept. A model of this concept is able to handle directed $$x$$-monotone curves that intersect in their interior. Namely, an instance of the X_monotone_curve_2 type defined by a model of the concept ArrangementXMonotoneTraits_2 is only required to have a left (lexicographically smaller) endpoint and a right endpoint. If the traits class is also a model of ArrangementDirectionalXMonotoneTraits_2, the $$x$$-monotone curve is also required to have a direction, namely one of these two endpoint serves as its source and the other as its target.

Refines:
ArrangementXMonotoneTraits_2
Has Models:

CGAL::Arr_segment_traits_2<Kernel>

CGAL::Arr_non_caching_segment_traits_2<Kernel>

CGAL::Arr_circle_segment_traits_2<Kernel>

CGAL::Arr_conic_traits_2<RatKernel,AlgKernel,NtTraits>

CGAL::Arr_rational_function_traits_2<AlgKernel,NtTraits>

CGAL::Arr_Bezier_curve_traits_2<RatKernel,AlgKernel,NtTraits>

CGAL::Arr_algebraic_segment_traits_2<Coefficient>

ArrangementXMonotoneTraits_2

## Functor Types

typedef unspecified_type Compare_endpoints_xy_2
models the concept ArrDirectionalTraits::CompareEndpointsXy_2.

typedef unspecified_type Construct_opposite_2
models the concept ArrDirectionalTraits::ConstructOpposite_2.

typedef unspecified_type Intersect_2
models the concept ArrDirectionalTraits::Intersect_2.

typedef unspecified_type Split_2
models the concept ArrDirectionalTraits::Split_2.

typedef unspecified_type Are_mergeable_2
models the concept ArrDirectionalTraits::AreMergeable_2.

typedef unspecified_type Merge_2
models the concept ArrDirectionalTraits::Merge_2.

## Creation

ArrangementDirectionalXMonotoneTraits_2 ()
default constructor.

ArrangementDirectionalXMonotoneTraits_2 (ArrangementDirectionalXMonotoneTraits_2 other)
copy constructor

ArrangementDirectionalXMonotoneTraits_2 operator= (other)
assignment operator.

## Accessing Functor Objects

Compare_endpoints_xy_2 compare_endpoints_xy_2_object ()

Construct_opposite_2 construct_opposite_2_object ()