CGAL 6.1 - 2D Envelopes
Loading...
Searching...
No Matches
EnvelopeDiagramVertex Class Reference

#include <Concepts/EnvelopeDiagramVertex.h>

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

Member Typedef Documentation

◆ Edge

typedef unspecified_type EnvelopeDiagramVertex::Edge

the corresponding diagram-edge type.

◆ Point_2

typedef unspecified_type EnvelopeDiagramVertex::Point_2

the point type associated with the vertex.

◆ Size

typedef unspecified_type EnvelopeDiagramVertex::Size

the size type (convertible to size_t).

◆ X_monotone_curve_2

the \( x\)-monotone curve type.

Constructor & Destructor Documentation

◆ EnvelopeDiagramVertex() [1/3]

EnvelopeDiagramVertex::EnvelopeDiagramVertex ( )

default constructor.

◆ EnvelopeDiagramVertex() [2/3]

EnvelopeDiagramVertex::EnvelopeDiagramVertex ( const EnvelopeDiagramVertex other)

copy constructor.

◆ EnvelopeDiagramVertex() [3/3]

EnvelopeDiagramVertex::EnvelopeDiagramVertex ( const Point_2 p)

constructs a vertex associated with the given point p.

Member Function Documentation

◆ add_curve()

void EnvelopeDiagramVertex::add_curve ( const X_monotone_curve_2 cv)

adds the \( x\)-monotone curve cv to the set of curves associated with v.

◆ add_curves()

void EnvelopeDiagramVertex::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.

◆ clear_curves()

void EnvelopeDiagramVertex::clear_curves ( )

clears the set of curves associated with v.

◆ curves_begin()

Curve_const_iterator EnvelopeDiagramVertex::curves_begin ( ) const

returns an iterator for the first \( x\)-monotone curve associated with v.

◆ curves_end()

Curve_const_iterator EnvelopeDiagramVertex::curves_end ( ) const

returns a past-the-end iterator for the \( x\)-monotone curves associated with v.

◆ left()

Edge_const_handle EnvelopeDiagramVertex::left ( ) const

returns the edge lying to v's left.

◆ number_of_curves()

Size EnvelopeDiagramVertex::number_of_curves ( ) const

returns the number of \( x\)-monotone curves associated with v.

◆ point()

const Point_2 & EnvelopeDiagramVertex::point ( ) const

returns the point associated with v.

◆ right()

Edge_const_handle EnvelopeDiagramVertex::right ( ) const

returns the edge lying to v's right.

◆ set_left()

void EnvelopeDiagramVertex::set_left ( Edge_const_handle  e)

sets the edge lying to the left of v to be e.

◆ set_point()

void EnvelopeDiagramVertex::set_point ( const Point_2 p)

associates the point p with v.

◆ set_right()

void EnvelopeDiagramVertex::set_right ( Edge_const_handle  e)

sets the edge lying to the right of v to be e.