Halfedges are stored in doubly-connected lists and form chains. These chains define the inner and outer boundaries of connected components.
All non-const methods listed below also have const counterparts that return constant handles, iterators or circulators:
|bool||e.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||e.source ()||returns a handle for the source vertex of e.|
|Vertex_handle||e.target ()||returns a handle for the target vertex of e.|
|Arr_halfedge_direction||e.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||e.face ()||returns the face that e is incident to (The face lies to the left of e).|
|Halfedge_handle||e.twin ()||returns the twin halfedge.|
|Halfedge_handle||e.prev ()||returns e's predecessor in the connected component it belongs to.|
|Halfedge_handle||e.next ()||returns e's successor in the connected component it belongs to.|
|Ccb_halfedge_circulator||e.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.|
|e.curve () const||
returns the x-monotone curve associated with e.