CGAL 5.4.4 - 2D Voronoi Diagram Adaptor
CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge Class Reference

#include <CGAL/Voronoi_diagram_2.h>

## Definition

The class Halfedge is the class provided by the Voronoi_diagram_2<DG,AT,AP> class for Voronoi halfedges.

Below we present its interface.

Is Model Of:

DefaultConstructible

CopyConstructible

Assignable

EqualityComparable

LessThanComparable

CGAL::Voronoi_diagram_2<DG,AT,AP>
CGAL::Voronoi_diagram_2<DG,AT,AP>::Vertex
CGAL::Voronoi_diagram_2<DG,AT,AP>::Face
DelaunayGraph_2

## Types

typedef unspecified_type Vertex
A type for the vertices of the Voronoi diagram.

typedef unspecified_type Face
A type for the faces of the Voronoi diagram.

typedef unspecified_type Vertex_handle
Handle for the vertices of the Voronoi diagram.

typedef unspecified_type Face_handle
Handle for the faces of the Voronoi diagram.

typedef unspecified_type Halfedge_handle
Handle for the halfedges of the Voronoi diagram.

typedef unspecified_type Ccb_halfedge_circulator
A type for a bidirectional circulator over the halfedges of the boundary of a Voronoi face. More...

typedef unspecified_type Delaunay_graph
A type for the Delaunay graph. More...

typedef Delaunay_graph::Edge Delaunay_edge
A type for the dual edge in the Delaunay graph.

typedef Delaunay_graph::Vertex_handle Delaunay_vertex_handle
A type for vertex handles in the Delaunay graph.

## Access Methods

Halfedge_handle twin ()
Returns the twin halfedge.

Halfedge_handle opposite ()
Same as e.twin().

Halfedge_handle next ()
Returns the next halfedge in the counterclockwise sense around the boundary of the face that e is incident to.

Halfedge_handle previous ()
Returns the previous halfedge in the counterclockwise sense around the boundary of the adjacent face.

Face_handle face ()
Returns the face that e is incident to.

Vertex_handle source ()
Returns the source vertex of e. More...

Vertex_handle target ()
Returns the target vertex of e. More...

Ccb_halfedge_circulator ccb ()
Returns a bidirectional circulator to traverse the halfedges on the boundary of the Voronoi face containing e. More...

Delaunay_edge dual ()
Returns the corresponding dual edge in the Delaunay graph.

In the four methods below we consider Voronoi halfedges to be "parallel" to the $$x$$-axis, oriented from left to right.

Delaunay_vertex_handle up ()
Returns a handle to the vertex in the Delaunay graph corresponding to the defining site above the Voronoi edge.

Delaunay_vertex_handle down ()
Returns a handle to the vertex in the Delaunay graph corresponding to the defining site below the Voronoi edge.

Delaunay_vertex_handle left ()
Returns a handle to the vertex in the Delaunay graph corresponding to the defining site to the left of the Voronoi edge. More...

Delaunay_vertex_handle right ()
Returns a handle to the vertex in the Delaunay graph corresponding to the defining site to the right of the Voronoi edge. More...

## Predicate Methods

bool has_source ()
Returns true iff the halfedge corresponds to a bisecting segment or a bisecting ray oriented appropriately so that its apex is its source.

bool has_target ()
Returns true iff the halfedge corresponds to a bisecting segment or a bisecting ray oriented appropriately so that its apex is its target.

bool is_unbounded ()
Returns true iff the source or the target of the halfedge does not exist, i.e., if either of has_source() or has_target() return false.

bool is_bisector ()
Returns true iff the Voronoi edge is an entire bisector.

bool is_segment ()
Returns true iff the Voronoi edge has both a source and a target Voronoi vertex.

bool is_ray ()
Returns true iff the Voronoi edge has either a source or a target Voronoi vertex, but not both; in other words it is a bisecting ray.

