\( \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 - 3D Boolean Operations on Nef Polyhedra

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet Class Reference
3D Boolean Operations on Nef Polyhedra Reference

`#include <CGAL/Nef_polyhedron_3.h>`

## Definition

### template<class Nef_polyhedronTraits_3, class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
class CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet

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.

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.

Creation

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

See Also
  `CGAL::Nef_polyhedron_3::Volume`
  `CGAL::Nef_polyhedron_3::Halfedge`
  `CGAL::Nef_polyhedron_3::SHalfedge`

## Types
The following types are the same as in `Nef_polyhedron_3<Traits>`.
typedef unspecified_type | Mark
| type of mark.
typedef unspecified_type | Plane_3
| plane type stored in Halffacet.
typedef unspecified_type | Object_list
| list of Object handles.
typedef unspecified_type | Halffacet_const_handle
| const handle to Halffacet.
typedef unspecified_type | Volume_const_handle
| const handle to volume.
typedef unspecified_type | Halffacet_cycle_const_iterator
| const iterator over the entries to all halffacet cycles of a halffacet.

## Operations
const Mark & | mark () const
| the mark of `f` .
const Plane_3 & | plane () const
| the supporting plane of `f` .
Halffacet_const_handle | twin () const
| the twin of `f` .
Volume_const_handle | incident_volume () const
| the incident volume of `f` .
Halffacet_cycle_const_iterator | facet_cycles_begin () const
| iterator over the entries to all halffacet cycles of `f` .
Halffacet_cycle_const_iterator | facet_cycles_end () const
| past-the-end iterator.