CGAL::Polyhedron_3<Traits>::Facet

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 23.1 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 prev(), otherwise it is of the forward category.

#include <CGAL/Polyhedron_3.h>

Types

Polyhedron_3<Traits>::Facet::Vertex
type of incident vertices.

Polyhedron_3<Traits>::Facet::Halfedge
type of incident halfedges.

Polyhedron_3<Traits>::Facet::Plane_3
plane equation type stored in facets.


Polyhedron_3<Traits>::Facet::Vertex_handle
handle to vertex.

Polyhedron_3<Traits>::Facet::Halfedge_handle
handle to halfedge.

Polyhedron_3<Traits>::Facet::Facet_handle
handle to facet.

Polyhedron_3<Traits>::Facet::Halfedge_around_facet_circulator
circulator of halfedges around a facet.


Polyhedron_3<Traits>::Facet::Vertex_const_handle
Polyhedron_3<Traits>::Facet::Halfedge_const_handle
Polyhedron_3<Traits>::Facet::Facet_const_handle
Polyhedron_3<Traits>::Facet::Halfedge_around_facet_const_circulator

Polyhedron_3<Traits>::Facet::Supports_facet_halfedge
CGAL::Tag_true or CGAL::Tag_false.

Polyhedron_3<Traits>::Facet::Supports_facet_plane
CGAL::Tag_true or CGAL::Tag_false.

Creation

Polyhedron_3<Traits>::Facet f;
default constructor.

Operations available if Supports_facet_plane CGAL::Tag_true

Plane_3& f.plane ()
const Plane_3& f.plane () const plane equation.

Operations available if Supports_facet_halfedge CGAL::Tag_true

Halfedge_handle f.halfedge ()
Halfedge_const_handle f.halfedge () const an incident halfedge that points to f.

Halfedge_around_facet_circulator f.facet_begin ()

Halfedge_around_facet_const_circulator
f.facet_begin () const circulator of halfedges around the facet (counterclockwise).

void f.set_halfedge ( Halfedge_handle h)
sets incident halfedge to h.
Precondition: h is incident, i.e., h->facet() == f.

std::size_t f.facet_degree () const the degree of the facet, i.e., number of edges on the boundary of this facet.

bool f.is_triangle () const returns true if the facet is a triangle.

bool f.is_quad () const returns true if the facet is a quadrilateral.

See Also

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