% +------------------------------------------------------------------------+ % | Reference manual page: EnvDiagVertex.tex % +------------------------------------------------------------------------+ % | % | Package: Envelope_2 % | % +------------------------------------------------------------------------+ \ccRefPageBegin \begin{ccRefConcept}{EnvelopeDiagramVertex} \ccDefinition %============ 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. \ccTypes %======= \ccNestedType{Size}{the size type (convertible to \ccc{size_t}).} \ccNestedType{Edge}{the corresponding diagram-edge type.} \ccNestedType{Point_2}{the point type associated with the vertex.} \ccGlue \ccNestedType{X_monotone_curve_2}{the $x$-monotone curve type.} \ccCreation \ccCreationVariable{v} %===================== \ccConstructor{EnvelopeDiagramVertex();} {default constructor.} \ccConstructor{EnvelopeDiagramVertex (const EnvelopeDiagramVertex& other);} {copy constructor.} \ccConstructor{EnvelopeDiagramVertex (const Point_2& p);} {constructs a vertex associated with the given point \ccc{p}.} \ccAccessFunctions %================= \ccMethod{const Point_2& point () const;} {returns the point associated with \ccVar.} \ccMethod{Size number_of_curves () const;} {returns the number of $x$-monotone curves associated with \ccVar.} \ccMethod{Curve_const_iterator curves_begin () const;} {return an iterator for the first $x$-monotone curve associated with \ccVar.} \ccGlue \ccMethod{Curve_const_iterator curves_end () const;} {return a past-the-end iterator for the $x$-monotone curves associated with \ccVar.} \ccMethod{Edge_const_handle left() const;} {returns the edge lying to \ccVar's left.} \ccGlue \ccMethod{Edge_const_handle right() const;} {returns the edge lying to \ccVar's right.} \ccModifiers %=========== \ccMethod{void set_point (const Point_2& p);} {associates the point \ccc{p} with \ccVar.} \ccMethod{void clear_curves();} {clears the set of curves associated with \ccVar.} \ccGlue \ccMethod{void add_curve (const X_monotone_curve_2& cv);} {adds the $x$-monotone curve \ccc{cv} to the set of curves associated with \ccVar.} \ccGlue \ccMethod{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 \ccVar.} \ccMethod{void set_left (Edge_const_handle e);} {sets the edge lying to the left of \ccVar\ to be \ccc{e}.} \ccGlue \ccMethod{void set_right (Edge_const_handle e);} {sets the edge lying to the right of \ccVar\ to be \ccc{e}.} \ccSeeAlso \ccc{EnvelopeDiagram_1}\lcTex{ (\ccRefPage{EnvelopeDiagram_1})}\\ \ccc{EnvelopeDiagramEdge}\lcTex{ (\ccRefPage{EnvelopeDiagramEdge})}\\ \end{ccRefConcept} \ccRefPageEnd