CGAL 5.1 - 2D Arrangements
|
#include <Concepts/ArrangementDcel.h>
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.
A model of the ArrangementDcel
concept must provide the following types and operations. (In addition to the requirements here, the local types Vertex
,Halfedge
, Face
Hole
and Isolated_vertex
must be models of the concepts ArrangementDcelVertex
, ArrangementDcelHalfedge
, ArrangementDcelFace
, ArrangementDcelHole
, and ArrangementDcelIsolatedVertex
respectively.)
CGAL::Arr_dcel_base<V,H,F>
CGAL::Arr_default_dcel<Traits>
CGAL::Arr_face_extended_dcel<Traits,FData,V,H,F>
CGAL::Arr_extended_dcel<Traits,VData,HData,FData,V,H,F>
Types | |
typedef unspecified_type | Vertex |
the vertex type. More... | |
typedef unspecified_type | Halfedge |
the halfedge type. More... | |
typedef unspecified_type | Face |
the face type. More... | |
typedef unspecified_type | Hole |
the hole type. More... | |
typedef unspecified_type | Isolated_vertex |
the isolated vertex type. More... | |
typedef unspecified_type | Size |
used to represent size values (e.g., size_t ). More... | |
typedef unspecified_type | Vertex_iterator |
a bidirectional iterator over the vertices. More... | |
typedef unspecified_type | Vertex_const_iterator |
a bidirectional iterator over the vertices. More... | |
typedef unspecified_type | Halfedge_iterator |
a bidirectional iterator over the halfedges. More... | |
typedef unspecified_type | Halfedge_const_iterator |
a bidirectional iterator over the halfedges. More... | |
typedef unspecified_type | Face_iterator |
a bidirectional iterator over the faces. More... | |
typedef unspecified_type | Face_const_iterator |
a bidirectional iterator over the faces. More... | |
Creation | |
Arr_dcel () | |
constructs an empty Dcel with one unbounded face. More... | |
Face * | assign (const Self &other, const Face *uf) |
assigns the contents of the other Dcel whose unbounded face is given by uf , to dcel . More... | |
Access Functions | |
Size | size_of_vertices () const |
returns the number of vertices. More... | |
Size | size_of_halfedges () const |
returns the number of halfedges (always even). More... | |
Size | size_of_faces () const |
returns the number of faces. More... | |
Size | size_of_holes () const |
returns the number of holes (the number of connected components). More... | |
Size | size_of_isolated_vertices () const |
returns the number of isolated vertices. More... | |
Vertex_iterator | vertices_begin () |
returns a begin-iterator of the vertices in dcel . More... | |
Vertex_iterator | vertices_end () |
returns a past-the-end iterator of the vertices in dcel . More... | |
unspecified_type | vertex_handles () |
returns a range over handles of the vertices in dcel . More... | |
Vertex_const_iterator | vertices_begin () const |
returns a begin-iterator of the vertices in dcel . More... | |
Vertex_const_iterator | vertices_end () const |
returns a past-the-end iterator of the vertices in dcel . More... | |
unspecified_type | vertex_handles () const |
returns a const range (model of ConstRange ) over handles of the vertices in dcel . More... | |
Halfedge_iterator | halfedges_begin () |
returns a begin-iterator of the halfedges in dcel . More... | |
Halfedge_iterator | halfedges_end () |
returns a past-the-end iterator of the halfedges in dcel . More... | |
unspecified_type | halfedge_handles () |
returns a range over handles of the halfedges in dcel . More... | |
Halfedge_const_iterator | halfedges_begin () const |
returns a begin-iterator of the halfedges in dcel . More... | |
Halfedge_const_iterator | halfedges_end () const |
returns a past-the-end iterator of the halfedges in dcel . More... | |
unspecified_type | halfedge_handles () const |
returns a const range (model of ConstRange ) over handles of the halfedges in dcel . More... | |
Face_iterator | faces_begin () |
returns a begin-iterator of the faces in dcel . More... | |
Face_iterator | faces_end () |
returns a past-the-end iterator of the faces in dcel . More... | |
unspecified_type | face_handles () |
returns a range over handles of the faces in dcel . More... | |
Face_const_iterator | faces_begin () const |
returns a begin-iterator of the faces in dcel . More... | |
Face_const_iterator | faces_end () const |
returns a past-the-end iterator of the faces in dcel . More... | |
unspecified_type | face_handles () const |
returns a const range (model of ConstRange ) over handles of the faces in dcel . More... | |
Modifiers | |
The following operations allocate a new element of the respective type. Halfedges are always allocated in pairs of opposite halfedges. The halfedges and their opposite pointers are automatically set. | |
Vertex * | new_vertex () |
creates a new vertex. More... | |
Halfedge * | new_edge () |
creates a new pair of twin halfedges. More... | |
Face * | new_face () |
creates a new face. More... | |
Hole * | new_hole () |
creates a new hole record. More... | |
Isolated_vertex * | new_isolated_vertex () |
creates a new isolated vertex record. More... | |
void | delete_vertex (Vertex *v) |
deletes the vertex v . More... | |
void | delete_edge (Halfedge *e) |
deletes the halfedge e as well as its twin. More... | |
void | delete_face (Face *f) |
deletes the face f . More... | |
void | delete_hole (Hole *ho) |
deletes the hole ho . More... | |
void | delete_isolated_vertex (Isolated_vertex *iv) |
deletes the isolated vertex iv . More... | |
typedef unspecified_type ArrangementDcel::Face |
the face type.
typedef unspecified_type ArrangementDcel::Face_const_iterator |
a bidirectional iterator over the faces.
Its value-type is Face
.
typedef unspecified_type ArrangementDcel::Face_iterator |
a bidirectional iterator over the faces.
Its value-type is Face
.
typedef unspecified_type ArrangementDcel::Halfedge |
the halfedge type.
typedef unspecified_type ArrangementDcel::Halfedge_const_iterator |
a bidirectional iterator over the halfedges.
Its value-type is Halfedge
.
typedef unspecified_type ArrangementDcel::Halfedge_iterator |
a bidirectional iterator over the halfedges.
Its value-type is Halfedge
.
typedef unspecified_type ArrangementDcel::Hole |
the hole type.
typedef unspecified_type ArrangementDcel::Isolated_vertex |
the isolated vertex type.
typedef unspecified_type ArrangementDcel::Size |
used to represent size values (e.g., size_t
).
typedef unspecified_type ArrangementDcel::Vertex |
the vertex type.
typedef unspecified_type ArrangementDcel::Vertex_const_iterator |
a bidirectional iterator over the vertices.
Its value-type is Vertex
.
typedef unspecified_type ArrangementDcel::Vertex_iterator |
a bidirectional iterator over the vertices.
Its value-type is Vertex
.
ArrangementDcel::Arr_dcel | ( | ) |
constructs an empty Dcel with one unbounded face.
assigns the contents of the other
Dcel whose unbounded face is given by uf
, to dcel
.
The function returns a pointer to the unbounded face of dcel
after the assignment.
void ArrangementDcel::delete_edge | ( | Halfedge * | e | ) |
deletes the halfedge e
as well as its twin.
void ArrangementDcel::delete_face | ( | Face * | f | ) |
deletes the face f
.
void ArrangementDcel::delete_hole | ( | Hole * | ho | ) |
deletes the hole ho
.
void ArrangementDcel::delete_isolated_vertex | ( | Isolated_vertex * | iv | ) |
deletes the isolated vertex iv
.
void ArrangementDcel::delete_vertex | ( | Vertex * | v | ) |
deletes the vertex v
.
unspecified_type ArrangementDcel::face_handles | ( | ) |
returns a range over handles of the faces in dcel
.
unspecified_type ArrangementDcel::face_handles | ( | ) | const |
returns a const range (model of ConstRange
) over handles of the faces in dcel
.
Face_iterator ArrangementDcel::faces_begin | ( | ) |
returns a begin-iterator of the faces in dcel
.
Face_const_iterator ArrangementDcel::faces_begin | ( | ) | const |
returns a begin-iterator of the faces in dcel
.
Face_iterator ArrangementDcel::faces_end | ( | ) |
returns a past-the-end iterator of the faces in dcel
.
Face_const_iterator ArrangementDcel::faces_end | ( | ) | const |
returns a past-the-end iterator of the faces in dcel
.
unspecified_type ArrangementDcel::halfedge_handles | ( | ) |
returns a range over handles of the halfedges in dcel
.
unspecified_type ArrangementDcel::halfedge_handles | ( | ) | const |
returns a const range (model of ConstRange
) over handles of the halfedges in dcel
.
Halfedge_iterator ArrangementDcel::halfedges_begin | ( | ) |
returns a begin-iterator of the halfedges in dcel
.
Halfedge_const_iterator ArrangementDcel::halfedges_begin | ( | ) | const |
returns a begin-iterator of the halfedges in dcel
.
Halfedge_iterator ArrangementDcel::halfedges_end | ( | ) |
returns a past-the-end iterator of the halfedges in dcel
.
Halfedge_const_iterator ArrangementDcel::halfedges_end | ( | ) | const |
returns a past-the-end iterator of the halfedges in dcel
.
Halfedge* ArrangementDcel::new_edge | ( | ) |
creates a new pair of twin halfedges.
Face* ArrangementDcel::new_face | ( | ) |
creates a new face.
Hole* ArrangementDcel::new_hole | ( | ) |
creates a new hole record.
Isolated_vertex* ArrangementDcel::new_isolated_vertex | ( | ) |
creates a new isolated vertex record.
Vertex* ArrangementDcel::new_vertex | ( | ) |
creates a new vertex.
Size ArrangementDcel::size_of_faces | ( | ) | const |
returns the number of faces.
Size ArrangementDcel::size_of_halfedges | ( | ) | const |
returns the number of halfedges (always even).
Size ArrangementDcel::size_of_holes | ( | ) | const |
returns the number of holes (the number of connected components).
Size ArrangementDcel::size_of_isolated_vertices | ( | ) | const |
returns the number of isolated vertices.
Size ArrangementDcel::size_of_vertices | ( | ) | const |
returns the number of vertices.
unspecified_type ArrangementDcel::vertex_handles | ( | ) |
returns a range over handles of the vertices in dcel
.
unspecified_type ArrangementDcel::vertex_handles | ( | ) | const |
returns a const range (model of ConstRange
) over handles of the vertices in dcel
.
Vertex_iterator ArrangementDcel::vertices_begin | ( | ) |
returns a begin-iterator of the vertices in dcel
.
Vertex_const_iterator ArrangementDcel::vertices_begin | ( | ) | const |
returns a begin-iterator of the vertices in dcel
.
Vertex_iterator ArrangementDcel::vertices_end | ( | ) |
returns a past-the-end iterator of the vertices in dcel
.
Vertex_const_iterator ArrangementDcel::vertices_end | ( | ) | const |
returns a past-the-end iterator of the vertices in dcel
.