View Issue Details

IDProjectCategoryView StatusLast Update
0031942Open CASCADEOCCT:Modeling Algorithmspublic2021-09-04 16:25
Reportertma Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2012 
Product Version7.4.0 
Target Version7.6.0Fixed in Version7.6.0 
Summary0031942: Modeling Algorithms - add possibility to abort the BRepExtrema_DistShapeShape algorithm
DescriptionAlgorithm works long in DMUReviewer application.

We'd like to give the user the possbibility to break the computations.

Optimization of the algorithm for the attached case is wellcome as well.
Steps To ReproduceLoad the attached xbf model. It contains 2 shapes.
Call BRepExtrema_DistShapeShape algo for the imported shapes.

Perform() method takes ~ 7.09 secs. OSD_Timer is used to measure the time of algo work.
Additional information
and documentation updates
System info:
OS Name Microsoft Windows 10 Pro
Version 10.0.17763 Build 17763
Processor Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz, 3201 Mhz, 4 Core(s), 4 Logical Processor(s)
BIOS Version/Date American Megatrends Inc. 1301, 8/20/2013
Installed Physical Memory (RAM) 16.0 GB
Adapter Description NVIDIA GeForce GTS 450
Adapter RAM 1.00 GB (1,073,741,824 bytes)


TagsNo tags attached.
Test case numberNot required

Attached Files

  • 1369.xbf (963,279 bytes)

Relationships

related to 0025748 closedabv Foundation Classes - Parallel version of progress indicator 
related to 0032539 closedsmoskvin Modeling Algorithms - Parallelize BRepExtrema_DistShapeShape algorithm 

Activities

tma

2020-11-16 16:18

developer  

1369.xbf (963,279 bytes)

szy

2021-08-17 12:27

manager   ~0103253

Estimate, please first and report me the expected time.

asuraven

2021-08-17 17:23

developer   ~0103264

git

2021-08-18 15:06

administrator   ~0103273

Branch CR31942 has been created by asuraven.

SHA-1: e56bf1c3967cb0d32bc18df03971f37737209766


Detailed log of new commits:

Author: asuraven
Date: Wed Aug 18 15:05:58 2021 +0300

    0031942: Modeling Algorithms - add possibility to abort the BRepExtrema_DistShapeShape algorithm
    
    - Now available to interrupt the DRAW 'distmini' command by Ctrl/C
    - Message_ProgressRange/Message_ProgressScope used in BRepExtrema_DistShapeShape::Perform() to provide user break

git

2021-08-18 15:24

administrator   ~0103275

Branch CR31942 has been updated forcibly by asuraven.

SHA-1: 7150194e775f3cb10e20d89f6da91a8ae00bec3f

asuraven

2021-08-18 16:03

developer   ~0103276

git

2021-08-24 18:16

administrator   ~0103418

Branch CR31942 has been updated forcibly by asuraven.

SHA-1: 42ca9f3964e64e2ea9b15e3f62dc12e87634575a

asuraven

2021-08-25 10:59

developer   ~0103430

git

2021-08-30 13:13

administrator   ~0103533

Branch CR31942 has been updated forcibly by asuraven.

SHA-1: b440f2643fdbdff6ff622c570f79fba9c016deb2

git

2021-08-30 16:06

administrator   ~0103549

Branch CR31942 has been updated forcibly by asuraven.

SHA-1: 93537d5862c768a6338c0034856b4f95213e9e11

asuraven

2021-08-30 19:46

developer   ~0103560

Tests results:
http://jenkins-test-occt.nnov.opencascade.com/view/CR31942-master-ASURAVEN/view/COMPARE/

kgv

2021-08-30 21:46

developer   ~0103564

+  catch (StdFail_NotDone)

This would generate GCC/CLang warnings. Please do not catch exceptions by value.

Why exception is necessary here anyway - to reduce amount of code for checks?
Normally, progress abortion is handled without any exceptions.

msv

2021-08-31 12:48

developer   ~0103578

    if (!aBoxScope.More())
    {
      throw StdFail_NotDone();
    }

I join the remark of Kirill. Please do abortion without throwing exceptions.

  Message_ProgressScope aTwinScope(theRange, NULL, 2);

You set proportion between the box pairs creation and distance calculations as 1:1. It will lead to non-smooth behavior of progress indicator. It is needed to conduct some experiments to know the real proportion. It may be something like 1:9 or so on.

  Message_ProgressScope aRootScope(theRange, "SolidTreatment", aRootStepsNum);

Why the root scope is named SolidTreatment? SolidTreatment is just one of steps.

git

2021-08-31 15:21

administrator   ~0103582

Branch CR31942_1 has been created by asuraven.

SHA-1: 0e1dbc220bf1777ed4bb1f635ddefb247209d6a4


Detailed log of new commits:

Author: asuraven
Date: Wed Aug 18 15:05:58 2021 +0300

    0031942: Modeling Algorithms - add possibility to abort the BRepExtrema_DistShapeShape algorithm
    
    - Now available to interrupt the DRAW 'distmini' command by Ctrl/C
    - Message_ProgressRange/Message_ProgressScope used in BRepExtrema_DistShapeShape::Perform() to provide user break

