CGAL 6.1.2 - 3D Polyhedral Surface: CGAL::Polyhedron_3< Traits >::Facet Class Reference

CGAL 6.1.2 - 3D Polyhedral Surface

Loading...
Searching...
No Matches
List of all members
CGAL::Polyhedron_3< Traits >::Facet Class Reference
Reference Manual

`#include <CGAL/Polyhedron_3.h>`

## Definition

template<typename Traits>
class CGAL::Polyhedron_3< Traits >::Facet

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. Note that the plane equation is not automatically computed nor maintained and should handled by the user (see Polyhedron/polyhedron_prog_planes.cpp for an example). 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_3 & | plane ()
const Plane_3 & | plane () 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`.
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

## ◆ set_halfedge()

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`.