CGAL 6.1.2 - 2D Arrangements: CGAL::Arr_walk_along_line_point_location< Arrangement > Class Template Reference

CGAL 6.1.2 - 2D Arrangements

Loading...
Searching...
No Matches
CGAL::Arr_walk_along_line_point_location< Arrangement > Class Template Reference
Reference Manual » Point Location

`#include <CGAL/Arr_walk_along_line_point_location.h>`

## Definition

template<typename Arrangement>
class CGAL::Arr_walk_along_line_point_location< Arrangement >

The `Arr_walk_along_line_point_location` class implements a very simple point-location (and vertical ray-shooting) strategy that improves the naive one. The algorithm considers an imaginary vertical ray emanating from the query point, and simulates a walk along the zone of this ray, starting from the unbounded face until reaching the query point. In dense arrangements this walk can considerably reduce the number of traversed arrangement edges, with respect to the naïve algorithm.

The walk-along-a-line point-location object (just like the naïve one) does not use any auxiliary data structures. Thus, attaching it to an existing arrangement takes constant time, and any ongoing updates to this arrangement do not affect the point-location object. It is therefore recommended to use the "walk" point-location strategy for arrangements that are constantly changing, especially if the number of issued queries is not large.

Is model of
  `AosPointLocation_2`
  `AosVerticalRayShoot_2`

See also
  `AosPointLocation_2`
  `AosVerticalRayShoot_2`
  `CGAL::Arr_point_location_result<Arrangement>`

Examples
  Arrangement_on_surface_2/edge_manipulation_curve_history.cpp, and Arrangement_on_surface_2/vertical_ray_shooting.cpp.