asuraven

2021-08-31 15:23

developer   ~0103583

remarks fixed in branch CR31942_1

asuraven

2021-08-31 17:38

developer   ~0103586

tests result:
http://jenkins-test-occt.nnov.opencascade.com/view/CR31942_1-master-ASURAVEN/view/COMPARE/

msv

2021-09-01 11:05

developer   ~0103611

For integration:

occt - CR31942_1
products - none

smoskvin

2021-09-04 14:24

administrator   ~0103750

Combination -
OCCT branch : IR-2021-09-03
master SHA - f26ee38f2a309ffbf7de4eebbcef2c5a5c57d84e
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-09-03 SHA - 87cca1a8f3dd94387a936b9d49f5bd719c69cf4d
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: 17495.94000000042 / 17441.55000000031 [+0.31%]
Products
Total CPU difference: 11565.440000000113 / 11534.270000000102 [+0.27%]
Windows-64-VC14:
OCCT
Total CPU difference: 19307.140625 / 19200.421875 [+0.56%]
Products
Total CPU difference: 12917.859375 / 12874.53125 [+0.34%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-09-04 14:59

administrator   ~0103785

Branch CR31942 has been deleted by mnt.

SHA-1: 93537d5862c768a6338c0034856b4f95213e9e11

git

2021-09-04 14:59

administrator   ~0103786

Branch CR31942_1 has been deleted by mnt.

SHA-1: 0e1dbc220bf1777ed4bb1f635ddefb247209d6a4

Related Changesets

occt: master 82bee162

2021-08-18 12:05:58

asuraven


Committer: bugmaster Details Diff
0031942: Modeling Algorithms - add possibility to abort the BRepExtrema_DistShapeShape algorithm

- Now available to interrupt the DRAW 'distmini' command by Ctrl/C
- Message_ProgressRange/Message_ProgressScope used in BRepExtrema_DistShapeShape::Perform() to provide user break
Affected Issues
0031942
mod - src/BRepExtrema/BRepExtrema_DistShapeShape.cxx Diff File
mod - src/BRepExtrema/BRepExtrema_DistShapeShape.hxx Diff File
mod - src/BRepTest/BRepTest_ExtremaCommands.cxx Diff File

Issue History

Date Modified Username Field Change
2020-11-16 16:18 tma New Issue
2020-11-16 16:18 tma Assigned To => msv
2020-11-16 16:18 tma File Added: 1369.xbf
2020-11-16 18:09 msv Steps to Reproduce Updated
2020-11-18 11:17 kgv Severity minor => feature
2020-11-18 11:17 kgv Summary Add possibility to break the BRepExtrema_DistShapeShape algorithm => Modeling Algorithms - add possibility to abort the BRepExtrema_DistShapeShape algorithm
2021-08-17 12:27 szy Note Added: 0103253
2021-08-17 12:27 szy Assigned To msv => asuraven
2021-08-17 12:27 szy Status new => assigned
2021-08-17 17:10 asuraven Relationship added related to 0025748
2021-08-17 17:23 asuraven Note Added: 0103264
2021-08-17 17:33 asuraven Relationship added related to 0032539
2021-08-18 15:06 git Note Added: 0103273
2021-08-18 15:24 git Note Added: 0103275
2021-08-18 16:03 asuraven Note Added: 0103276
2021-08-24 18:16 git Note Added: 0103418
2021-08-25 10:59 asuraven Note Added: 0103430
2021-08-30 13:13 git Note Added: 0103533
2021-08-30 16:06 git Note Added: 0103549
2021-08-30 19:46 asuraven Note Added: 0103560
2021-08-30 19:46 asuraven Assigned To asuraven => msv
2021-08-30 19:46 asuraven Status assigned => resolved
2021-08-30 21:46 kgv Note Added: 0103564
2021-08-31 12:48 msv Note Added: 0103578
2021-08-31 12:49 msv Assigned To msv => asuraven
2021-08-31 12:49 msv Status resolved => assigned
2021-08-31 15:21 git Note Added: 0103582
2021-08-31 15:23 asuraven Note Added: 0103583
2021-08-31 15:23 asuraven Assigned To asuraven => msv
2021-08-31 15:23 asuraven Status assigned => resolved
2021-08-31 17:38 asuraven Note Added: 0103586
2021-09-01 11:05 msv Note Added: 0103611
2021-09-01 11:05 msv Assigned To msv => bugmaster
2021-09-01 11:05 msv Status resolved => reviewed
2021-09-04 14:24 smoskvin Note Added: 0103750
2021-09-04 14:24 smoskvin Status reviewed => tested
2021-09-04 14:36 bugmaster Changeset attached => occt master 82bee162
2021-09-04 14:36 bugmaster Status tested => verified
2021-09-04 14:36 bugmaster Resolution open => fixed
2021-09-04 14:59 git Note Added: 0103785
2021-09-04 14:59 git Note Added: 0103786
2021-09-04 16:25 smoskvin Test case number => Not required