CGAL 6.1 - 2D Arrangements

Loading...
Searching...
No Matches
List of all members
AosDcelVertex Concept Reference
Reference Manual » Concepts » DCEL Concepts

## Definition

A vertex record in a DCEL data structure. A vertex is always associated with a point. However, the vertex record only stores a pointer to the associated point, and the actual `Point` object is stored elsewhere.

A vertex usually has several halfedges incident to it, such that it is possible to access one of these halfedges directly and to traverse all incident halfedges around the vertex. However, the DCEL may also contain isolated vertices that have no incident halfedges. In this case, the vertex stores an isolated vertex-information record, indicating the face that contains this vertex in its interior.

See also
  `AosDcel`
  `AosDcelHalfedge`
  `AosDcelIsolatedVertex`

## Types
typedef unspecified_type | Halfedge
| the corresponding DCEL halfedge type.
typedef unspecified_type | Isolated_vertex
| the corresponding DCEL isolated vertex-information type.
typedef unspecified_type | Point
| the point type associated with the vertex.

## Creation
| Arr_dcel_vertex ()
| default constructor.
void | assign (const Self &other)
| assigns `v` with the contents of the `other` vertex.

## Access Functions
All functions below also have `const` counterparts, returning non-mutable pointers or references:
bool | is_isolated () const
| returns whether the vertex is isolated (has no incident halfedges).
Halfedge * | halfedge ()
| returns an incident halfedge that has `v` as its target.
Isolated_vertex * | isolated_vertex ()
| returns the isolated vertex-information record.
bool | has_null_point () const
| returns whether the vertex is not associated with a valid point (i.e. it lies at infinity).
Point & | point ()
| returns the associated point.
Arr_parameter_space | parameter_space_in_x () const
| returns the placement of the \(x\)-coordinate in the parameter space, that is, either the left boundary-side, the interior, or the right boundary-side.
Arr_parameter_space | parameter_space_in_y () const
| returns the placement of the \(y\)-coordinate in the parameter space, that is, either the bottom boundary-side, the interior, or the top boundary-side.

## Modifiers
void | set_halfedge (Halfedge *e)
| sets the incident halfedge, marking `v` as a regular vertex.
void | set_isolated_vertex (Isolated_vertex *iv)
| sets the isolated vertex-information record, marking `v` as an isolated vertex.
void | set_point (Point *p)
| sets the associated point.
void | set_boundary (Arr_parameter_space inf_x, Arr_parameter_space inf_y)
| sets `v` as a vertex on a boundary side.

## Member Function Documentation

## ◆ halfedge()

Halfedge * AosDcelVertex::halfedge | ( |  | ) |

returns an incident halfedge that has `v` as its target.

Precondition
  `v` is not an isolated vertex.

## ◆ isolated_vertex()

Isolated_vertex * AosDcelVertex::isolated_vertex | ( |  | ) |

returns the isolated vertex-information record.

Precondition
  `v` is an isolated vertex.

## ◆ point()

Point & AosDcelVertex::point | ( |  | ) |

returns the associated point.

Precondition
  `v`() is associated with a valid point.

## ◆ set_boundary()

void AosDcelVertex::set_boundary | ( | Arr_parameter_space | inf_x,
|  | Arr_parameter_space | inf_y
| ) |  |

sets `v` as a vertex on a boundary side.

Precondition
  Either `inf_x` or `inf_y` is not `ARR_INTERIOR`.