CGAL 4.7 - 2D Arrangements: CGAL::Arr_polycurve_traits_2< GeometryTraits_2 >::Push_back_2 Class Reference

\( \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
List of all members
CGAL::Arr_polycurve_traits_2< GeometryTraits_2 >::Push_back_2 Class Reference

`#include <CGAL/Arr_polycurve_traits_2.h>`

## Definition

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

## Operations

void | operator() (Curve_2 &cv, const Segment_2 &seg) const
| Append a segment `seg` to an existing polycurve `cv` at the back. More...
void | operator() (const X_monotone_curve_2 &xcv, X_monotone_segment_2 &seg) const
| Append a segment `seg` to an existing \(x\)-monotone polycurve `xcv` at the back. More...

## Member Function Documentation

template<typename GeometryTraits_2 >

void CGAL::Arr_polycurve_traits_2< GeometryTraits_2 >::Push_back_2::operator() | ( | Curve_2 & | cv,
|  | const Segment_2 & | seg
| ) |  | const

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

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

Parameters

  cv | a polycurve. Note, `cv` is (not necessarily) \(x\)-monotone.
  seg | a segment (not necessarily \(x\)-monotone) to be appended to `cv`

template<typename GeometryTraits_2 >

void CGAL::Arr_polycurve_traits_2< GeometryTraits_2 >::Push_back_2::operator() | ( | const X_monotone_curve_2 & | xcv,
|  | X_monotone_segment_2 & | seg
| ) |  | const

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

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

Parameters

  xcv | existing \(x\)-monotone polycurve
  seg | the 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