CGAL 4.3 - Halfedge Data Structures
|
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.)
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 . | |