\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - 2D Arrangements

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Class and Concept List
Here is the list of all concepts and classes of this package. Classes are inside the namespace CGAL. Concepts are in the global namespace.
[detail level 1 2 3]

ArrTraits | The namespace containing concepts specific to Arrangements
Approximate_2 |
AreMergeable_2 |
CompareX_2 |
CompareXAtLimit_2 |
CompareXNearLimit_2 |
CompareXy_2 |
CompareYAtX_2 |
CompareYAtXLeft_2 |
CompareYAtXRight_2 |
CompareYNearBoundary_2 |
ConstructMaxVertex_2 |
ConstructMinVertex_2 |
ConstructXMonotoneCurve_2 |
Curve_2 | General planar curve
Equal_2 |
Intersect_2 |
IsVertical_2 |
MakeXMonotone_2 |
Merge_2 |
ParameterSpaceInX_2 |
ParameterSpaceInY_2 |
Point_2 | Represents a point in the plane
Split_2 |
XMonotoneCurve_2 | Represents a planar (weakly) \( x\)-monotone curve
CGAL |
Arr_accessor |
Arr_algebraic_segment_traits_2 | The traits class `Arr_algebraic_segment_traits_2` is a model of the `ArrangementTraits_2` concept that handles planar algebraic curves of arbitrary degree, and \( x\)-monotone of such curves
Construct_curve_2 |
Construct_point_2 |
Construct_x_monotone_segment_2 |
Curve_2 | Models the `ArrangementTraits_2::Curve_2` concept
Point_2 | Models the `ArrangementBasicTraits_2::Point_2` concept
X_monotone_curve_2 | Models the `ArrangementBasicTraits_2::X_monotone_curve_2` concept
Arr_Bezier_curve_traits_2 | The traits class `Arr_Bezier_curve_traits_2` is a model of the `ArrangementTraits_2` concept that handles planar Bézier curves
Curve_2 | The `Curve_2` class nested within the Bézier traits class is used to represent a Bézier curve of arbitrary degree, which is defined by a sequence of rational control points
Point_2 | The `Point_2` class nested within the Bézier traits class is used to represent: (i) an endpoint of a Bézier curve, (ii) a vertical tangency point of a curve, used to subdivide it into \( x\)-monotone subcurve, and (iii) an intersection point between two curves
X_monotone_curve_2 | The `X_monotone_curve_2` class nested within the Bézier traits is used to represent \( x\)-monotone subcurves of Bézier curves
Arr_circle_segment_traits_2 | The class `Arr_circle_segment_traits_2` is a model of the `ArrangementTraits_2` concept and can be used to construct and maintain arrangements of circular arcs and line segments
Curve_2 | The `Curve_2` class nested within the traits class can represent arbitrary circular arcs, full circles and line segments and support their construction in various ways
Point_2 | The `Point_2` number-type nested within the traits class represents a Cartesian point whose coordinates are algebraic numbers of type `CoordNT`
X_monotone_curve_2 | The `X_monotone_curve_2` class nested within the traits class can represent \( x\)-monotone and line segments (which are always weakly \( x\)-monotone)
Arr_circular_arc_traits_2 | This class is a traits class for CGAL arrangements, built on top of a model of concept `CircularKernel`
Arr_circular_line_arc_traits_2 | This class is a traits class for CGAL arrangements, built on top of a model of concept `CircularKernel`
Arr_conic_traits_2 | The class `Arr_conic_traits_2` is a model of the `ArrangementTraits_2` concept and can be used to construct and maintain arrangements of bounded segments of algebraic curves of degree \( 2\) at most, also known as conic curves
Curve_2 | The `Curve_2` class nested within the conic-arc traits can represent arbitrary conic arcs and support their construction in various ways
X_monotone_curve_2 | The `X_monotone_curve_2` class nested within the conic-arc traits is used to represent \( x\)-monotone conic arcs
Arr_consolidated_curve_data_traits_2 | The class `Arr_consolidated_curve_data_traits_2` is a model of the concept `ArrangementTraits_2`, and serves as a decorator class that enables the extension of the curve type defined by the `Traits` parameter
Data_container | The `Data_container` class nested within the consolidated curve-data traits and associated with the `Traits::X_monotone_curve_2` type is maintained as a list with unique data objects
Arr_curve_data_traits_2 | The class `Arr_curve_data_traits_2` is a model of the `ArrangementTraits_2` concept and serves as a decorator class that allows the extension of the curves defined by the base traits-class (the `Tr` parameter), which serves as a geometric traits-class (a model of the `ArrangementTraits_2` concept), with extraneous (non-geometric) data fields
Curve_2 | The `Curve_2` class nested within the curve-data traits extends the `Base_traits_2::Curve_2` type with an extra data field of type `Data`
X_monotone_curve_2 | The `X_monotone_curve_2` class nested within the curve-data traits extends the `Base_traits_2::X_monotone_curve_2` type with an extra data field
Arr_dcel_base |
Arr_face_base | The basic Dcel face type
Arr_halfedge_base | The basic Dcel halfedge type
Arr_vertex_base | The basic Dcel vertex type
Arr_default_dcel | The default Dcel class used by the `Arrangement_2` class-template is parameterized by a traits class, which is a model of the `ArrangementBasicTraits_2` concept
Arr_default_overlay_traits | An instance of `Arr_default_overlay_traits` should be used for overlaying two arrangements of type `Arrangement` that store no auxiliary data with their Dcel records, where the resulting overlaid arrangement stores no auxiliary Dcel data as well
Arr_face_overlay_traits | An instance of `Arr_face_overlay_traits` should be used for overlaying two arrangements of types `Arr_A` and `Arr_B`, which are instantiated using the same geometric traits-class and with the Dcel classes `Dcel_A` and `Dcel_B` respectively, in order to store their overlay in an arrangement of type `Arr_R`, which is instantiated using a third Dcel class `Dcel_R`
Arr_extended_dcel | The `Arr_extended_dcel` class-template extends the topological-features of the Dcel namely the vertex, halfedge, and face types
Arr_extended_face | The `Arr_extended_face` class-template extends the face topological-features of the Dcel
Arr_extended_halfedge | The `Arr_extended_halfedge` class-template extends the halfedge topological-features of the Dcel
Arr_extended_vertex | The `Arr_extended_vertex` class-template extends the vertex topological-features of the Dcel
Arr_face_extended_dcel | The `Arr_face_extended_dcel` class-template extends the Dcel face-records, making it possible to store extra (non-geometric) data with the arrangement faces
Arr_face_index_map | `Arr_face_index_map` maintains a mapping of face handles of an attached arrangement object to indices (of type `unsigned int`)
Arr_landmarks_point_location |
Arr_line_arc_traits_2 | This class is a traits class for CGAL arrangements, built on top of a model of concept `CircularKernel`
Arr_linear_traits_2 | The traits class `Arr_linear_traits_2` is a model of the `ArrangementTraits_2` concept, which enables the construction and maintenance of arrangements of linear objects
Curve_2 | The `Curve_2` (and the `X_monotone_curve_2`) class nested within the linear-traits can represent all types of linear objects
Arr_naive_point_location |
Arr_non_caching_segment_basic_traits_2 | The traits class `Arr_non_caching_segment_basic_traits_2` is a model of the `ArrangementTraits_2` concept that allow the construction and maintenance of arrangements of sets of pairwise interior-disjoint line segments
Arr_non_caching_segment_traits_2 | The traits class `Arr_non_caching_segment_traits_2` is a model of the `ArrangementTraits_2` concept that allows the construction and maintenance of arrangements of line segments
Arr_observer |
Arr_point_location_result | A unary metafunction to determine the return type of a point-location or vertical ray-shoot query
Arr_polycurve_traits_2 | Note: The `GeometryTraits_2` can comprise of Line_segments, Conic_arcs, Circular_arc, Bezier_curves or Linear_curves
Construct_curve_2 | Construction functor of a general (not necessarily \(x\)-monotone) polycurve
Construct_x_monotone_curve_2 | Construction functor of \(x\)-monotone polycurve
Curve_2 | The `Curve_2` type nested in the `Arr_polycurve_traits_2` represents general continuous piecewise-linear segments (a polycurve can be self-intersecting) and support their construction from range of segments
Make_x_monotone_2 | Subdivide the given segment into x-monotone sub-segments and insert them into the given output iterator
Number_of_points_2 | Function object which returns the number of segment end-points of a polycurve
Push_back_2 | Functor to augment a polycurve by either adding a vertex or a segment at the back
Push_front_2 | Functor to augment a polycurve by either adding a vertex or a segment at the front
Trim_2 |
X_monotone_curve_2 | The `X_monotone_curve_2` class nested within the polycurve traits is used to represent \( x\)-monotone piecewise linear segments
Arr_polyline_traits_2 | The traits class `Arr_polyline_traits_2` handles piecewise linear curves, commonly referred to as polylines
Construct_curve_2 | Construction functor of a general (not necessarily \(x\)-monotone) polyline
Construct_x_monotone_curve_2 | Construction functor of \(x\)-monotone polyline
Curve_2 | The `Curve_2` type nested in the `Arr_polyline_traits_2` represents general continuous piecewise-linear curves (a polyline can be self-intersecting) and support their construction from range of segments
Make_x_monotone_2 | Subdivide the given curve into x-monotone sub-curves and insert them into the given output iterator
Number_of_points_2 | Function object which returns the number of points of a polyline
Push_back_2 | Functor to augment a polyline by either adding a vertex or a segment at the back
Push_front_2 | Functor to augment a polyline by either adding a vertex or a segment at the front
Trim_2 |
X_monotone_curve_2 | The `X_monotone_curve_2` class nested within the polyline traits is used to represent \( x\)-monotone piecewise linear curves
Arr_rational_function_traits_2 | The traits class `Arr_rational_function_traits_2` is a model of the `ArrangementTraits_2` concept
Construct_curve_2 | Functor to construct a `Curve_2`
Construct_x_monotone_curve_2 | Functor to construct a `X_monotone_curve_2`
Curve_2 | The `Curve_2` class nested within the traits is used to represent rational functions which may be restricted to a certain x-range
Point_2 |
X_monotone_curve_2 | The `X_monotone_curve_2` class nested within the traits is used to represent \( x\)-monotone parts of rational functions
Arr_segment_traits_2 | The traits class `Arr_segment_traits_2` is a model of the `ArrangementTraits_2` concept, which allows the construction and maintenance of arrangements of line segments
Arr_oblivious_side_tag | The categories `Left_side_category`, `Right_side_category`, `Bottom_side_category`, and `Top_side_category`, nested in any model of the `ArrangementBasicTraits_2`, must be convertible to `Arr_oblivious_side_tag`
Arr_open_side_tag | All the four types `Left_side_category`, `Right_side_category`, `Bottom_side_category`, and `Top_side_category` nested in any model of the concept `ArrangementOpenBoundaryTraits` must be convertible to `Arr_open_side_tag`, which derives from `Arr_oblivious_side_tag`
Arr_trapezoid_ric_point_location |
Arr_vertex_index_map | `Arr_vertex_index_map` maintains a mapping of vertex handles of an attached arrangement object to indices (of type `unsigned int`)
Arr_walk_along_line_point_location |
Arrangement_2 |
Face | An object of the class `Face` represents an arrangement face, namely, a \( 2\)-dimensional arrangement cell
Halfedge | An object \( e\) of the class `Halfedge` represents a halfedge in the arrangement
Vertex | An object \( v\) of the class `Vertex` represents an arrangement vertex, that is - a \( 0\)-dimensional cell, associated with a point on the plane
Arrangement_with_history_2 |
Arr_extended_dcel_text_formatter | `Arr_extended_dcel_text_formatter` defines the format of an arrangement in an input or output stream (typically a file stream), thus enabling reading and writing an `Arrangement` instance using a simple text format
Arr_face_extended_text_formatter | `Arr_face_extended_text_formatter` defines the format of an arrangement in an input or output stream (typically a file stream), thus enabling reading and writing an `Arrangement` instance using a simple text format
Arr_text_formatter | `Arr_text_formatter` defines the format of an arrangement in an input or output stream (typically a file stream), thus enabling reading and writing an `Arrangement` instance using a simple text format
Arr_with_history_text_formatter | `Arr_with_history_text_formatter` defines the format of an arrangement in an input or output stream (typically a file stream), thus enabling reading and writing an arrangement-with-history instance using a simple text format
ArrangementApproximateTraits_2 | The concept `ArrangementApproximateTraits_2` refines the basic traits concept `ArrangementBasicTraits_2`. A model of this concept is able to approximate a point
ArrangementBasicTraits_2 | The concept `ArrangementBasicTraits_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
ArrangementConstructXMonotoneCurveTraits_2 | The concept `ArrangementConstructXMonotoneCurveTraits_2` refines the basic traits concept `ArrangementBasicTraits_2`. A model of this concept is able to construct an \( x\)-monotone curve from two points
ArrangementDcel | A doubly-connected edge-list (Dcel for short) data-structure. It consists of three containers of records: vertices \( V\), halfedges \( E\), and faces \( F\). It maintains the incidence relation among them. The halfedges are ordered in pairs sometimes referred to as twins, such that each halfedge pair represent an edge
ArrangementDcelFace | A face record in a Dcel data structure. A face may either be unbounded, otherwise it has an incident halfedge along the chain defining its outer boundary. A face may also contain holes and isolated vertices in its interior
ArrangementDcelHalfedge | A halfedge record in a Dcel data structure. Two halfedges with opposite directions always form an edge (a halfedge pair). The halfedges form together chains, defining the boundaries of connected components, such that all halfedges along a chain have the same incident face. Note that the chain the halfedge belongs to may form the outer boundary of a bounded face (an outer CCB) or the boundary of a hole inside a face (an inner CCB)
ArrangementDcelHole | A hole record in a Dcel data structure, which stores the face that contains the hole in its interior, along with an iterator for the hole in the holes' container of this face
ArrangementDcelIsolatedVertex | An isolated vertex-information record in a Dcel data structure, which stores the face that contains the isolated vertex in its interior, along with an iterator for the isolated vertex in the isolated vertices' container of this face
ArrangementDcelVertex | A vertex record in a Dcel data structure. A vertex is always associated with a point. However, the vertex record only stores a pointer to the associated point, and the actual `Point` object is stored elsewhere
ArrangementDcelWithRebind | The concept `ArrangementDcelWithRebind` refines the `ArrangementDcel` concept by adding a policy clone idiom in form of a rebind struct-template
ArrangementInputFormatter | A model for the `ArrangementInputFormatter` concept supports a set of functions that enable reading an arrangement from an input stream using a specific format
ArrangementLandmarkTraits_2 | The concept `ArrangementLandmarkTraits_2` refines the traits concepts `ArrangementApproximateTraits_2` and `ArrangementConstructXMonotoneCurveTraits_2`. The type of an arrangement associated with the landmark point-location strategy (see `CGAL::Arr_landmarks_point_location`) must be an instance of the `CGAL::Arrangement_2<Traits,Dcel>` class template, where the Traits parameter is substituted with a model of this concept
ArrangementOpenBoundaryTraits_2 | Several predicates are required to handle \( x\)-monotone curves that approach infinity and thus approach the boundary of the parameter space. These predicates are sufficient to handle not only curves embedded in an unbounded parameter space, but also curves embedded in a bounded parameter space with open boundaries. Models of the concept `ArrangementOpenBoundaryTraits_2` handle curves that approach the boundary of a parameter space. This concept refines the concept `ArrangementBasicTraits_2`. The arrangement template instantiated with a traits class that models this concept can handle \( x\)-monotone curves that are unbounded in any direction. The concept `ArrangementOpenBoundaryTraits_2`, nontheless, also supports planar \( x\)-monotone curves that reach the boundary of an open yet bounded parameter space
ArrangementOutputFormatter | A model for the `ArrangementOutputFormatter` concept supports a set of functions that enable writing an arrangement to an output stream using a specific format
ArrangementPointLocation_2 | A model of the `ArrangementPointLocation_2` concept can answer point-location queries on an arrangement attached to it. Namely, given a `Arrangement_2::Point_2` object, representing a point in the plane, it returns the arrangement cell containing it. In the general case, the query point is contained inside an arrangement face, but in degenerate situations it may lie on an edge or coincide with an arrangement vertex
ArrangementTraits_2 | The concept `ArrangementTraits_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
ArrangementVerticalRayShoot_2 | A model of the `ArrangementVerticalRayShoot_2` concept can answer vertical ray-shooting queries on an arrangement attached to it. Namely, given a `Arrangement_2::Point_2` object, representing a point in the plane, it returns the arrangement feature (edge or vertex) that lies strictly above it (or below it). By "strictly" we mean that if the query point lies on an arrangement edge (or on an arrangement vertex) this edge will not be the query result, but the feature lying above or below it. (An exception to this rule is the degenerate case where the query point lies in the interior of a vertical edge.) Note that it may happen that the query point lies above the upper envelope (or below the lower envelope) of the arrangement, and the vertical ray emanating from the query point goes to infinity without hitting any arrangement feature on its way. In this case the unbounded face is returned
ArrangementWithHistoryInputFormatter | A model for the `ArrangementWithHistoryInputFormatter` concept supports a set of functions that enable reading an arrangement-with-history instance from an input stream using a specific format
ArrangementWithHistoryOutputFormatter | A model for the `ArrangementWithHistoryOutputFormatter` concept supports a set of functions that enable writing an arrangement-with-history instance to an output stream using a specific format
ArrangementXMonotoneTraits_2 | The concept `ArrangementXMonotoneTraits_2` refines the basic arrangement-traits 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
ArrTrimTraits_2 |
OverlayTraits | A model for the `OverlayTraits` should be able to operate on records (namely, vertices, halfedges and faces) of two input Dcel classes, named `Dcel_A` and `Dcel_B`, and construct the records of an output Dcel class, referred to as `Dcel_R`