occt: master 7c1a8210

Author Committer Branch Timestamp Parent
emv bugmaster master 2019-04-17 14:29:02 master 1b827f04
Changeset 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.
add - src/Bnd/Bnd_Tools.hxx Diff File
mod - src/Bnd/FILES Diff File
mod - src/BRepExtrema/BRepExtrema_OverlapTool.cxx Diff File
mod - src/BRepExtrema/BRepExtrema_OverlapTool.hxx Diff File
mod - src/BRepExtrema/BRepExtrema_ShapeProximity.hxx Diff File
mod - src/BVH/BVH_Box.hxx Diff File
add - src/BVH/BVH_BoxSet.hxx Diff File
add - src/BVH/BVH_Distance.hxx Diff File
mod - src/BVH/BVH_DistanceField.lxx Diff File
add - src/BVH/BVH_IndexedBoxSet.hxx Diff File
add - src/BVH/BVH_PairDistance.hxx Diff File
add - src/BVH/BVH_Tools.hxx Diff File
add - src/BVH/BVH_Traverse.hxx Diff File
add - src/BVH/BVH_Traverse.lxx Diff File
mod - src/BVH/FILES Diff File
mod - src/QABugs/FILES Diff File
mod - src/QABugs/QABugs.cxx Diff File
mod - src/QABugs/QABugs.hxx Diff File
add - src/QABugs/QABugs_BVH.cxx Diff File
add - tests/lowalgos/bvh/bug30655_1 Diff File
add - tests/lowalgos/bvh/bug30655_2 Diff File
add - tests/lowalgos/bvh/bug30655_3 Diff File
add - tests/lowalgos/bvh/bug30655_4 Diff File
mod - tests/lowalgos/grids.list Diff File