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

#include <Concepts/EnvelopeDiagramEdge.h>

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_2curve () 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 Typedef Documentation

◆ Size

typedef unspecified_type EnvelopeDiagramEdge::Size

the size type (convertible to size_t).

◆ Vertex

typedef unspecified_type EnvelopeDiagramEdge::Vertex

the corresponding diagram-vertex type.

◆ X_monotone_curve_2

typedef unspecified_type EnvelopeDiagramEdge::X_monotone_curve_2

the \( x\)-monotone curve type.

Constructor & Destructor Documentation

◆ EnvelopeDiagramEdge() [1/2]

EnvelopeDiagramEdge::EnvelopeDiagramEdge ( )

default constructor.

◆ EnvelopeDiagramEdge() [2/2]

EnvelopeDiagramEdge::EnvelopeDiagramEdge ( const EnvelopeDiagramEdge other)

copy constructor.

Member Function Documentation

◆ add_curve()

void EnvelopeDiagramEdge::add_curve ( const X_monotone_curve_2 cv)

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

◆ add_curves()

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

◆ clear_curves()

void EnvelopeDiagramEdge::clear_curves ( )

clears the set of curves associated with e.

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

◆ curves_begin()

Curve_const_iterator EnvelopeDiagramEdge::curves_begin ( ) const

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

◆ curves_end()

Curve_const_iterator EnvelopeDiagramEdge::curves_end ( ) const

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

◆ is_empty()

bool EnvelopeDiagramEdge::is_empty ( ) const

returns whether e represents an empty interval - namely, whether the set of \( x\)-monotone curves associated with it is empty.

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

◆ number_of_curves()

Size EnvelopeDiagramEdge::number_of_curves ( ) const

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

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

◆ set_left()

void EnvelopeDiagramEdge::set_left ( Vertex_const_handle  v)

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

◆ set_right()

void EnvelopeDiagramEdge::set_right ( Vertex_const_handle  v)

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