MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024751Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2014-03-21 17:292014-05-05 13:39
Reporteremv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 6.7.0 
Target Version[OCCT] 6.7.1Fixed in Version[OCCT] 6.7.1 
Summary0024751: Performance improvements in the Edge/Edge intersection algorithm
DescriptionPerformance improvements in the Edge/Edge intersection algorithm.
Steps To Reproducerestore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
trotate cx 0 0 0 0 1 1 90
bclearobjects
bcleartools
set edges [explode cx e]
set nbe [llength $edges]
for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
bfillds
bbuild r
Additional information
and documentation updates
1. Added new static method PointBoxDistance() to compute distance between point and bounding box.
2. Removed method IntTools_EdgeEdge::FindRoughRanges().
TagsNo tags attached.
Test case numberbugs modalg_5(010) bug24751_1, bug24751_2, bug24751_3, bug24751_4, bug24751_5
Attached Files

- Relationships

-  Notes
(0028464)
emv (developer)
2014-03-25 15:24
edited on: 2014-03-25 15:41

Git branch CR24751 is ready to be reviewed.

I've got the following results:
# 1.
restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
trotate cx 0 0 0 0 0 1 45
bclearo; bcleart;
set edges [explode cx e];set nbe [llength $edges]
for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show

OCCT 6.7.0 - 54.6627504 sec
OCCT dev - 36.5555671 sec
CR24751 - 23.3065494 sec

# 2.
restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
trotate cx 0 0 0 0 1 1 45
bclearo; bcleart;
set edges [explode cx e];set nbe [llength $edges]
for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show

OCCT 6.7.0 - 120.6355733 sec
OCCT dev - 125.2376028 sec
CR24751 - 32.5886089 sec

# 3.
restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
trotate cx 0 0 0 1 1 1 45
bclearo; bcleart;
set edges [explode cx e];set nbe [llength $edges]
for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show

OCCT 6.7.0 - 136.6256758 sec
OCCT dev - 144.924929 sec
CR24751 - 39.7646549 sec

# 4.
restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
trotate cx 0 0 0 0 1 1 90
bclearo; bcleart;
set edges [explode cx e];set nbe [llength $edges]
for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show

OCCT 6.7.0 - 131.8832454 sec
OCCT dev - 148.1697498 sec
CR24751 - 42.2138706 sec

# 5.
restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
trotate cx 0 0 0 1 1 1 90
bclearo; bcleart;
set edges [explode cx e];set nbe [llength $edges]
for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show

OCCT 6.7.0 - 101.5722511 sec
OCCT dev - 110.76071 sec
CR24751 - 35.9114302 sec

(0028477)
pkv (developer)
2014-03-26 05:59

Reviewed
(0028509)
mkv (tester)
2014-03-27 14:27

Dear BugMaster,

Branch CR24751 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: 214e944630a3d6ad16e4cdb9b36f6ebb9661cf7c

Number of compiler warnings:

occt component :
Linux: 29 (29 on master)
Windows: 0 (0 on master)

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR24751-master-occt/Debian60-64/bugs/modalg_5/ [^]
http://occt-tests/CR24751-master-occt/Windows-32-VC9/bugs/modalg_5 [^]
bugs modalg_5 bug24751_1, bug24751_2, bug24751_3, bug24751_4, bug24751_5: OK

Testing on Linux:
Total MEMORY difference: 391380800 / 391531872
Total CPU difference: 52939.49000000006 / 51359.449999999655

Testing on Windows:
Total MEMORY difference: 434111056 / 434230736
Total CPU difference: 36167.125 / 35761.59375

There are no differences in images found by testdiff.

- Related Changesets
occt: master 6b1fe48c
Timestamp: 2014-03-27 13:10:12
Author: emv
Committer: bugmaster
Details ] Diff ]
0024751: Performance improvements in the Edge/Edge intersection algorithm

Added new static method PointBoxDistance() to compute distance between point and bounding box.
Removed method IntTools_EdgeEdge::FindRoughRanges().
Test cases for issue CR24751
mod - src/IntTools/IntTools_EdgeEdge.cdl Diff ] File ]
mod - src/IntTools/IntTools_EdgeEdge.cxx Diff ] File ]
add - tests/bugs/modalg_5/bug24751_1 Diff ] File ]
add - tests/bugs/modalg_5/bug24751_2 Diff ] File ]
add - tests/bugs/modalg_5/bug24751_3 Diff ] File ]
add - tests/bugs/modalg_5/bug24751_4 Diff ] File ]
add - tests/bugs/modalg_5/bug24751_5 Diff ] File ]

- Issue History
Date Modified Username Field Change
2014-03-21 17:29 emv New Issue
2014-03-21 17:29 emv Assigned To => emv
2014-03-25 15:24 emv Note Added: 0028464
2014-03-25 15:24 emv Assigned To emv => pkv
2014-03-25 15:24 emv Status new => resolved
2014-03-25 15:24 emv Additional Information Updated View Revisions
2014-03-25 15:41 emv Note Edited: 0028464 View Revisions
2014-03-26 05:59 pkv Note Added: 0028477
2014-03-26 05:59 pkv Assigned To pkv => mkv
2014-03-26 05:59 pkv Status resolved => reviewed
2014-03-27 14:27 mkv Note Added: 0028509
2014-03-27 14:28 mkv Test case number => bugs modalg_5(010) bug24751_1, bug24751_2, bug24751_3, bug24751_4, bug24751_5
2014-03-27 14:28 mkv Assigned To mkv => bugmaster
2014-03-27 14:28 mkv Status reviewed => tested
2014-03-28 16:38 bugmaster Changeset attached => occt master 6b1fe48c
2014-03-28 16:38 bugmaster Status tested => verified
2014-03-28 16:38 bugmaster Resolution open => fixed
2014-05-05 13:33 aiv Status verified => closed
2014-05-05 13:39 aiv Fixed in Version => 6.7.1


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker