CGAL 5.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.

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. More...
 
typedef unspecified_type Plane_3
 plane type stored in Halffacet. More...
 
typedef unspecified_type Object_list
 list of Object handles. More...
 
typedef unspecified_type Halffacet_const_handle
 const handle to Halffacet. More...
 
typedef unspecified_type Volume_const_handle
 const handle to volume. More...
 
typedef unspecified_type Halffacet_cycle_const_iterator
 const iterator over the entries to all halffacet cycles of a halffacet. More...
 

Operations

const Markmark () const
 the mark of f . More...
 
const Plane_3plane () const
 the supporting plane of f . More...
 
Halffacet_const_handle twin () const
 the twin of f . More...
 
Volume_const_handle incident_volume () const
 the incident volume of f . More...
 
Halffacet_cycle_const_iterator facet_cycles_begin () const
 iterator over the entries to all halffacet cycles of f . More...
 
Halffacet_cycle_const_iterator facet_cycles_end () const
 past-the-end iterator. More...
 

Member Typedef Documentation

◆ Halffacet_const_handle

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::Halffacet_const_handle

const handle to Halffacet.

◆ Halffacet_cycle_const_iterator

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::Halffacet_cycle_const_iterator

const iterator over the entries to all halffacet cycles of a halffacet.

◆ Mark

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::Mark

type of mark.

◆ Object_list

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::Object_list

list of Object handles.

◆ Plane_3

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::Plane_3

plane type stored in Halffacet.

◆ Volume_const_handle

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
typedef unspecified_type CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::Volume_const_handle

const handle to volume.

Member Function Documentation

◆ facet_cycles_begin()

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
Halffacet_cycle_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::facet_cycles_begin ( ) const

iterator over the entries to all halffacet cycles of f .

◆ facet_cycles_end()

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
Halffacet_cycle_const_iterator CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::facet_cycles_end ( ) const

past-the-end iterator.

◆ incident_volume()

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
Volume_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::incident_volume ( ) const

the incident volume of f .

◆ mark()

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
const Mark& CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::mark ( ) const

the mark of f .

◆ plane()

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
const Plane_3& CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::plane ( ) const

the supporting plane of f .

◆ twin()

template<class Nef_polyhedronTraits_3 , class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3> class Nef_polyhedronMarks = bool>
Halffacet_const_handle CGAL::Nef_polyhedron_3< Nef_polyhedronTraits_3, Nef_polyhedronItems_3 >::Halffacet::twin ( ) const

the twin of f .