\( \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.12 - Halfedge Data Structures
HalfedgeDSVertex Concept Reference

Definition

The concept HalfedgeDSVertex defines the requirements for the local Vertex type in the HalfedgeDS concept. It is also required in the Vertex_wrapper<Refs,Traits> member class template of an items class, see the HalfedgeDSItems concept.

A vertex optionally stores a reference to an incident halfedge that points to the vertex. A type tag indicates whether the related member functions are supported. Figure figureHalfedgeDSOptionalMethods depicts the relationship between a halfedge and its incident halfedges, vertices, and faces.

For the protection of the integrity of the data structure classes such as CGAL::Polyhedron_3 are allowed to redefine the modifying member functions to be private. In order to make them accessible for the halfedge data structure they must be derived from a base class Base where the modifying member functions are still public. (The protection could be bypassed by an user, but not by accident.)

Refines:

CopyConstructible

DefaultConstructible

Has Models:

CGAL::HalfedgeDS_vertex_base<Refs>

CGAL::HalfedgeDS_vertex_min_base<Refs>

See also
HalfedgeDS<Traits,Items,Alloc>
HalfedgeDSItems
HalfedgeDSHalfedge
HalfedgeDSFace

Types

typedef unspecified_type HalfedgeDS
 instantiated HalfedgeDS ( \( \equiv\) Refs).
 
typedef unspecified_type Base
 base class that allows modifications.
 
typedef unspecified_type Halfedge
 model of HalfedgeDSHalfedge.
 
typedef unspecified_type Face
 model of HalfedgeDSFace.
 
typedef unspecified_type Vertex_handle
 handle to vertex.
 
typedef unspecified_type Halfedge_handle
 handle to halfedge.
 
typedef unspecified_type Face_handle
 handle to face.
 
typedef unspecified_type Vertex_const_handle
 
typedef unspecified_type Halfedge_const_handle
 
typedef unspecified_type Face_const_handle
 
typedef unspecified_type Supports_vertex_halfedge
 CGAL::Tag_true or CGAL::Tag_false.
 

Creation

 Vertex ()
 default constructor.
 

Operations available if Supports_vertex_halfedge == CGAL::Tag_true

Halfedge_handle halfedge ()
 
Halfedge_const_handle halfedge () const
 incident halfedge that points to the vertex.
 
void set_halfedge (Halfedge_handle h)
 sets incident halfedge to h.