\( \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 Straight Skeleton and Polygon Offsetting

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
StraightSkeletonVertex_2 Concept Reference
Concepts

## Definition

The concept `StraightSkeletonVertex_2` describes the requirements for the vertex type of the `StraightSkeleton_2` concept. It is a refinement of the `HalfedgeDSVertex` concept with support for storage of the incident halfedge. The `StraightSkeletonVertex_2` concept requires the geometric embedding to be a 2D point.

Refines:
  `HalfedgeDSVertex`

Has Models:
  CGAL::Straight_skeleton_vertex_base_2

See Also
  `StraightSkeleton_2`
  `StraightSkeletonHalfedge_2`
  `CGAL::Straight_skeleton_vertex_base_2<Refs,Point,FT>`
  `CGAL::Straight_skeleton_halfedge_base_2<Refs>`

## Types
typedef unspecified_type | Point_2
| The type of the 2D point being the geometric embedding of the vertex.
typedef unspecified_type | FT
| A model of the `FieldWithSqrt` concept representing the time of a vertex (an Euclidean distance)
typedef unspecified_type | Halfedge_around_vertex_const_circulator
typedef unspecified_type | Halfedge_around_vertex_circulator
| The circulator type used to visit all the incident halfedges around a vertex.
typedef unspecified_type | Defining_contour_halfedge_const_circulator
typedef unspecified_type | Defining_contour_halfedge_circulator
| The circulator type used to visit all the defining contour halfedges of a vertex.

## Creation
| StraightSkeletonVertex_2 ()
| Default constructor.
| StraightSkeletonVertex_2 (int id, Point_2 const &p)
| Constructs a contour vertex with ID number `id`, at the point `p`
| StraightSkeletonVertex_2 (int id, Point_2 const &p, FT time)
| Constructs a skeleton vertex with ID number `id`, at point `p` and time `time`.

## Access Functions
int | id () const
| The ID of the vertex.
Point_2 const & | point () const
| The vertex point.
FT | time () const
| The time of the vertex: the distance from the vertex point to the lines supporting the defining contour edges.
Halfedge_handle | primary_bisector ()
Halfedge_const_handle | primary_bisector () const
| Returns the skeleton halfedge incident upon the vertex (called the primary bisector).
Halfedge_around_vertex_circulator | halfedge_around_vertex_begin ()
Halfedge_around_vertex_const_circulator | halfedge_around_vertex_begin () const
| Returns a bi-directional circulator pointing to one of the incident halfedges (which one is unspecified). More...
Defining_contour_halfedge_circulator | defining_contour_halfedges_begin ()
Defining_contour_halfedge_const_circulator | defining_contour_halfedges_begin () const
| Returns a bi-directional circulator pointing to one of the defining contour halfedges of the vertex (which one is unspecified). More...

## Queries
bool | is_contour () const
| Returns `true` iff this is a contour vertex.
bool | is_skeleton () const
| Returns `true` iff this is a skeleton vertex.

## Member Function Documentation

Defining_contour_halfedge_const_circulator StraightSkeletonVertex_2::defining_contour_halfedges_begin | ( | ) |  | const

Returns a bi-directional circulator pointing to one of the defining contour halfedges of the vertex (which one is unspecified).

There will always be as many incident defining contour halfedges as the degree of the vertex.

Each halfedge pointed to by this circulator is the one having its left side facing inwards (which happens to be the contour halfedge for which `is\_border()` is `false`).

Halfedge_around_vertex_const_circulator StraightSkeletonVertex_2::halfedge_around_vertex_begin | ( | ) |  | const

Returns a bi-directional circulator pointing to one of the incident halfedges (which one is unspecified).

There will always be as many incident halfedges as the degree of the vertex.

If this is a contour vertex, its degree is exactly 3, and from the halfedges pointed to by the circulator, 2 are contour and 1 is a bisector.

If this is an `skeleton` vertex, its degree is at least 3 and all of the halfedges pointed to by the circulator are bisectors.

Each halfedge pointed to by this circulator is the one which is oriented towards the vertex (according to the geometric embedding).