\( \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
CGAL::Polyhedron_3< Traits >::Vertex Class 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_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

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.