CGAL 5.4 - 2D Envelopes
EnvelopeDiagramEdge Concept Reference

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

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_2curve () 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.

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.

## ◆ curve()

 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.

## ◆ left()

 Vertex_const_handle EnvelopeDiagramEdge::left ( ) const

returns the vertex lying to e's left.

Precondition
e is not the leftmost edge in the diagram.

## ◆ right()

 Vertex_const_handle EnvelopeDiagramEdge::right ( ) const

returns the vertex lying to e's right.

Precondition
e is not the rightmost edge in the diagram.