CGAL 5.1 - Halfedge Data Structures
HalfedgeDSVertex Class Reference

#include <Concepts/HalfedgeDSVertex.h>

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). More...
 
typedef unspecified_type Base
 base class that allows modifications. More...
 
typedef unspecified_type Halfedge
 model of HalfedgeDSHalfedge. More...
 
typedef unspecified_type Face
 model of HalfedgeDSFace. More...
 
typedef unspecified_type Vertex_handle
 handle to vertex. More...
 
typedef unspecified_type Halfedge_handle
 handle to halfedge. More...
 
typedef unspecified_type Face_handle
 handle to face. More...
 
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. More...
 

Creation

 Vertex ()
 default constructor. More...
 

Operations available if Supports_vertex_halfedge == CGAL::Tag_true

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

Member Typedef Documentation

◆ Base

typedef unspecified_type HalfedgeDSVertex::Base

base class that allows modifications.

◆ Face

typedef unspecified_type HalfedgeDSVertex::Face

model of HalfedgeDSFace.

◆ Face_const_handle

typedef unspecified_type HalfedgeDSVertex::Face_const_handle

◆ Face_handle

typedef unspecified_type HalfedgeDSVertex::Face_handle

handle to face.

◆ Halfedge

typedef unspecified_type HalfedgeDSVertex::Halfedge

model of HalfedgeDSHalfedge.

◆ Halfedge_const_handle

typedef unspecified_type HalfedgeDSVertex::Halfedge_const_handle

◆ Halfedge_handle

typedef unspecified_type HalfedgeDSVertex::Halfedge_handle

handle to halfedge.

◆ HalfedgeDS

typedef unspecified_type HalfedgeDSVertex::HalfedgeDS

instantiated HalfedgeDS ( \( \equiv\) Refs).

◆ Supports_vertex_halfedge

◆ Vertex_const_handle

typedef unspecified_type HalfedgeDSVertex::Vertex_const_handle

◆ Vertex_handle

typedef unspecified_type HalfedgeDSVertex::Vertex_handle

handle to vertex.

Member Function Documentation

◆ halfedge() [1/2]

Halfedge_handle HalfedgeDSVertex::halfedge ( )

◆ halfedge() [2/2]

Halfedge_const_handle HalfedgeDSVertex::halfedge ( ) const

incident halfedge that points to the vertex.

◆ set_halfedge()

void HalfedgeDSVertex::set_halfedge ( Halfedge_handle  h)

sets incident halfedge to h.

◆ Vertex()

HalfedgeDSVertex::Vertex ( )

default constructor.