\( \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 5.0.3 - 3D Polyhedral Surface
CGAL::Polyhedron_3< Traits >::Vertex Class Reference

#include <CGAL/Polyhedron_3.h>


A vertex optionally stores a point and a reference to an incident halfedge that points to the vertex.

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


typedef unspecified_type Halfedge
 type of incident halfedges.
typedef unspecified_type Facet
 type of incident facets.
typedef unspecified_type Point_3
 point type stored in vertices.
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_vertex_circulator
 circulator of halfedges around a vertex.
typedef unspecified_type Vertex_const_handle
typedef unspecified_type Halfedge_const_handle
typedef unspecified_type Facet_const_handle
typedef unspecified_type Halfedge_around_vertex_const_circulator
typedef unspecified_type Supports_vertex_halfedge
 \( \equiv\) CGAL::Tag_true or CGAL::Tag_false.
typedef unspecified_type Supports_vertex_point
 \( \equiv\) CGAL::Tag_true or CGAL::Tag_false.


 Vertex ()
 default constructor.
 Vertex (const Point &p)
 vertex initialized with a point.

Operations available if Supports_vertex_point is CGAL::Tag_true

Point_3point ()
const Point_3point () const
 the point.

Operations available if Supports_vertex_halfedge is CGAL::Tag_true

Halfedge_handle halfedge ()
Halfedge_const_handle halfedge () const
 an incident halfedge that points to v.
Halfedge_around_vertex_circulator vertex_begin ()
Halfedge_around_vertex_const_circulator vertex_begin () const
 circulator of halfedges around the vertex (clockwise).
void set_halfedge (Halfedge_handle h)
 sets incident halfedge to h. More...
std::size_t vertex_degree () const
 the degree of the vertex, i.e., number of edges emanating from this vertex.
bool is_bivalent () const
 returns true if the vertex has exactly two incident edges.
bool is_trivalent () const
 returns true if the vertex has exactly three incident edges.

Member Function Documentation

◆ set_halfedge()

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

sets incident halfedge to h.

h is incident, i.e., h->vertex() == v.