CGAL 6.1 - 2D Arrangements
|
#include <CGAL/Arrangement_2.h>
Inherits 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 AosBasicTraits_2
concept. The traits class defines the types of \(x\)-monotone curves and two-dimensional points, namely AosBasicTraits_2::X_monotone_curve_2
and AosBasicTraits_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 AosDcel
concept. The value of this parameter is by default Arr_default_dcel<Traits>
. The available traits classes and DCEL classes are described below.
AosDcel
Arr_default_dcel<Traits>
AosBasicTraits_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. | |
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. | |
typedef Arrangement_on_surface_2<Geometry_traits, Topology_traits> CGAL::Arrangement_2< Traits, Dcel >::Base |
The base arrangement on surface type.
typedef Base::Ccb_halfedge_circulator CGAL::Arrangement_2< Traits, Dcel >::Ccb_halfedge_circulator |
typedef Base::Ccb_halfedge_circulator CGAL::Arrangement_2< Traits, Dcel >::Ccb_halfedge_const_circulator |
typedef Base::Curve_2 CGAL::Arrangement_2< Traits, Dcel >::Curve_2 |
typedef Base::Edge_iterator CGAL::Arrangement_2< Traits, Dcel >::Edge_const_iterator |
typedef Base::Edge_iterator CGAL::Arrangement_2< Traits, Dcel >::Edge_iterator |
typedef Base::Face CGAL::Arrangement_2< Traits, Dcel >::Face |
typedef Base::Face_handle CGAL::Arrangement_2< Traits, Dcel >::Face_const_handle |
typedef Base::Face_iterator CGAL::Arrangement_2< Traits, Dcel >::Face_const_iterator |
typedef Base::Face_handle CGAL::Arrangement_2< Traits, Dcel >::Face_handle |
typedef Base::Face_iterator CGAL::Arrangement_2< Traits, Dcel >::Face_iterator |
typedef Traits CGAL::Arrangement_2< Traits, Dcel >::Geometry_traits |
the geometry traits class.
typedef Base::Halfedge CGAL::Arrangement_2< Traits, Dcel >::Halfedge |
typedef Base::Halfedge_around_vertex_circulator CGAL::Arrangement_2< Traits, Dcel >::Halfedge_around_const_vertex_circulator |
typedef Base::Halfedge_around_vertex_circulator CGAL::Arrangement_2< Traits, Dcel >::Halfedge_around_vertex_circulator |
typedef Base::Halfedge_handle CGAL::Arrangement_2< Traits, Dcel >::Halfedge_const_handle |
typedef Base::Halfedge_iterator CGAL::Arrangement_2< Traits, Dcel >::Halfedge_const_iterator |
typedef Base::Halfedge_handle CGAL::Arrangement_2< Traits, Dcel >::Halfedge_handle |
typedef Base::Halfedge_iterator CGAL::Arrangement_2< Traits, Dcel >::Halfedge_iterator |
typedef Base::Hole_iterator CGAL::Arrangement_2< Traits, Dcel >::Hole_const_iterator |
typedef Base::Hole_iterator CGAL::Arrangement_2< Traits, Dcel >::Hole_iterator |
typedef Base::Isolated_vertex_iterator CGAL::Arrangement_2< Traits, Dcel >::Isolated_vertex_const_iterator |
typedef Base::Isolated_vertex_iterator CGAL::Arrangement_2< Traits, Dcel >::Isolated_vertex_iterator |
typedef Base::Point_2 CGAL::Arrangement_2< Traits, Dcel >::Point_2 |
typedef Base::Size CGAL::Arrangement_2< Traits, Dcel >::Size |
typedef Default_planar_topology<Geometry_traits,Dcel>::Traits CGAL::Arrangement_2< Traits, Dcel >::Topology_traits |
The topology traits.
typedef Base::Unbounded_face_iterator CGAL::Arrangement_2< Traits, Dcel >::Unbounded_face_const_iterator |
typedef Base::Unbounded_face_iterator CGAL::Arrangement_2< Traits, Dcel >::Unbounded_face_iterator |
typedef Base::Vertex CGAL::Arrangement_2< Traits, Dcel >::Vertex |
typedef Base::Vertex_handle CGAL::Arrangement_2< Traits, Dcel >::Vertex_const_handle |
typedef Base::Vertex_iterator CGAL::Arrangement_2< Traits, Dcel >::Vertex_const_iterator |
typedef Base::Vertex_handle CGAL::Arrangement_2< Traits, Dcel >::Vertex_handle |
typedef Base::Vertex_iterator CGAL::Arrangement_2< Traits, Dcel >::Vertex_iterator |
typedef Base::X_monotone_curve_2 CGAL::Arrangement_2< Traits, Dcel >::X_monotone_curve_2 |
CGAL::Arrangement_2< Traits, Dcel >::Arrangement_2 | ( | ) |
constructs an empty arrangement containing one unbounded face, which corresponds to the entire plane.
CGAL::Arrangement_2< Traits, Dcel >::Arrangement_2 | ( | const Arrangement_2< Traits, Dcel > & | other | ) |
copy constructor.
CGAL::Arrangement_2< Traits, Dcel >::Arrangement_2 | ( | const Traits * | traits | ) |
constructs an empty arrangement that uses the given traits
instance for performing the geometric predicates.
void CGAL::Arrangement_2< Traits, Dcel >::assign | ( | const Arrangement_2< Traits, Dcel > & | other | ) |
assigns the contents of another arrangement.
void CGAL::Arrangement_2< Traits, Dcel >::clear | ( | ) |
clears the arrangement.
Arrangement_2< Traits, Dcel > & CGAL::Arrangement_2< Traits, Dcel >::operator= | ( | other | ) |
assignment operator.
Traits * CGAL::Arrangement_2< Traits, Dcel >::traits | ( | ) |
obtains the traits object used by the arrangement instance.
A const
version is also available.