MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0031716Open CASCADE[OCCT] OCCT:Visualizationpublic2020-08-18 16:042020-08-22 16:12
Reporterage 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.5.0Fixed in Version 
Summary0031716: Visualization, Select3D_SensitiveSet::matches() - avoid building BVH in case of full overlapping by the volume
DescriptionTo improve rectangular selection it is needed to avoid building BVH for Select3D_SensitiveSet if its bounding box is fully overlapped by the selection volume. In this case elementIsInside/overlapsElement functions should be called for all elements of Select3D_SensitiveSet without traversing the BVH tree.
Steps To ReproduceNot required
TagsNo tags attached.
Test case numberNot required
Attached Files

- Relationships
child of 0030089closedbugmaster Open CASCADE Visualization - SelectMgr_ViewerSelector::TraverseSensitives() should pass Fully Overlapped state to traverseObject() 

-  Notes
(0093539)
git (administrator)
2020-08-19 09:29

Branch CR31716 has been created by age.

SHA-1: 38ed5c979d7e30a89175215fbde665a020e4b472


Detailed log of new commits:

Author: age
Date: Tue Aug 18 10:08:06 2020 +0300

    0031716: Visualization - Select3D_SensitiveSet::matches() shouldn't build BVH in case of full overlapping by the volume
(0093540)
git (administrator)
2020-08-19 09:49

Branch CR31716 has been updated forcibly by age.

SHA-1: d25babddb090e35bc9022f133329da732ba6b3a9
(0093542)
age (developer)
2020-08-19 11:49

Please review the patch
http://jenkins-test-12.nnov.opencascade.com/view/CR31716-master-AGE/view/COMPARE/ [^]
(0093543)
kgv (developer)
2020-08-19 12:15
edited on: 2020-08-19 12:16

Please adjust a commit description to a corrected bug title.
Please put some comparison numbers here on bugtracker showing the performance difference.

+  //! Process elements overlapped by the selection volume
+  //! @param theMgr selection manager
+  //! @param thePickResult picking result (for picking by ray)
+  //! @param theFirstElem index of the first element
+  //! @param theLastElem index of the last element
+  //! @param theIsFullInside when TRUE indicates that entire BVH node is already inside selection volume

+  //! @param theMatchesNb [OUT] number of processed elements
+  Standard_EXPORT Standard_Boolean processElements (SelectBasics_SelectingVolumeManager& theMgr,

+                                                    SelectBasics_PickResult& thePickResult,
+                                                    Standard_Integer theFirstElem,
+                                                    Standard_Integer theLastElem,
+                                                    Standard_Boolean theIsFullInside,
+                                                    Standard_Boolean theToCheckAllInside,
+                                                    Standard_Integer& theMatchesNb);

@return description is missing.
It is better grouping output parameters together - please move theMatchesNb after thePickResult.

(0093545)
git (administrator)
2020-08-19 12:52

Branch CR31716 has been updated forcibly by age.

SHA-1: 371fec02e26cb9215aed2c01cc21de222020b518
(0093546)
age (developer)
2020-08-19 14:30

Remarks have been fixed

Comparison:
1) Model with 300K faces, 75M triangles
   First time rectangular selection (whole model) - 10s/30s (new/old)
2) 150K faces, 8M triangles - 5s/11s
3) 15K faces, 10M triangles - 4s/10s
(0093547)
kgv (developer)
2020-08-19 14:35

Please raise the patch in OCCT branch CR31716.
(0093591)
bugmaster (administrator)
2020-08-22 16:01

Combination -
OCCT branch : IR-2020-08-21
master SHA - 1d99a2baaa614856d8ef8b0a9975af5c3bdf92c6
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2020-08-21 SHA - 9541102e96ff9ee3aeec6e3e32f20f63b3b38556
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17322.48000000014 / 17160.470000000118 [+0.94%]
Products
Total CPU difference: 11882.560000000085 / 11820.020000000079 [+0.53%]
Windows-64-VC14:
OCCT
Total CPU difference: 18716.078125 / 18725.125 [-0.05%]
Products
Total CPU difference: 13242.09375 / 13316.109375 [-0.56%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0093601)
git (administrator)
2020-08-22 16:12

Branch CR31716 has been deleted by inv.

SHA-1: 371fec02e26cb9215aed2c01cc21de222020b518

- Related Changesets
occt: master f3269ef5
Timestamp: 2020-08-18 07:08:06
Author: age
Committer: bugmaster
Details ] Diff ]
0031716: Visualization, Select3D_SensitiveSet::matches() - avoid building BVH in case of full overlapping by the volume
mod - src/Select3D/Select3D_SensitiveSet.cxx Diff ] File ]
mod - src/Select3D/Select3D_SensitiveSet.hxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2020-08-18 16:04 age New Issue
2020-08-18 16:04 age Assigned To => age
2020-08-18 16:10 kgv Relationship added related to 0030058
2020-08-18 16:10 kgv Relationship added related to 0030089
2020-08-18 16:11 kgv Relationship replaced child of 0030089
2020-08-18 16:11 kgv Severity minor => feature
2020-08-19 09:29 git Note Added: 0093539
2020-08-19 09:49 git Note Added: 0093540
2020-08-19 09:59 age Status new => assigned
2020-08-19 11:49 age Note Added: 0093542
2020-08-19 11:49 age Assigned To age => kgv
2020-08-19 11:49 age Status assigned => resolved
2020-08-19 11:49 age Steps to Reproduce Updated View Revisions
2020-08-19 12:13 kgv Summary Visualization - Select3D_SensitiveSet::matches() shouldn't build BVH in case of full overlapping by the volume => Visualization, Select3D_SensitiveSet::matches() - avoid building BVH in case of full overlapping by the volume
2020-08-19 12:15 kgv Note Added: 0093543
2020-08-19 12:15 kgv Assigned To kgv => age
2020-08-19 12:15 kgv Status resolved => assigned
2020-08-19 12:16 kgv Note Edited: 0093543 View Revisions
2020-08-19 12:52 git Note Added: 0093545
2020-08-19 14:30 age Note Added: 0093546
2020-08-19 14:30 age Assigned To age => kgv
2020-08-19 14:30 age Status assigned => resolved
2020-08-19 14:35 kgv Note Added: 0093547
2020-08-19 14:35 kgv Assigned To kgv => bugmaster
2020-08-19 14:35 kgv Status resolved => reviewed
2020-08-22 16:01 bugmaster Note Added: 0093591
2020-08-22 16:01 bugmaster Status reviewed => tested
2020-08-22 16:03 bugmaster Test case number => Not required
2020-08-22 16:06 bugmaster Changeset attached => occt master f3269ef5
2020-08-22 16:06 bugmaster Status tested => verified
2020-08-22 16:06 bugmaster Resolution open => fixed
2020-08-22 16:12 git Note Added: 0093601


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker