CGAL 6.2 - 2D Envelopes: EnvelopeDiagramVertex Concept Reference

CGAL 6.2 - 2D Envelopes

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

## Definition

A vertex record in an envelope diagram. It is always associated with a point on the lower (upper) envelope of a non-empty set of curves. A vertex is also associated with a set of \( x\)-monotone curves that induce the envelope over this point. It is incident to two edges, one lying to its left and the other to its right.

See also
  `EnvelopeDiagram_1`
  `EnvelopeDiagramEdge`

## Types
typedef unspecified_type | Size
| the size type (convertible to `size_t`).
typedef unspecified_type | Edge
| the corresponding diagram-edge type.
typedef unspecified_type | Point_2
| the point type associated with the vertex.
typedef unspecified_type | X_monotone_curve_2
| the \( x\)-monotone curve type.

## Creation
| EnvelopeDiagramVertex ()
| default constructor.
| EnvelopeDiagramVertex (const EnvelopeDiagramVertex &other)
| copy constructor.
| EnvelopeDiagramVertex (const Point_2 &p)
| constructs a vertex associated with the given point `p`.

## Access Functions
const Point_2 & | point () const
| returns the point associated with `v`.
Size | number_of_curves () const
| returns the number of \( x\)-monotone curves associated with `v`.
Curve_const_iterator | curves_begin () const
| returns an iterator for the first \( x\)-monotone curve associated with `v`.
Curve_const_iterator | curves_end () const
| returns a past-the-end iterator for the \( x\)-monotone curves associated with `v`.
Edge_const_handle | left () const
| returns the edge lying to `v`'s left.
Edge_const_handle | right () const
| returns the edge lying to `v`'s right.

## Modifiers
void | set_point (const Point_2 &p)
| associates the point `p` with `v`.
void | clear_curves ()
| clears the set of curves associated with `v`.
void | add_curve (const X_monotone_curve_2 &cv)
| adds the \( x\)-monotone curve `cv` to the set of curves associated with `v`.
void | add_curves (Curve_const_iterator begin, Curve_const_iterator end)
| adds the given range of \( x\)-monotone curves to the set of curves associated with `v`.
void | set_left (Edge_const_handle e)
| sets the edge lying to the left of `v` to be `e`.
void | set_right (Edge_const_handle e)
| sets the edge lying to the right of `v` to be `e`.