CGAL 5.6 - 2D Arrangements
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

◆ operator()() [1/4]

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.

◆ operator()() [2/4]

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

◆ operator()() [3/4]

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.

◆ operator()() [4/4]

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