CGAL 6.2 - 2D Arrangements

Loading...
Searching...
No Matches
List of all members
AosTraits::ApproximateUnbounded_2 Concept Reference
Reference Manual » Concepts » Function Object Concepts

## Definition

Refines
  `Approximate_2`

Has models
  `AosApproximatePointTraits_2::Approximate_2`
  `AosApproximateTraits_2::Approximate_2`
  `AosApproximateUnboundedTraits_2::Approximate_2`

## Operations
A model of this concept must provide:
template<typename OutputIterator >
OutputIterator | operator() (const X_monotone_curve_2 &xcv, double error, OutputIterator oi, const Bbox_2 &bbox, bool l2r=true) const
| approximates a given \(x\)-monotone curve constrained to a bounding box.

## Member Function Documentation

## ◆ operator()()

template<typename OutputIterator >

OutputIterator AosTraits::ApproximateUnbounded_2::operator() | ( | const X_monotone_curve_2 & | xcv,
|  | double | error,
|  | OutputIterator | oi,
|  | const Bbox_2 & | bbox,
|  | bool | l2r = `true`
| ) |  | const

approximates a given \(x\)-monotone curve constrained to a bounding box.

It computes one or more sequences of approximate points that represent the disconnected portions of a polyline that approximates `xcv` within the bounding box `bbox`, and inserts them into output containers given through the output iterator `oi`. The first point of the first sequence and the last point of the last sequence are always approximations of the endpoints of the given curve.

Parameters

  xcv | The exact \(x\)-monotone curve.
  error | The error bound of the polyline approximation. This is the Hausdorff distance between the curve and the polyline that approximates the curve.
  oi | An output iterator for the output containers.
  bbox | the bounding box.
  l2r | A Boolean flag that indicates whether the curve direction is left to right.

Returns
  The past-the-end iterator of the output container.

Precondition
  Dereferencing `oi` must yield an object the type of which is a container, where the value type of this container is `AosApproximateTraits_2::Approximate_point_2`.