CGAL 4.14 - 2D Arrangements
CGAL::Arrangement_2< Traits, Dcel >::Halfedge Class Reference

#include <CGAL/Arrangement_2.h>

Halfedge.

## Definition

An object $$e$$ of the class Halfedge represents a halfedge in the arrangement.

A halfedge is directed from its source vertex to its target vertex, and has an incident face lying to its left. Each halfedge has a twin halfedge directed in the opposite direction, where the pair of twin halfedges form together an arrangement edge, that is - a $$1$$-dimensional cell, associated with planar $$x$$-monotone curve.

Halfedges are stored in doubly-connected lists and form chains. These chains define the inner and outer boundaries of connected components.

## Creation

Halfedge ()
default constructor.

## Access Functions

All non-const methods listed below also have const counterparts that return constant handles, iterators or circulators:

bool is_fictitious () const
returns whether the halfedge is fictitious (i.e., connects two vertices at infinity and is not associated with a valid curve).

Vertex_handle source ()
returns a handle for the source vertex of e.

Vertex_handle target ()
returns a handle for the target vertex of e.

Arr_halfedge_direction direction () const
returns the direction of the halfedge: ARR_LEFT_TO_RIGHT if e's source vertex is lexicographically smaller than it target (so the halfedge is directed from left to right), and ARR_RIGHT_TO_LEFT if it is lexicographically larger than the target (so the halfedge is directed from right to left).

Face_handle face ()
returns the face that e is incident to (The face lies to the left of e).

Halfedge_handle twin ()
returns the twin halfedge.

Halfedge_handle prev ()
returns e's predecessor in the connected component it belongs to.

Halfedge_handle next ()
returns e's successor in the connected component it belongs to.

Ccb_halfedge_circulator ccb ()
returns a circulator that allows traversing the halfedges of the connected component boundary (CCB) that contains e. More...

const Traits::X_monotone_curve_2 & curve () const
returns the $$x$$-monotone curve associated with e. More...

## ◆ ccb()

template<typename Traits , typename Dcel >
 Ccb_halfedge_circulator CGAL::Arrangement_2< Traits, Dcel >::Halfedge::ccb ( )

returns a circulator that allows traversing the halfedges of the connected component boundary (CCB) that contains e.

The circulator is initialized to point to e.

## ◆ curve()

template<typename Traits , typename Dcel >
 const Traits::X_monotone_curve_2& CGAL::Arrangement_2< Traits, Dcel >::Halfedge::curve ( ) const

returns the $$x$$-monotone curve associated with e.

Precondition
e is not a fictitious halfedge.