CGAL 5.1 - Halfedge Data Structures
HalfedgeDSItems Class Reference

#include <Concepts/HalfedgeDSItems.h>

Definition

The concept HalfedgeDSItems wraps the three item types - vertex, halfedge, and face - for a halfedge data structure. A HalfedgeDSItems contains three member class templates named Vertex_wrapper, Halfedge_wrapper, and Face_wrapper, each with two template parameters, Refs and Traits. Refs requires an instantiated halfedge data structure HalfedgeDS as argument, Traits is a geometric traits class supplied by the class that uses the halfedge data structure as internal representation. Traits is not used by the halfedge data structure itself. These three member class templates provide a local type named Vertex, Halfedge, and Face respectively. The requirements on these types are described on the manual pages of the concepts HalfedgeDSVertex, HalfedgeDSHalfedge, and HalfedgeDSFace respectively.

Has Models:

CGAL::HalfedgeDS_min_items

CGAL::HalfedgeDS_items_2

CGAL::Polyhedron_items_3

See also
HalfedgeDS<Traits,Items,Alloc>
HalfedgeDSVertex
HalfedgeDSHalfedge
HalfedgeDSFace
PolyhedronItems_3
CGAL::HalfedgeDS_vertex_base<Refs>
CGAL::HalfedgeDS_halfedge_base<Refs>
CGAL::HalfedgeDS_face_base<Refs>

Example

The following example shows the canonical implementation of the CGAL::HalfedgeDS_min_items class. It uses the base classes for the item types that are provided in the library.

struct HalfedgeDS_min_items {
template < class Refs, class Traits>
struct Vertex_wrapper {
};
template < class Refs, class Traits>
struct Halfedge_wrapper {
};
template < class Refs, class Traits>
struct Face_wrapper {
};
};

See CGAL::HalfedgeDS_items_2 for an example implementation.

Types

typedef Vertex_wrapper< Refs, Traits >::Vertex Vertex
 model of HalfedgeDSVertex. More...
 
typedef Halfedge_wrapper< Refs, Traits >::Halfedge Halfedge
 model of HalfedgeDSHalfedge. More...
 
typedef Face_wrapper< Refs, Traits >::Face Face
 model of HalfedgeDSFace. More...
 

Member Typedef Documentation

◆ Face

typedef Face_wrapper<Refs,Traits>::Face HalfedgeDSItems::Face

model of HalfedgeDSFace.

◆ Halfedge

typedef Halfedge_wrapper<Refs,Traits>::Halfedge HalfedgeDSItems::Halfedge

model of HalfedgeDSHalfedge.

◆ Vertex

typedef Vertex_wrapper<Refs,Traits>::Vertex HalfedgeDSItems::Vertex

model of HalfedgeDSVertex.

HalfedgeDSItems::Halfedge
Halfedge_wrapper< Refs, Traits >::Halfedge Halfedge
model of HalfedgeDSHalfedge.
Definition: HalfedgeDSItems.h:75
HalfedgeDSItems::Vertex
Vertex_wrapper< Refs, Traits >::Vertex Vertex
model of HalfedgeDSVertex.
Definition: HalfedgeDSItems.h:70
CGAL::HalfedgeDS_vertex_min_base
Definition: HalfedgeDS_vertex_min_base.h:24
CGAL::HalfedgeDS_halfedge_min_base
Definition: HalfedgeDS_halfedge_min_base.h:25
HalfedgeDSItems::Face
Face_wrapper< Refs, Traits >::Face Face
model of HalfedgeDSFace.
Definition: HalfedgeDSItems.h:80
CGAL::HalfedgeDS_face_min_base
Definition: HalfedgeDS_face_min_base.h:24