\( \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.4 - 3D Polyhedral Surface
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Polyhedron_3< Traits >::Facet Class Reference

#include <CGAL/Polyhedron_3.h>

Definition

A facet optionally stores a plane equation, and a reference to an incident halfedge that points to the facet.

Type tags indicate whether these member functions are supported. Figure figurePolyOptionalMethods depicts the relationship between a halfedge and its incident halfedges, vertices, and facets. The circulator is assignable to the Halfedge_handle. The circulator is bidirectional if the halfedge provided to the polyhedron with the Items template argument provides a member function Halfedge::prev(), otherwise it is of the forward category.

See Also
CGAL::Polyhedron_3::Vertex
CGAL::Polyhedron_3::Halfedge
CGAL::Polyhedron_3<Traits>

Types

typedef unspecified_type Vertex
 type of incident vertices.
 
typedef unspecified_type Halfedge
 type of incident halfedges.
 
typedef unspecified_type Plane_3
 plane equation type stored in facets.
 
typedef unspecified_type Vertex_handle
 handle to vertex.
 
typedef unspecified_type Halfedge_handle
 handle to halfedge.
 
typedef unspecified_type Facet_handle
 handle to facet.
 
typedef unspecified_type Halfedge_around_facet_circulator
 circulator of halfedges around a facet.
 
typedef unspecified_type Vertex_const_handle
 
typedef unspecified_type Halfedge_const_handle
 
typedef unspecified_type Facet_const_handle
 
typedef unspecified_type Halfedge_around_facet_const_circulator
 
typedef unspecified_type Supports_facet_halfedge
 \( \equiv\) CGAL::Tag_true or CGAL::Tag_false.
 
typedef unspecified_type Supports_facet_plane
 \( \equiv\) CGAL::Tag_true or CGAL::Tag_false.
 

Creation

 Facet ()
 default constructor.
 

Operations available if Supports_facet_plane is CGAL::Tag_true

Plane_3plane ()
 
const Plane_3plane () const
 plane equation.
 

Operations available if Supports_facet_halfedge is CGAL::Tag_true

Halfedge_handle halfedge ()
 
Halfedge_const_handle halfedge () const
 an incident halfedge that points to the facet.
 
Halfedge_around_facet_circulator facet_begin ()
 
Halfedge_around_facet_const_circulator facet_begin () const
 circulator of halfedges around the facet (counterclockwise).
 
void set_halfedge (Halfedge_handle h)
 sets incident halfedge to h. More...
 
std::size_t facet_degree () const
 the degree of the facet, i.e., number of edges on the boundary of this facet.
 
bool is_triangle () const
 returns true if the facet is a triangle.
 
bool is_quad () const
 returns true if the facet is a quadrilateral.
 

Member Function Documentation

template<typename Traits >
void CGAL::Polyhedron_3< Traits >::Facet::set_halfedge ( Halfedge_handle  h)

sets incident halfedge to h.

Precondition
h is incident, i.e., h->facet() == *this.