CGAL 5.6.3 - 2D Envelopes

Loading...
Searching...
No Matches
List of all members
EnvelopeDiagramEdge Concept Reference
2D Envelopes 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`.
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.
Vertex_const_handle | right () const
| returns the vertex lying to `e`'s right.

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

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