CGAL 4.13 - 3D Polyhedral Surface
|
#include <CGAL/Polyhedron_3.h>
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.
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 . 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. | |
void CGAL::Polyhedron_3< Traits >::Facet::set_halfedge | ( | Halfedge_handle | h | ) |
sets incident halfedge to h
.
h
is incident, i.e., h->facet() ==
*this
.