CGAL 6.1 - 2D Arrangements
|
#include <Concepts/AosBasicTraits_2.h>
The concept AosBasicTraits_2
defines the minimal set of geometric predicates needed for the construction and maintenance of objects of the class Arrangement_2
, as well as performing simple queries (such as point-location queries) on such arrangements.
A model of this concept must define nested Point_2
and X_monotone_curve_2
types, which represent planar points and continuous \(x\)-monotone curves (a vertical segment is also considered to be weakly \(
x\)-monotone), respectively. The \(x\)-monotone curves are assumed to be pairwise disjoint in their interiors, so they do not intersect except at their endpoints.
The X_monotone_curve_2
curves of an arrangement are confined to an iso-rectangular area called the parameter space. The iso-rectangule can be unbounded, open, or closed. The set of predicates provided by a model the concept AosBasicTraits_2
is sufficient for constructing arrangements of \(x\)-monotone curves that do not reach or approach the boundary of the parameter space. The nature of the input curves, whether they are expected to reach or approach the left, right, bottom, or top side of the boundary of the parameter space, are conveyed through the definition of four additional nested types, namely Left_side_category
, Right_side_category
, Bottom_side_category
, and Top_side_category
. Each such type must be convertible to the type CGAL::Arr_oblivious_side_tag
.
CGAL::Arr_segment_traits_2<Kernel>
CGAL::Arr_non_caching_segment_basic_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 | Point_2 |
models the concept AosTraits::Point_2 . | |
typedef unspecified_type | X_monotone_curve_2 |
models the concept AosTraits::XMonotoneCurve_2 . | |
Categories | |
typedef unspecified_type | Has_left_category |
indicates whether the nested functor Compare_at_x_left_2 is provided. | |
typedef unspecified_type | Left_side_category |
Must be convertible to CGAL::Arr_oblivious_side_tag . | |
typedef unspecified_type | Bottom_side_category |
Must be convertible to CGAL::Arr_oblivious_side_tag . | |
typedef unspecified_type | Top_side_category |
Must be convertible to CGAL::Arr_oblivious_side_tag . | |
typedef unspecified_type | Right_side_category |
Must be convertible to CGAL::Arr_oblivious_side_tag . | |
Functor Types | |
typedef unspecified_type | Compare_x_2 |
models the concept AosTraits::CompareX_2 . | |
typedef unspecified_type | Compare_xy_2 |
models the concept AosTraits::CompareXy_2 . | |
typedef unspecified_type | Construct_min_vertex_2 |
models the concept AosTraits::ConstructMinVertex_2 . | |
typedef unspecified_type | Construct_max_vertex_2 |
models the concept AosTraits::ConstructMaxVertex_2 . | |
typedef unspecified_type | Is_vertical_2 |
models the concept AosTraits::IsVertical_2 . | |
typedef unspecified_type | Compare_y_at_x_2 |
models the concept AosTraits::CompareYAtX_2 . | |
typedef unspecified_type | Compare_y_at_x_left_2 |
models the concept AosTraits::CompareYAtXLeft_2 . | |
typedef unspecified_type | Compare_y_at_x_right_2 |
models the concept AosTraits::CompareYAtXRight_2 . | |
typedef unspecified_type | Equal_2 |
models the concept AosTraits::Equal_2 . | |
Accessing Functor Objects | |
Compare_x_2 | compare_x_2_object () const |
Compare_xy_2 | compare_xy_2_object () const |
Construct_min_vertex_2 | construct_min_vertex_2_object () const |
Construct_max_vertex_2 | construct_max_vertex_2_object () const |
Is_vertical_2 | is_vertical_2_object () const |
Compare_y_at_x_2 | compare_y_at_x_2_object () const |
Compare_y_at_x_left_2 | compare_y_at_x_left_2_object () const |
Compare_y_at_x_right_2 | compare_y_at_x_right_2_object () const |
Equal_2 | equal_2_object () const |
Must be convertible to CGAL::Arr_oblivious_side_tag
.
models the concept AosTraits::CompareX_2
.
models the concept AosTraits::CompareXy_2
.
models the concept AosTraits::CompareYAtX_2
.
models the concept AosTraits::CompareYAtXLeft_2
.
Required only if the Has_left_category
category is convertible to Tag_true
.
models the concept AosTraits::CompareYAtXRight_2
.
models the concept AosTraits::ConstructMaxVertex_2
.
models the concept AosTraits::ConstructMinVertex_2
.
models the concept AosTraits::Equal_2
.
indicates whether the nested functor Compare_at_x_left_2
is provided.
models the concept AosTraits::IsVertical_2
.
Must be convertible to CGAL::Arr_oblivious_side_tag
.
models the concept AosTraits::Point_2
.
Must be convertible to CGAL::Arr_oblivious_side_tag
.
Must be convertible to CGAL::Arr_oblivious_side_tag
.
models the concept AosTraits::XMonotoneCurve_2
.
Compare_x_2 AosBasicTraits_2::compare_x_2_object | ( | ) | const |
Compare_xy_2 AosBasicTraits_2::compare_xy_2_object | ( | ) | const |
Compare_y_at_x_2 AosBasicTraits_2::compare_y_at_x_2_object | ( | ) | const |
Compare_y_at_x_left_2 AosBasicTraits_2::compare_y_at_x_left_2_object | ( | ) | const |
Compare_y_at_x_right_2 AosBasicTraits_2::compare_y_at_x_right_2_object | ( | ) | const |
Construct_max_vertex_2 AosBasicTraits_2::construct_max_vertex_2_object | ( | ) | const |
Construct_min_vertex_2 AosBasicTraits_2::construct_min_vertex_2_object | ( | ) | const |
Equal_2 AosBasicTraits_2::equal_2_object | ( | ) | const |
Is_vertical_2 AosBasicTraits_2::is_vertical_2_object | ( | ) | const |