\( \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
CGAL::Arrangement_2< Traits, Dcel >::Face Class Reference
DCEL

`#include <CGAL/Arrangement_2.h>`

## Inherits from

Face.

## Definition

An object of the class `Face` represents an arrangement face, namely, a \( 2\)-dimensional arrangement cell.

An arrangement that supports only bounded curves contains exactly one unbounded face, and a number of bounded faces. An arrangement that supports also unbounded curves has one or more unbounded faces. Such an arrangement has also exactly one fictitious face, which does not correspond to a real two-dimensional cell of the arrangement (and thus it is ignored in counting the number of faces of the arrangement.) Each bounded face has an outer boundary comprising a halfedge chain winding in counterclockwise orientation around it. Each unbounded face of an arrangement that has a fictitious face also has a boundary comprising a counterclockwise halfedge-chain. The edges on the boundary of a face incident to the fictitious face are fictitious, as they do not correspond to real curves. A face may also contain holes, which are defined by clockwise-oriented halfedge chains, and isolated vertices.

## Creation
| Face ()
| default constructor.

## Access Functions
All non-const methods listed below also have `const` counterparts that return constant handles, iterators or circulators:
bool | is_fictitious () const
| returns a Boolean indicating whether this is the fictitious face, which contain the entire arrangement (and does not have an outer CCB). More...
bool | is_unbounded () const
| returns a Boolean indicating whether the face is unbounded.
bool | has_outer_ccb () const
| returns a Boolean indicating whether the face has an outer CCB. More...
Ccb_halfedge_circulator | outer_ccb ()
| returns a circulator that enables traversing the outer boundary of `f`. More...
Hole_iterator | holes_begin ()
| returns an iterator for traversing all the holes (inner CCBs) of `f`.
Hole_iterator | holes_end ()
| returns a past-the-end iterator for the holes of `f`.
Isolated_vertex_iterator | isolated_vertices_begin ()
| returns an iterator for traversing all the isolated vertices contained in the interior of `f`.
Isolated_vertex_iterator | isolated_vertices_end ()
| returns a past-the-end iterator for the isolated vertices contained inside `f`.

## Member Function Documentation

template<typename Traits , typename Dcel >

bool CGAL::Arrangement_2< Traits, Dcel >::Face::has_outer_ccb | ( | ) |  | const

returns a Boolean indicating whether the face has an outer CCB.

(The fictitious face and the unbounded face of an arrangement that does not have a fictitious face do not have outer CCBs.)

template<typename Traits , typename Dcel >

bool CGAL::Arrangement_2< Traits, Dcel >::Face::is_fictitious | ( | ) |  | const

returns a Boolean indicating whether this is the fictitious face, which contain the entire arrangement (and does not have an outer CCB).

An arrangement that supports only bounded curves does not have a fictitious face at all.

template<typename Traits , typename Dcel >

Ccb_halfedge_circulator CGAL::Arrangement_2< Traits, Dcel >::Face::outer_ccb | ( | ) |  |

returns a circulator that enables traversing the outer boundary of `f`.

The edges along the CCB are traversed in a counterclockwise direction.

Precondition
  The face `f` has an outer CCB.