\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - 2D Voronoi Diagram Adaptor

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Voronoi_diagram_2< DG, AT, AP >::Halfedge Class Reference
2D Voronoi Diagram Adaptor 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`

See Also
  `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.

## Member Typedef Documentation

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`.

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.

## Member Function Documentation

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.

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`.

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`.

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`.

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`.