CGAL 4.7 - 2D Envelopes: EnvelopeDiagramEdge Concept Reference

\( \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.7 - 2D Envelopes

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

## Definition

An edge record in an envelope diagram, which represents a continuous portion of the \( x\)-axis. It is associated with a (possibly empty) set of curves that induce the envelope over this portion of the \( x\)-axis. Note that all curves in this set overlap over the interval represented by the edge.

See Also
  `EnvelopeDiagram_1`
  `EnvelopeDiagramVertex`

## Types

typedef unspecified_type | Size
| the size type (convertible to `size_t`).
typedef unspecified_type | Vertex
| the corresponding diagram-vertex type.
typedef unspecified_type | X_monotone_curve_2
| the \( x\)-monotone curve type.

## Creation

| EnvelopeDiagramEdge ()
| default constructor.
| EnvelopeDiagramEdge (const EnvelopeDiagramEdge &other)
| copy constructor.

## Access Functions

Size | number_of_curves () const
| returns the number of \( x\)-monotone curves associated with `e`.
bool | is_empty () const
| returns whether `e` represents an empty interval - namely, whether the set of \( x\)-monotone curves associated with it is empty.
const X_monotone_curve_2 & | curve () const
| returns a representative \( x\)-monotone curve associated with `e`. More...
Curve_const_iterator | curves_begin () const
| returns an iterator for the first \( x\)-monotone curve associated with `e`.
Curve_const_iterator | curves_end () const
| returns a past-the-end iterator for the \( x\)-monotone curves associated with `e`.
Vertex_const_handle | left () const
| returns the vertex lying to `e`'s left. More...
Vertex_const_handle | right () const
| returns the vertex lying to `e`'s right. More...

## Modifiers

void | clear_curves ()
| clears the set of curves associated with `e`.
void | add_curve (const X_monotone_curve_2 &cv)
| adds the \( x\)-monotone curve `cv` to the set of curves associated with `e`.
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 `e`.
void | set_left (Vertex_const_handle v)
| sets the vertex lying to the left of `e` to be `v`.
void | set_right (Vertex_const_handle v)
| sets the vertex lying to the right of `e` to be `v`.

## Member Function Documentation

const X_monotone_curve_2& EnvelopeDiagramEdge::curve | ( | ) |  | const

returns a representative \( x\)-monotone curve associated with `e`.

Precondition
  `e` does not represent an empty interval.

Vertex_const_handle EnvelopeDiagramEdge::left | ( | ) |  | const

returns the vertex lying to `e`'s left.

Precondition
  `e` is not the leftmost edge in the diagram.

Vertex_const_handle EnvelopeDiagramEdge::right | ( | ) |  | const

returns the vertex lying to `e`'s right.

Precondition
  `e` is not the rightmost edge in the diagram.