\( \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.12.1 - 3D Boolean Operations on Nef Polyhedra
CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet Class 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.

snc.png

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 Markmark () const
 the mark of f .
 
const Plane_3plane () 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.