View Issue Details

IDProjectCategoryView StatusLast Update
0028372Open CASCADEOCCT:Foundation Classespublic2021-09-20 10:53
Reporterabv Assigned Toabv  
PrioritynormalSeverityminor 
Status assignedResolutionopen 
Product Version7.1.0 
Target Version7.7.0 
Summary0028372: Foundation Classes - BVH_Tree class refactoring
DescriptionAs 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.
TagsNo tags attached.
Test case number

Relationships

related to 0028368 closedapn Open CASCADE TKMath, BVH - Fix invalid tree height in QBVH 

Activities

abv

2019-09-05 21:12

manager   ~0086820

Is that issue still relevant after #30655?

emv

2019-09-06 07:08

developer   ~0086826

Last edited: 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.

Issue History

Date Modified Username Field Change
2017-01-18 17:30 abv New Issue
2017-01-18 17:30 abv Assigned To => abv
2017-01-18 17:30 abv Relationship added related to 0028368
2017-01-18 17:32 abv Assigned To abv => dbp
2017-01-18 17:32 abv Status new => assigned
2017-07-27 10:38 abv Target Version 7.2.0 => 7.4.0
2019-09-04 12:08 kgv Assigned To dbp =>
2019-09-04 12:08 kgv Summary BVH_Tree class refactoring => Foundation Classes - BVH_Tree class refactoring
2019-09-05 21:12 abv Note Added: 0086820
2019-09-05 21:12 abv Assigned To => emv
2019-09-05 21:12 abv Status assigned => feedback
2019-09-05 21:14 abv Target Version 7.4.0 => 7.5.0
2019-09-06 07:08 emv Note Added: 0086826
2019-09-06 07:08 emv Assigned To emv => abv
2019-09-06 07:08 emv Note Edited: 0086826
2020-09-11 16:13 utverdov Target Version 7.5.0 => 7.6.0
2021-09-20 10:53 kgv Status feedback => assigned
2021-09-20 10:53 kgv Product Version => 7.1.0
2021-09-20 10:53 kgv Target Version 7.6.0 => 7.7.0