MantisBT - Open CASCADE
View Issue Details
0028372Open CASCADE[OCCT] OCCT:Foundation Classespublic2017-01-18 17:302020-09-11 16:13
[OCCT] 7.6.0* 
0028372: Foundation Classes - BVH_Tree class refactoring
As discovered during review of fix for 0028368, current implementation of class BVH_Tree is confusing:

1. Structures BVH_BinaryTree (and BVH_QuadTree) and class BVH_TreeBase are defined not in the same-named headers but in BVH_Tree.hxx. This looks illogical. Note that in OCCT we have convention that a class should notmally be defined within the same-name header.

2. The names like BVH_Tree and BVH_BinaryTree are suggesting that the latter is successor of the former. This is not the case. Instead, BVH_Tree is dummy that has two specializations, while BVH_BinaryTree and BVH_QuadTree are just tags used to trigger specializations. It seems to be more straightforward just to define class BVH_Tree (or BVH_TreeBase) and two descendants, BVH_BinaryTree and BVH_QuadTree, providing relevant specializations.
No tags attached.
related to 0028368closed apn Open CASCADE TKMath, BVH - Fix invalid tree height in QBVH 
Issue History
2017-01-18 17:30abvNew Issue
2017-01-18 17:30abvAssigned To => abv
2017-01-18 17:30abvRelationship addedrelated to 0028368
2017-01-18 17:32abvAssigned Toabv => dbp
2017-01-18 17:32abvStatusnew => assigned
2017-07-27 10:38abvTarget Version7.2.0 => 7.4.0
2019-08-13 12:59kgvRelationship addedrelated to 0030655
2019-09-04 12:08kgvAssigned Todbp =>
2019-09-04 12:08kgvSummaryBVH_Tree class refactoring => Foundation Classes - BVH_Tree class refactoring
2019-09-05 21:12abvNote Added: 0086820
2019-09-05 21:12abvAssigned To => emv
2019-09-05 21:12abvStatusassigned => feedback
2019-09-05 21:14abvTarget Version7.4.0 => 7.5.0
2019-09-06 07:08emvNote Added: 0086826
2019-09-06 07:08emvAssigned Toemv => abv
2019-09-06 07:08emvNote Edited: 0086826bug_revision_view_page.php?bugnote_id=86826#r21764
2020-09-11 16:13utverdovTarget Version7.5.0 => 7.6.0*

2019-09-05 21:12   
Is that issue still relevant after #30655?
2019-09-06 07:08   
The issue is still relevant. The intent of #0030655 was to provide interfaces for simple usage of BVH tree, not its refactoring.