## CGAL::Nef_polyhedron_3<Traits>::Halffacet

### Definition

A halffacet is an oriented, rectilinear bounded part of a plane. The following figure depicts the incidences to halfedges, vertices and the notion of facet cycles.

Figure:

The member function twin returns the opposite halffacet, incident_volume returns the incident volume. A Halffacet cycle either consists of consecutive shalfedges along the border (or a hole) of the halffacet, or of a single shalfloop on the sphere map of a vertex isolated on the halffacet. The iterator range (halffacet_cycles_begin()/halffacet_cycles_end()) provides an entry element for each halffacet cycle of a halffacet.

#include <CGAL/Nef_polyhedron_3.h>

### Types

The following types are the same as in Nef_polyhedron_3<Traits>.

Nef_polyhedron_3<Traits>::Halffacet::Mark
| type of mark.
Nef_polyhedron_3<Traits>::Halffacet::Plane_3
| plane type stored in Halffacet.
Nef_polyhedron_3<Traits>::Halffacet::Object_list
| list of Object handles.
Nef_polyhedron_3<Traits>::Halffacet::Halffacet_const_handle
| const handle to Halffacet.
Nef_polyhedron_3<Traits>::Halffacet::Volume_const_handle
| const handle to volume.
Nef_polyhedron_3<Traits>::Halffacet::Halffacet_cycle_const_iterator
| const iterator over the entries to all halffacet cycles of a halffacet.

### Creation

There is no need for a user to create a Halffacet explicitly. The class Nef_polyhedron_3<Traits> manages the needed halffacets internally.

### Operations

Mark | f.mark () | the mark of f .
Plane_3 | f.plane () | the supporting plane of f .
Halffacet_const_handle
| f.twin () | the twin of f .
Volume_const_handle
| f.incident_volume ()
|  | the incident volume of f .
Halffacet_cycle_const_iterator
| f.facet_cycle_begin ()
|  | iterator over the entries to all halffacet cycles of f .
Halffacet_cycle_const_iterator
| f.facet_cycle_end ()
|  | past-the-end iterator.

### See Also

CGAL::Nef_polyhedron_3<Traits>::Volume
CGAL::Nef_polyhedron_3<Traits>::Halfedge
CGAL::Nef_polyhedron_3<Traits>::SHalfedge