CGAL 4.11 - 2D Arrangements
|
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.
Types | |
The non-mutable iterators | |
typedef unspecified_type | Vertex |
the corresponding Dcel vertex type. | |
typedef unspecified_type | Halfedge |
the corresponding Dcel halfedge type. | |
typedef unspecified_type | Hole_iterator |
a bidirectional iterator over the holes in inside the face. More... | |
typedef unspecified_type | Isolated_vertex_iterator |
a bidirectional iterator over the isolated vertices in inside the face. More... | |
Creation | |
Arr_dcel_face () | |
default constructor. | |
void | assign (const Self &other) |
assigns f with the contents of the other face. | |
Access Functions | |
All functions below also have | |
bool | is_unbounded () const |
returns whether the face is unbounded. | |
Halfedge * | halfedge () |
returns an incident halfedge along the outer boundary of the face. More... | |
size_t | number_of_holes () const |
returns the number of holes inside f . | |
Hole_iterator | holes_begin () |
returns a begin-iterator for the holes inside f . | |
Hole_iterator | holes_end () |
returns a past-the-end iterator for the holes inside f . | |
size_t | number_of_isolated_vertices () const |
returns the number of isolated vertices inside f . | |
Isolated_vertex_iterator | isolated_vertices_begin () |
returns a begin-iterator for the isolated vertices inside f . | |
Isolated_vertex_iterator | isolated_vertices_end () |
returns a past-the-end iterator for the isolated vertices inside f . | |
Modifiers | |
void | set_unbounded (bool flag) |
sets the face as unbounded (if flag is true ), or as a bounded face (if it is false ). | |
void | set_halfedge (Halfedge *e) |
sets the incident halfedge. | |
void | add_hole (Halfedge *e) |
adds e as a hole inside f . | |
void | erase_hole (Hole_iterator it) |
removes the hole that it points to from inside f . | |
void | add_isolated_vertex (Vertex *v) |
adds v as an isolated vertex inside f . | |
void | erase_isolated_vertex (Isolated_vertex_iterator it) |
removes the isolated vertex that it points to from inside f . | |
a bidirectional iterator over the holes in inside the face.
Its value-type is Halfedge*
.
a bidirectional iterator over the isolated vertices in inside the face.
Its value-type is Vertex*
.
Halfedge* ArrangementDcelFace::halfedge | ( | ) |
returns an incident halfedge along the outer boundary of the face.
If f
has no outer boundary, the function returns NULL
.