]> OCCT Git - occt-copy.git/commit
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)
committernds <nds@opencascade.com>
Tue, 25 Jun 2019 23:26:33 +0000 (02:26 +0300)
commit7bd2826e3f3da72285e76f43a7b0eb6b4e0de0be
treeb6c7e732eee992ed8ec450131c266db1a74f3e52
parent2cabcf39aa38408f2ae927c1a693e59167f29bb6
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)
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