\( \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.3 - 3D Polyhedral Surface

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Polyhedron_3< Traits >::Vertex Class Reference
3D Polyhedral Surface Reference

`#include <CGAL/Polyhedron_3.h>`

## Definition

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
  `CGAL::Polyhedron_3::Halfedge`
  `CGAL::Polyhedron_3::Facet`
  `CGAL::Polyhedron_3<Traits>`

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

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

## Operations available if Supports_vertex_point is CGAL::Tag_true
Point_3 & | point ()
const Point_3 & | point () 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

template<typename Traits >

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

sets incident halfedge to `h`.

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