MantisBT - Open CASCADE
View Issue Details
0025970Open CASCADE[OCCT] OCCT:Shape Healingpublic2015-03-23 11:202019-09-04 12:58
abv 
gka 
normalminor 
assignedopen 
 
[OCCT] 7.5.0* 
0025970: Shape Healing - enable parallel reconstruction of pcurves
As reported e.g. in 0022598:0034439, it is typical that most of the time of data translation from STEP is taken by reconstructing pcurves (projection). This operation can be easily run in parallel, as pcurve is generated independently for each edge (there is some dependency however through evaluating the same surface, this should be resolved by 0024682 if each thread uses its own surface adaptor).

See ShapeFix_Wire::FixEdgeCurves() as the main function. Note that apart of pcurve projection, SameParameter operation can also take considerable time and may deserve paralleling.

The parallel execution should be enabled by some option available in ShapeFix_Wire and also in DE resource files (see ShapeProcessAPI).
No tags attached.
related to 0024682closed bugmaster Open CASCADE Move out B-spline cache from curves and surfaces to dedicated classes BSplCLib_Cache and BSplSLib_Cache 
Issue History
2015-03-23 11:20abvNew Issue
2015-03-23 11:20abvAssigned To => gka
2015-03-23 11:20abvAssigned Togka => azn
2015-03-23 11:20abvStatusnew => assigned
2015-03-23 11:20abvRelationship addedrelated to 0022598
2015-03-23 11:20abvRelationship addedrelated to 0024682
2015-04-16 23:57abvTarget Version6.9.0 => 7.1.0
2015-06-03 14:01gitNote Added: 0041900
2015-08-03 09:14msvAssigned Toazn => gka
2016-10-26 12:06gkaTarget Version7.1.0 => 7.2.0
2017-07-27 09:33abvTarget Version7.2.0 => 7.4.0
2019-09-04 12:58abvTarget Version7.4.0 => 7.5.0*

Notes
(0041900)
git   
2015-06-03 14:01   
Branch CR25970 has been created by azn.

SHA-1: e423f87ee843eb01bdfd63f2fe92610448c8bdf4


Detailed log of new commits:

Author: azn
Date: Tue Mar 31 13:44:33 2015 +0300

    25970: Shape Healing - enable parallel reconstruction of pcurves
    
    - Parallel context for adding pcurve has been updated.
    - Fix some problems connected with dataraces and locks.
    - Integration of parallel processing pcurves to the ShapeFix_Wire::FixEdgeCurves();