CGAL 6.0.1 - 2D Arrangements
|
#include <CGAL/Arrangement_2.h>
CGAL::Arrangement_on_surface_2< Traits, Default_planar_topology< Traits, Dcel >::Traits >.
An object arr
of the class Arrangement_2
represents the planar subdivision induced by a set of \( x\)-monotone curves and isolated points into maximally connected cells. The arrangement is represented as a doubly-connected edge-list (DCEL) such that each DCEL vertex is associated with a point of the plane and each edge is associated with an \(
x\)-monotone curve whose interior is disjoint from all other edges and vertices. Recall that an arrangement edge is always comprised of a pair of twin Dcel halfedges.
The Arrangement_2
template has two parameters:
Traits
template-parameter should be instantiated with a model of the ArrangementBasicTraits_2
concept. The traits class defines the types of \( x\)-monotone curves and two-dimensional points, namely ArrangementBasicTraits_2::X_monotone_curve_2
and ArrangementBasicTraits_2::Point_2
, respectively, and supports basic geometric predicates on them. Dcel
template-parameter should be instantiated with a class that is a model of the ArrangementDcel
concept. The value of this parameter is by default Arr_default_dcel<Traits>
. The available traits classes and DCEL classes are described below.
ArrangementDcel
Arr_default_dcel<Traits>
ArrangementBasicTraits_2
CGAL::overlay()
CGAL::is_valid()
Insertion Functions
CGAL::insert()
CGAL::insert_non_intersecting_curve()
CGAL::insert_non_intersecting_curves()
CGAL::insert_point()
Removal functions
Input/output functions
CGAL::IO::read()
CGAL::IO::write()
Types | |
typedef Traits | Geometry_traits |
the geometry traits class. | |
typedef Default_planar_topology< Geometry_traits, Dcel >::Traits | Topology_traits |
The topology traits. | |
typedef Arrangement_on_surface_2< Geometry_traits, Topology_traits > | Base |
The base arrangement on surface type. | |
Types inherited from the base Arrangement_on_surface_2 | |
typedef Base::Point_2 | Point_2 |
typedef Base::X_monotone_curve_2 | X_monotone_curve_2 |
typedef Base::Curve_2 | Curve_2 |
typedef Base::Size | Size |
typedef Base::Vertex | Vertex |
typedef Base::Halfedge | Halfedge |
typedef Base::Face | Face |
typedef Base::Vertex_handle | Vertex_handle |
typedef Base::Halfedge_handle | Halfedge_handle |
typedef Base::Face_handle | Face_handle |
typedef Base::Vertex_iterator | Vertex_iterator |
typedef Base::Halfedge_iterator | Halfedge_iterator |
typedef Base::Edge_iterator | Edge_iterator |
typedef Base::Face_iterator | Face_iterator |
typedef Base::Unbounded_face_iterator | Unbounded_face_iterator |
typedef Base::Halfedge_around_vertex_circulator | Halfedge_around_vertex_circulator |
typedef Base::Ccb_halfedge_circulator | Ccb_halfedge_circulator |
typedef Base::Hole_iterator | Hole_iterator |
typedef Base::Isolated_vertex_iterator | Isolated_vertex_iterator |
typedef Base::Vertex_handle | Vertex_const_handle |
typedef Base::Halfedge_handle | Halfedge_const_handle |
typedef Base::Face_handle | Face_const_handle |
typedef Base::Vertex_iterator | Vertex_const_iterator |
typedef Base::Halfedge_iterator | Halfedge_const_iterator |
typedef Base::Edge_iterator | Edge_const_iterator |
typedef Base::Face_iterator | Face_const_iterator |
typedef Base::Unbounded_face_iterator | Unbounded_face_const_iterator |
typedef Base::Halfedge_around_vertex_circulator | Halfedge_around_const_vertex_circulator |
typedef Base::Ccb_halfedge_circulator | Ccb_halfedge_const_circulator |
typedef Base::Hole_iterator | Hole_const_iterator |
typedef Base::Isolated_vertex_iterator | Isolated_vertex_const_iterator |
Creation | |
Arrangement_2 () | |
constructs an empty arrangement containing one unbounded face, which corresponds to the entire plane. | |
Arrangement_2 (const Arrangement_2< Traits, Dcel > &other) | |
copy constructor. | |
Arrangement_2 (const Traits *traits) | |
constructs an empty arrangement that uses the given traits instance for performing the geometric predicates. | |
Assignment Methods | |
Arrangement_2< Traits, Dcel > & | operator= (other) |
assignment operator. | |
void | assign (const Arrangement_2< Traits, Dcel > &other) |
assigns the contents of another arrangement. | |
void | clear () |
clears the arrangement. | |
Access Functions | |
Traits * | traits () |
obtains the traits object used by the arrangement instance. | |
Traits * CGAL::Arrangement_2< Traits, Dcel >::traits | ( | ) |
obtains the traits object used by the arrangement instance.
A const
version is also available.