CGAL 6.1 - 2D Arrangements
|
#include <Concepts/AosTraits_2.h>
\ < =""></>
The concept AosTraits_2
allows the construction of arrangement of general planar curves. Models of this concept are used by the free CGAL::insert()
functions of the arrangement package and by the CGAL::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).
A model of the concept AosTraits_2
that handles arbitrary curves, which are always \(x\)-monotone, such as a traits class that handles linear curves may define the nested types Curve_2
and X_monotone_curve_2
to be of equivalent types. Moreover, defining them as of equivalent types is advantageous, as it enables a generic simple implementation of the nested Functor Make_x_monotone_2
.
On the other hand, a model of the AosTraits_2
concept that handles arbitrary curves, which may be not \(x\)-monotone must define the Curve_2
and X_monotone_curve_2
nested types to be of different types to allow proper dispatching of the free functions that accept such curves, such as intsert()
.
AosXMonotoneTraits_2
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>
Types | |
typedef unspecified_type | Curve_2 |
! models the concept AosTraits::Curve_2 . | |
Functor Types | |
typedef unspecified_type | Make_x_monotone_2 |
models the concept AosTraits::MakeXMonotone_2 . | |
Accessing Functor Objects | |
Make_x_monotone_2 | make_x_monotone_2_object () const |
typedef unspecified_type AosTraits_2::Curve_2 |
! models the concept AosTraits::Curve_2
.
models the concept AosTraits::MakeXMonotone_2
.
Make_x_monotone_2 AosTraits_2::make_x_monotone_2_object | ( | ) | const |