CGAL::Arrangement_2<Traits,Dcel>::Face

Definition

An object of the class Arrangement_2<Traits,Dcel>::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.

Inherits From

typename Dcel::Face

Creation

Arrangement_2<Traits,Dcel>::Face f;

default constructor.

Access Functions

All non-const methods listed below also have const counterparts
that return constant handles, iterators or circulators:

bool

f.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.

bool

f.is_unbounded () const

returns a Boolean indicating whether the face is unbounded.

bool

f.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.)

Ccb_halfedge_circulator

f.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.

Hole_iterator

f.holes_begin ()

returns an iterator for traversing all the holes (inner CCBs) of
f.

Hole_iterator

f.holes_end ()

returns a past-the-end iterator for the holes of f.

Isolated_vertex_iterator

f.isolated_vertices_begin ()

returns an iterator for traversing all the isolated vertices
contained in the interior of f.