ArrangementTraits_2

Definition

This refined arrangement-traits concept allows the construction of arrangement of general planar curves. Models of this concept are used by the free insert() functions of the arrangement package and by the Arrangement_with_history_2 class.

A model of this concept must define the nested Curve_2 type, which represents a general planar curve that is not necessarily x-monotone and is not necessarily connected. Such curves are eventually subdivided into x-monotone subcurves and isolated points (represented by the Point_2 and X_monotone_curve_2 types, defined in the basic traits concept).

Refines

ArrangementXMonotoneTraits_2

Types

ArrangementTraits_2::Curve_2
represents a general planar curve.

Functor Types

ArrangementTraits_2::Make_x_monotone_2
provides the operator (parameterized by the OutputIterator type) :
OutputIterator operator() (Curve_2 c, OutputIterator oi)
which subdivides the input curve c into x-monotone subcurves and isolated points, and inserts the results into a container through the given output iterator. The value type of OutputIterator is CGAL::Object, where each Object wraps either an X_monotone_curve_2 instance or a Point_2 instance. The operator returns a past-the-end iterator for the output sequence.

Creation

ArrangementTraits_2 traits;
default constructor.

ArrangementTraits_2 traits ( other);
copy constructor

ArrangementTraits_2
traits = other assignment operator.

Accessing Functor Objects

Make_x_monotone_2 traits.make_x_monotone_2_object ()

Has Models

CGAL::Arr_segment_traits_2<Kernel>
CGAL::Arr_non_caching_segment_traits_2<Kernel>
CGAL::Arr_polyline_traits_2<SegmentTraits>
CGAL::Arr_circle_segment_traits_2<Kernel>
CGAL::Arr_conic_traits_2<RatKernel,AlgKernel,NtTraits>
CGAL::Arr_rational_arc_traits_2<AlgKernel,NtTraits>
CGAL::Arr_curve_data_traits_2<Tr,XData,Mrg,CData,Cnv>
CGAL::Arr_consolidated_curve_data_traits_2<Traits,Data>

See Also

ArrangementBasicTraits_2
ArrangementXMonotoneTraits_2
ArrangementLandmarkTraits_2