\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.7 - 2D Arrangements
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Push_back_2 Class Reference

#include <CGAL/Arr_polyline_traits_2.h>

Definition

Functor to augment a polyline by either adding a vertex or a segment at the back.

Operations

void operator() (Curve_2 &cv, const Point_2 &p) const
 Append a point p to an existing polyline cv at the back. More...
 
void operator() (Curve_2 &cv, const Segment_2 &seg) const
 Append a segment seg to an existing polyline cv at the back. More...
 
void operator() (const X_monotone_curve_2 &xcv, Point_2 &p) const
 Append a point p to an existing \(x\)-monotone polyline xcv at the back. More...
 
void operator() (const X_monotone_curve_2 &xcv, Segment_2 &seg) const
 Append a segment seg to an existing \(x\)-monotone polyline xcv at the back. More...
 

Member Function Documentation

template<typename SegmentTraits_2 >
void CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Push_back_2::operator() ( Curve_2 cv,
const Point_2 p 
) const

Append a point p to an existing polyline cv at the back.

Parameters
cva polyline. Note, cv is not (necessarily) \( x\)-monotone.
pa point to be appended to cv at the back.
Precondition
cv contains at least one segment.
template<typename SegmentTraits_2 >
void CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Push_back_2::operator() ( Curve_2 cv,
const Segment_2 seg 
) const

Append a segment seg to an existing polyline cv at the back.

If cv is empty, seg will be its first segment.

Parameters
cva polyline. Note, cv is (not necessarily) \(x\)-monotone.
sega segment (not necessarily \(x\)-monotone) to be appended to cv
template<typename SegmentTraits_2 >
void CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Push_back_2::operator() ( const X_monotone_curve_2 xcv,
Point_2 p 
) const

Append a point p to an existing \(x\)-monotone polyline xcv at the back.

Parameters
xcvthe existing \(x\)-monotone polyline
pthe point to be pushed back.
Precondition
xcv contains at least one segment
p is either to the right of xcv if it is oriented left-to-right or it is to its left if xcv is oriented right-to-left.
template<typename SegmentTraits_2 >
void CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Push_back_2::operator() ( const X_monotone_curve_2 xcv,
Segment_2 seg 
) const

Append a segment seg to an existing \(x\)-monotone polyline xcv at the back.

If xcv is empty, seg will be its first segment.

Parameters
xcvexisting \(x\)-monotone polyline
segthe segment to be added
Precondition
If xcv is not empty then seg extends xcv to the right if xcv is oriented right-to-left. Otherwise, seg extends xcv to the left.
seg is not degenerated.
xcv and seg should have the same orientation