CGAL 4.3 - 2D Arrangements
|
#include <CGAL/Arr_polyline_traits_2.h>
The Curve_2
class nested within the polyline traits is used to represent general continuous piecewise-linear curves (a polyline can be self-intersecting) and support their construction from any range of points.
The copy and default constructor as well as the assignment operator are provided for polyline curves. In addition, an operator<<
for the curves is defined for standard output streams, and an operator>>
for the curves is defined for standard input streams.
Types | |
typedef unspecified_type | const_iterator |
A bidirectional iterator that allows traversing the points that comprise a polyline curve. | |
typedef unspecified_type | const_reverse_iterator |
A bidirectional iterator that allows traversing the points that comprise a polyline curve. | |
Creation | |
Curve_2 () | |
default constructor that constructs an empty polyline. | |
template<class InputIterator > | |
Curve_2 (Iterator first, Iterator last) | |
constructs a polyline defined by the given range of points [first, last) (the value-type of InputIterator must be SegmentTraits::Point_2 . More... | |
Access Functions | |
size_t | points () const |
returns the number of points that comprise the polyline. More... | |
const_iterator | begin () const |
returns an iterator pointing at the source point of the polyline. | |
const_iterator | end () const |
returns an iterator pointing after the end of the polyline. | |
const_iterator | rbegin () const |
returns an iterator pointing at the target point of the polyline. | |
const_iterator | rend () const |
returns an iterator pointing before the beginning of the polyline. | |
size_t | size () const |
returns the number of line segments comprising the polyline (equivalent to pi.points() - 1 ). | |
SegmentTraits::X_monotone_curve_2 | operator[] (size_t k) const |
returns the \( k\)th segment of the polyline. More... | |
Bbox_2 | bbox () const |
return a bounding box of the polyline pi . | |
Operations | |
void | push_back (const Point_2 &p) |
adds a new point to the polyline, which becomes the new target point of pi . | |
void | clear () |
resets the polyline. | |
CGAL::Arr_polyline_traits_2< SegmentTraits >::Curve_2::Curve_2 | ( | Iterator | first, |
Iterator | last | ||
) |
constructs a polyline defined by the given range of points [first, last)
(the value-type of InputIterator
must be SegmentTraits::Point_2
.
If the range contains \( (n + 1)\) points labeled \( (p_{0},p_{1},\ldots,p_{n})\), the generated polyline consists of \( n\) segments, where the \( k\)th segment is defined by the endpoints \( [p_{k-1},p_{k}]\). The first point in the range is considered as the source point of the polyline while the last point is considered as its target.
SegmentTraits::X_monotone_curve_2 CGAL::Arr_polyline_traits_2< SegmentTraits >::Curve_2::operator[] | ( | size_t | k) | const |
returns the \( k\)th segment of the polyline.
k
is not greater or equal to pi.size() - 1
. size_t CGAL::Arr_polyline_traits_2< SegmentTraits >::Curve_2::points | ( | ) | const |
returns the number of points that comprise the polyline.
Note that if there are \( n\) points in the polyline, it is comprised of \( (n - 1)\) segments.