0030655: Modeling Data - Provide interfaces for selection of the elements from BVH tree
Provide the easy to use interfaces for selection of the elements from BVH tree.
The selection rules should be implemented in the selector class derived from *BVH_Traverse* or in *BVH_PairTraverse* in Reject/Accept methods.
The *BVH_Traverse* is used for selection of the elements from the tree.
The *BVH_PairTraverse* is used for selection of the pairs of elements from two BVH trees.
Auxiliary changes:
- Two methods BVH_Box::IsOut(OtherBox) and BVH_Box::IsOut(Point) have been added;
- Added methods for conversion of Bnd boxes to BVH boxes
Added new class *BVH_Tools* containing useful static methods operating on BVH points and boxes.
The classes BRepExtrema_OverlapTool and BVH_DistanceField have been rebased to use the new traverse methods.
(cherry picked from commit
7c1a82100041c3b397b8e44925cee83d985e7804)
# Conflicts:
# src/BVH/BVH_Box.hxx
# src/BVH/BVH_DistanceField.lxx
# tests/lowalgos/grids.list
(cherry picked from commit
345f4e6b1f952e17be69081fb0a3282fe7100722)