\( \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.12 - 2D Arrangements
CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Construct_curve_2 Class Reference

#include <CGAL/Arr_polyline_traits_2.h>

Definition

Construction functor of a general (not necessarily \(x\)-monotone) polyline.

This functor constructs general polylines. Its operator() is oveloaded to support various input types.

Note that the composing segments, depending on the SegmentTraits_2, might not be \(x\)-monotone.

Operations

Curve_2 operator() (const Point_2 &p, const Point_2 &q) const
 Obtain a polyline connecting the two given endpoints. More...
 
Curve_2 operator() (const Segment_2 &seg) const
 Obtain a polyline that comprises of one given segment. More...
 
template<typename ForwardIterator >
Curve_2 operator() (ForwardIterator begin, ForwardIterator end) const
 Construct a well-oriented polyline from a range of either SegmentTraits_2::Point_2 or SegmentTraits_2::Segment_2. More...
 

Member Function Documentation

◆ operator()() [1/3]

template<typename SegmentTraits_2 >
Curve_2 CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Construct_curve_2::operator() ( const Point_2 p,
const Point_2 q 
) const

Obtain a polyline connecting the two given endpoints.

Parameters
pThe first point.
qThe second point.
Precondition
p and q are distinct.
Returns
A segment connecting p and q.

◆ operator()() [2/3]

template<typename SegmentTraits_2 >
Curve_2 CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Construct_curve_2::operator() ( const Segment_2 seg) const

Obtain a polyline that comprises of one given segment.

Parameters
seginput segment
Precondition
seg is not degenerated (not tested)
Returns
A polyline with one segment, namely seg.

◆ operator()() [3/3]

template<typename SegmentTraits_2 >
template<typename ForwardIterator >
Curve_2 CGAL::Arr_polyline_traits_2< SegmentTraits_2 >::Construct_curve_2::operator() ( ForwardIterator  begin,
ForwardIterator  end 
) const

Construct a well-oriented polyline from a range of either SegmentTraits_2::Point_2 or SegmentTraits_2::Segment_2.

Parameters
beginiterator pointing to the first element in the range.
enditerator pointing to the past-the-end element in the range.
Precondition
The given range form a continuous and well-oriented polyline (not tested).
Contains no degenerated segments (not tested)
Returns
A polyline using the corresponding construction implementation.