Module box_intersect_ze::internals[][src]

Implementations of the algorithms provided by this crate. You probably want to call the wrappers at the top level of the crate instead.

Functions

hybrid

Streams a segment tree to check if the boxes in intervals intersect those in points, treating the latter as points in dimension dim: intersections are only reported when the low endpoint in dimension dim of a box in points is inside the projection of a box in intervals. If dim > 0, will recursively stream two segment trees in dimension dim - 1, so that each box will be treated both as an interval and as a point.

one_way_scan

Reports intersections between intervals and points by scanning in dimension 0, treating boxes in points as points: intersections are only reported when the low endpoint in dimension 0 of a box in points is inside the projection of a box in intervals.

simulated_one_way_scan

Reports intersections between intervals and points by scanning in dimension 0 (because that’s where boxes are sorted), but pretends it was scanning in dimension max_dim_check by treating points as points there, as in one_way_scan

two_way_scan

Reports intersections between boxes in a and b by scanning in dimension 0, treating each as intervals and points in turn, as if one_way_scan was called twice, once with intervals and points switched