]> 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>
Thu, 6 Jun 2019 05:58:39 +0000 (08:58 +0300)
commit345f4e6b1f952e17be69081fb0a3282fe7100722
tree9a6ddbe225367c3a4307c37c02472d48adc1dbf0
parent92d37d55f815fe98b54e6253ce476d7a7624076a
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
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