CGAL 5.1 - Halfedge Data Structures
HalfedgeDSFace Class Reference

#include <Concepts/HalfedgeDSFace.h>

Definition

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

A face optionally stores a reference to an incident halfedge that points to the face. 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 can be bypassed by the user, but not by accident.)

Refines:

CopyConstructible

DefaultConstructible

Has Models:

CGAL::HalfedgeDS_face_base<Refs>

CGAL::HalfedgeDS_face_min_base<Refs>

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

Types

typedef unspecified_type HalfedgeDS
 instantiated HalfedgeDS ( \( \equiv\) Refs). More...
 
typedef unspecified_type Base
 base class that allows modifications. More...
 
typedef unspecified_type Vertex
 model of HalfedgeDSVertex. More...
 
typedef unspecified_type Halfedge
 model of HalfedgeDSHalfedge. 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_face_halfedge
 CGAL::Tag_true or CGAL::Tag_false. More...
 

Creation

 Face ()
 default constructor. More...
 

Operations available if Supports_face_halfedge == CGAL::Tag_true

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

Member Typedef Documentation

◆ Base

typedef unspecified_type HalfedgeDSFace::Base

base class that allows modifications.

◆ Face_const_handle

typedef unspecified_type HalfedgeDSFace::Face_const_handle

◆ Face_handle

typedef unspecified_type HalfedgeDSFace::Face_handle

handle to face.

◆ Halfedge

typedef unspecified_type HalfedgeDSFace::Halfedge

model of HalfedgeDSHalfedge.

◆ Halfedge_const_handle

typedef unspecified_type HalfedgeDSFace::Halfedge_const_handle

◆ Halfedge_handle

typedef unspecified_type HalfedgeDSFace::Halfedge_handle

handle to halfedge.

◆ HalfedgeDS

typedef unspecified_type HalfedgeDSFace::HalfedgeDS

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

◆ Supports_face_halfedge

◆ Vertex

typedef unspecified_type HalfedgeDSFace::Vertex

model of HalfedgeDSVertex.

◆ Vertex_const_handle

typedef unspecified_type HalfedgeDSFace::Vertex_const_handle

◆ Vertex_handle

typedef unspecified_type HalfedgeDSFace::Vertex_handle

handle to vertex.

Member Function Documentation

◆ Face()

HalfedgeDSFace::Face ( )

default constructor.

◆ halfedge() [1/2]

Halfedge_handle HalfedgeDSFace::halfedge ( )

◆ halfedge() [2/2]

Halfedge_const_handle HalfedgeDSFace::halfedge ( ) const

incident halfedge that points to the face.

◆ set_halfedge()

void HalfedgeDSFace::set_halfedge ( Halfedge_handle  h)

sets incident halfedge to h.