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 26.3 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.)
HalfedgeDSVertex::HalfedgeDS | |
instantiated HalfedgeDS ( ≡ Refs).
| |
HalfedgeDSVertex::Base | |
base class that allows modifications.
| |
HalfedgeDSVertex::Halfedge | |
model of HalfedgeDSHalfedge.
| |
HalfedgeDSVertex::Face | |
model of HalfedgeDSFace.
| |
HalfedgeDSVertex::Vertex_handle | |
handle to vertex.
| |
HalfedgeDSVertex::Halfedge_handle | |
handle to halfedge.
| |
HalfedgeDSVertex::Face_handle | |
handle to face.
| |
HalfedgeDSVertex::Vertex_const_handle | |
HalfedgeDSVertex::Halfedge_const_handle | |
HalfedgeDSVertex::Face_const_handle | |
HalfedgeDSVertex::Supports_vertex_halfedge | |
CGAL::Tag_true or
CGAL::Tag_false.
|
HalfedgeDSVertex v; | |
default constructor.
|
Halfedge_handle | v.halfedge () | |
Halfedge_const_handle | v.halfedge () const | incident halfedge that points to v. |
void | v.set_halfedge ( Halfedge_handle h) | |
sets incident halfedge to h. |
CGAL::HalfedgeDS_vertex_base<Refs>
CGAL::HalfedgeDS_vertex_min_base<Refs>
HalfedgeDS<Traits,Items,Alloc>
HalfedgeDSItems
HalfedgeDSHalfedge
HalfedgeDSFace