0030655: Modeling Data - Provide interfaces for selection of the elements from BVH...
authoremv <emv@opencascade.com>
Wed, 17 Apr 2019 14:29:02 +0000 (17:29 +0300)
committerbugmaster <bugmaster@opencascade.com>
Tue, 28 May 2019 16:02:22 +0000 (19:02 +0300)
commit7c1a82100041c3b397b8e44925cee83d985e7804
tree87e645e80533d8c85e279997e07017d959b8a6e6
parent1b827f04843bb9323b0e663aacafe3400eaf3eea
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.
24 files changed:
src/BRepExtrema/BRepExtrema_OverlapTool.cxx
src/BRepExtrema/BRepExtrema_OverlapTool.hxx
src/BRepExtrema/BRepExtrema_ShapeProximity.hxx
src/BVH/BVH_Box.hxx
src/BVH/BVH_BoxSet.hxx [new file with mode: 0644]
src/BVH/BVH_Distance.hxx [new file with mode: 0644]
src/BVH/BVH_DistanceField.lxx
src/BVH/BVH_IndexedBoxSet.hxx [new file with mode: 0644]
src/BVH/BVH_PairDistance.hxx [new file with mode: 0644]
src/BVH/BVH_Tools.hxx [new file with mode: 0644]
src/BVH/BVH_Traverse.hxx [new file with mode: 0644]
src/BVH/BVH_Traverse.lxx [new file with mode: 0644]
src/BVH/FILES
src/Bnd/Bnd_Tools.hxx [new file with mode: 0644]
src/Bnd/FILES
src/QABugs/FILES
src/QABugs/QABugs.cxx
src/QABugs/QABugs.hxx
src/QABugs/QABugs_BVH.cxx [new file with mode: 0644]
tests/lowalgos/bvh/bug30655_1 [new file with mode: 0644]
tests/lowalgos/bvh/bug30655_2 [new file with mode: 0644]
tests/lowalgos/bvh/bug30655_3 [new file with mode: 0644]
tests/lowalgos/bvh/bug30655_4 [new file with mode: 0644]
tests/lowalgos/grids.list