Concept

EnvelopeDiagramVertex

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.

Types

EnvelopeDiagramVertex::Size
the size type (convertible to size_t).


EnvelopeDiagramVertex::Edge
the corresponding diagram-edge type.


EnvelopeDiagramVertex::Point_2
the point type associated with the vertex.

EnvelopeDiagramVertex::X_monotone_curve_2
the x-monotone curve type.

Creation

EnvelopeDiagramVertex v;
default constructor.


EnvelopeDiagramVertex v ( other);
copy constructor.


EnvelopeDiagramVertex v ( Point_2 p);
constructs a vertex associated with the given point p.

Access Functions

Point_2 v.point () const returns the point associated with v.

Size v.number_of_curves () const returns the number of x-monotone curves associated with v.

Curve_const_iterator v.curves_begin () const return an iterator for the first x-monotone curve associated with v.
Curve_const_iterator v.curves_end () const return a past-the-end iterator for the x-monotone curves associated with v.

Edge_const_handle v.left () const returns the edge lying to v's left.
Edge_const_handle v.right () const returns the edge lying to v's right.

Modifiers

void v.set_point ( Point_2 p) associates the point p with v.

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

See Also

EnvelopeDiagram_1
EnvelopeDiagramEdge