|
CGAL 6.0 - 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.