\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - 2D Arrangements

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
ArrangementDcelFace Concept Reference
DCEL Concepts

## Definition

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.

See Also
  `ArrangementDcel`
  `ArrangementDcelVertex`
  `ArrangementDcelHalfedge`

## Types
The non-mutable iterators `Hole_const_iterator`, and `Isolated_vertex_const_iterator` are also defined.
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 `const` counterparts, returning non-mutable pointers or iterators:
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`.

## Member Typedef Documentation

typedef unspecified_type ArrangementDcelFace::Hole_iterator

a bidirectional iterator over the holes in inside the face.

Its value-type is `Halfedge*`.

typedef unspecified_type ArrangementDcelFace::Isolated_vertex_iterator

a bidirectional iterator over the isolated vertices in inside the face.

Its value-type is `Vertex*`.

## Member Function Documentation

Halfedge* ArrangementDcelFace::halfedge | ( | ) |  |

returns an incident halfedge along the outer boundary of the face.

If `f` has no outer boundary, the function returns `NULL`.