bool is_valid ()
Returns true if the following conditions are met: the halfedge is not a rejected edge with respect to the chosen adaptation policy; the twin edge of its twin edge is itself; its adjacent face is not a rejected face with respect to the chosen adaptation policy; its source and target vertices are valid (provided they exist, of course); the previous of its next halfedge is itself and the next of its previous halfedge is itself.

## ◆ Ccb_halfedge_circulator

template<typename DG , typename AT , typename AP >
 typedef unspecified_type CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge::Ccb_halfedge_circulator

A type for a bidirectional circulator over the halfedges of the boundary of a Voronoi face.

The value type of the circulator is CGAL::Voronoi_diagram_2<DG,AT,AP>::Halfedge and is convertible to Halfedge_handle.

## ◆ Delaunay_graph

template<typename DG , typename AT , typename AP >
 typedef unspecified_type CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge::Delaunay_graph

A type for the Delaunay graph.

It is a model of the DelaunayGraph_2 concept.

## ◆ ccb()

template<typename DG , typename AT , typename AP >
 Ccb_halfedge_circulator CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge::ccb ( )

Returns a bidirectional circulator to traverse the halfedges on the boundary of the Voronoi face containing e.

The circulator is initialized to e. Applying operator++ (resp. operator-) to this circulator returns the next halfedge on the boundary of the face containing e in the counterclockwise (resp. clockwise) sense.

## ◆ left()

template<typename DG , typename AT , typename AP >
 Delaunay_vertex_handle CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge::left ( )

Returns a handle to the vertex in the Delaunay graph corresponding to the defining site to the left of the Voronoi edge.

Precondition
has_source() must be true.

## ◆ right()

template<typename DG , typename AT , typename AP >
 Delaunay_vertex_handle CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge::right ( )

Returns a handle to the vertex in the Delaunay graph corresponding to the defining site to the right of the Voronoi edge.

Precondition
has_target() must be true.

## ◆ source()

template<typename DG , typename AT , typename AP >
 Vertex_handle CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge::source ( )

Returns the source vertex of e.

Precondition
The source vertex must exist, i.e., has_source() must return true.

## ◆ target()

template<typename DG , typename AT , typename AP >
 Vertex_handle CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge::target ( )

Returns the target vertex of e.

Precondition
The target vertex must exist, i.e., has_target() must return true.
{"ft_lang_label":"__label__en","ft_lang_prob":0.6570686,"math_prob":0.56034786,"size":5564,"snap":"2023-40-2023-50","text_gpt3_token_len":1505,"char_repetition_ratio":0.18435252,"word_repetition_ratio":0.33250928,"special_character_ratio":0.2291517,"punctuation_ratio":0.16045548,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.97728294,"pos_list":[0,1,2],"im_url_duplicate_count":[null,null,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2023-12-10T14:18:20Z\",\"WARC-Record-ID\":\"<urn:uuid:2b0c621f-8b5b-4522-ac53-3e3ee0bf26f3>\",\"Content-Length\":\"43842\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:85f1f374-0426-47ec-9309-31974bce9ad1>\",\"WARC-Concurrent-To\":\"<urn:uuid:0f96ca5c-185e-4ef1-8cd9-1bd494ee43c6>\",\"WARC-IP-Address\":\"213.186.33.40\",\"WARC-Target-URI\":\"https://doc.cgal.org/5.4.4/Voronoi_diagram_2/classCGAL_1_1Voronoi__diagram__2_1_1Halfedge.html\",\"WARC-Payload-Digest\":\"sha1:QFETBZVMGSNHHKEQRHBZOXCXWF2VPMOD\",\"WARC-Block-Digest\":\"sha1:7VMT4CTXLIQH3P3S7BAWM4QNB5SGXJ62\",\"WARC-Identified-Payload-Type\":\"application/xhtml+xml\",\"warc_filename\":\"/cc_download/warc_2023/CC-MAIN-2023-50/CC-MAIN-2023-50_segments_1700679102469.83_warc_CC-MAIN-20231210123756-20231210153756-00827.warc.gz\"}"}