CGAL 6.0.1 - 2D Arrangements
Loading...
Searching...
No Matches
CGAL::Arr_walk_along_line_point_location< Arrangement > Class Template Reference

#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
ArrangementPointLocation_2
ArrangementVerticalRayShoot_2
See also
ArrangementPointLocation_2
ArrangementVerticalRayShoot_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.