View Issue Details

IDProjectCategoryView StatusLast Update
0027063Open CASCADEOCCT:Modeling Algorithmspublic2016-04-20 15:50
ReporterabvAssigned Toabv 
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.0.0Fixed in Version7.0.0 
Summary0027063: BRepGProps raises exception on edge with no curves
DescriptionThis is spin-off of the issue 0024397: BRepGProps raises exception on edge with no curves (produced by copying the wire containing degenerated edge). The fix is to skip such edges.
Steps To Reproducetest bugs modalg_5 bug27063
TagsNo tags attached.
Test case numberbugs modalg_5 bug27063

Attached Files

  • bug27063_emptyedge.brep (554 bytes)

Relationships

child of 0024397 assignedifv BRepBuilderAPI_Copy works not correct 

Activities

git

2016-01-08 00:33

administrator   ~0049721

Branch CR27063 has been created by abv.

SHA-1: 66b163141cb0872b0897bf6a33ba90ef1887773a


Detailed log of new commits:

Author: ifv
Date: Tue Dec 10 15:40:40 2013 +0400

    0027063: BRepGProps raises exception on edge with no curves
    
    Method BRepGProp::LinearProperties() is corrected to skip degenerated edges and edges without curves (their length is zero). This prevents exception on shapes that contain such edges, e.g. copy of a wire containing degenerated edge.
    
    Method BRep_Tool::IsGeometric() is optimized to avoid nested iteration for check of 3D curve for Null.

abv

2016-01-08 00:38

manager   ~0049722

Mikhail, I discovered issue 0024397 assigned to me in Feedback status (I do not have clear idea why), and branch with fix, made two years ago. I have registered that new issue for that fix. The fix (slightly improved) is in branch CR24397_1, please review.

Note that the fix just prevents exception in lprops on edges without any curves. Other inconsistencies that arise with use of BRepBuilderAPI_Copy on wires containing degenerated edges shall be addressed in the scope of 0024397.

abv

2016-01-08 01:10

manager  

bug27063_emptyedge.brep (554 bytes)

msv

2016-01-09 01:07

developer   ~0049747

Dear Andrey, there is no such branch CR24397_1, so I will review CR27063.

msv

2016-01-09 01:13

developer   ~0049748

Reviewed.

abv

2016-01-09 06:32

manager   ~0049751

Yep, sorry, CR27063 is correct branch, thank you!

apv

2016-01-12 19:22

tester   ~0049802

Last edited: 2016-01-12 19:23

Dear BugMaster,

Branch CR27063 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 66b163141cb0872b0897bf6a33ba90ef1887773a

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 134 (134 on master)
products component:
   Linux: 37 (37 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
http://occt-tests/CR27063-master-occt-64/Debian70-64/summary.html
http://occt-tests/CR27063-master-occt-64/Windows-64-VC10/summary.html
blend complex D4
heal wire_tails_real A5, A7

Testing cases:
bugs modalg_5 bug27063 - OK
http://occt-tests/CR27063-master-occt-64/Debian70-64/bugs/modalg_5/bug27063.html
http://occt-tests/CR27063-master-occt-64/Windows-64-VC10/bugs/modalg_5/bug27063.html

Testing on Linux:
Total MEMORY difference: 88998476 / 89144581 [-0.16%]
Total CPU difference: 18932.969999999903 / 19099.119999999955 [-0.87%]

Testing on Windows:
Total MEMORY difference: 56651064 / 56914420 [-0.46%]
Total CPU difference: 18023.325933398995 / 18719.19959409909 [-3.72%]

apv

2016-01-12 19:24

tester   ~0049803

Dear abv,

Branch CR27063 has been rejected due to:
- regressions/differences/improvements

msv

2016-01-15 11:00

developer   ~0049882

Dear Igor, could you complete activity on this bug?

ifv

2016-01-21 18:46

developer   ~0050031

Branch CR27063 is updated to fix regressions and ready for review

git

2016-01-22 09:58

administrator   ~0050038

Branch CR27063 has been updated forcibly by ifv.

SHA-1: 1bc3075d67adb24a143524d3c042b7a4b2ba35f9

msv

2016-01-22 12:14

developer   ~0050043

Reviewed.

git

2016-01-22 15:02

administrator   ~0050062

Branch CR27063 has been updated forcibly by mkv.

SHA-1: 5672ca557062d5217e9853d6d3dbd3eb885f6299

mkv

2016-01-25 18:14

tester   ~0050109

Dear BugMaster,
Branch CR27063 was rebased on current master of occt git-repository.
SHA-1: 5672ca557062d5217e9853d6d3dbd3eb885f6299

mkv

2016-01-25 18:15

tester   ~0050110

Dear BugMaster,
Branch CR27063 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 5672ca557062d5217e9853d6d3dbd3eb885f6299

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 1 (1 on master)

products component :
Linux: 36 (36 on master)
Windows: 0 (0 on master)

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
http://occt-tests/CR27063-master-occt-64/Debian70-64/bugs/modalg_5/bug27063.html
http://occt-tests/CR27063-master-occt-64/Windows-64-VC10/bugs/modalg_5/bug27063.html
bugs modalg_5 bug27063 - OK

Testing on Linux:
occt component :
Total MEMORY difference: 89982873 / 89616624 [+0.41%]
Total CPU difference: 19068.269999999917 / 19155.7700000001 [-0.46%]
products component :
Total MEMORY difference: 25645407 / 25586674 [+0.23%]
Total CPU difference: 8379.400000000018 / 8527.089999999978 [-1.73%]

Testing on Windows:
occt component :
Total MEMORY difference: 57231417 / 57250493 [-0.03%]
Total CPU difference: 17872.41056599899 / 18418.882068999024 [-2.97%]
products component :
Total MEMORY difference: 17256400 / 17270013 [-0.08%]
Total CPU difference: 5817.090088800004 / 6201.835355099963 [-6.20%]

There are no differences in images found by testdiff.

mkv

2016-01-25 18:15

tester   ~0050111

Dear BugMaster,
Branch CR27063 is TESTED.

msv

2016-01-28 11:33

developer   ~0050177

It is decided to revise the fix in order to avoid taking into account tolerance of vertex when counting linear properties of degenerated edges. I.e., length of such edges must be 0 as it was before fix.

git

2016-01-28 13:26

administrator   ~0050183

Branch CR27063 has been updated forcibly by ifv.

SHA-1: 3d1278e3c6172c4094fe36c4e8124fa148dddb9c

ifv

2016-01-28 13:34

developer   ~0050184

CR27063 is updated to keep old treatment of degenerated edges.
For example, length of degenerated edge of sphere with r = 1 is ~ 3.e-16 because of calculation errors.

msv

2016-01-28 14:37

developer   ~0050190

Reviewed.

git

2016-01-28 16:17

administrator   ~0050203

Branch CR27063 has been updated forcibly by apv.

SHA-1: ccba34165a16025612e8c83ee6202594624b03f4

apv

2016-01-28 16:18

tester   ~0050204

Branch CR27063 has been rebased on the IR-2016-01-28

apv

2016-01-29 13:27

tester   ~0050229

Last edited: 2016-01-29 15:42

Dear BugMaster,

Branch CR27063 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: ccba34165a16025612e8c83ee6202594624b03f4

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MacOS: 1 (1 on master)
products component:
   Linux: 36 (36 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
Not detected

Testing cases:
bugs modalg_5 bug27063 - OK
http://occt-tests/CR27063-master-occt-64/Debian70-64/bugs/modalg_5/bug27063.html
http://occt-tests/CR27063-master-occt-64/Windows-64-VC10/bugs/modalg_5/bug27063.html

Testing on Linux:
Total MEMORY difference: 89893395 / 89391706 [+0.56%]
Total CPU difference: 19056.519999999866 / 19103.659999999923 [-0.25%]

Testing on Windows:
Total MEMORY difference: 57285605 / 57306148 [-0.04%]
Total CPU difference: 18067.77061829912 / 18574.103063998933 [-2.73%]

git

2016-04-17 13:40

administrator   ~0052896

Branch CR27063 has been deleted by kgv.

SHA-1: ccba34165a16025612e8c83ee6202594624b03f4

Related Changesets

occt: master a4ed7309

2013-12-10 11:40:40

abv


Committer: abv Details Diff
0027063: BRepGProps raises exception on edge with no curves

Method BRepGProp::LinearProperties() is corrected to treat not geometric edges (their length is zero). To avoid wrong working of command nexplode global properties are calculated as point properties of vertexes. Small value Epsilon(1.) is used as density of points. This prevents exception on shapes that contain such edges, e.g. copy of a wire containing degenerated edge.

Method BRep_Tool::IsGeometric() is optimized to avoid nested iteration for check of 3D curve for Null.
Small bug is fixed in GProp_PGProps.cxx
Affected Issues
0027063
mod - src/BRep/BRep_Tool.cxx Diff File
mod - src/BRepGProp/BRepGProp.cxx Diff File
mod - src/GProp/GProp_PGProps.cxx Diff File
add - tests/bugs/modalg_5/bug27063 Diff File

Issue History

Date Modified Username Field Change
2016-01-08 00:27 abv New Issue
2016-01-08 00:27 abv Assigned To => msv
2016-01-08 00:27 abv Relationship added child of 0024397
2016-01-08 00:33 git Note Added: 0049721
2016-01-08 00:38 abv Note Added: 0049722
2016-01-08 00:38 abv Status new => resolved
2016-01-08 00:38 abv Steps to Reproduce Updated
2016-01-08 01:10 abv File Added: bug27063_emptyedge.brep
2016-01-09 01:07 msv Note Added: 0049747
2016-01-09 01:13 msv Note Added: 0049748
2016-01-09 01:13 msv Assigned To msv => bugmaster
2016-01-09 01:13 msv Status resolved => reviewed
2016-01-09 06:32 abv Note Added: 0049751
2016-01-11 12:06 apv Assigned To bugmaster => apv
2016-01-12 17:36 apv Test case number => bugs modalg_5 bug27063
2016-01-12 19:22 apv Note Added: 0049802
2016-01-12 19:22 apv Assigned To apv => abv
2016-01-12 19:22 apv Status reviewed => assigned
2016-01-12 19:22 apv Note Edited: 0049802
2016-01-12 19:23 apv Note Edited: 0049802
2016-01-12 19:24 apv Note Added: 0049803
2016-01-15 11:00 msv Note Added: 0049882
2016-01-15 11:00 msv Assigned To abv => ifv
2016-01-21 18:46 ifv Note Added: 0050031
2016-01-21 18:46 ifv Assigned To ifv => msv
2016-01-21 18:46 ifv Status assigned => resolved
2016-01-22 09:58 git Note Added: 0050038
2016-01-22 12:14 msv Note Added: 0050043
2016-01-22 12:14 msv Assigned To msv => bugmaster
2016-01-22 12:14 msv Status resolved => reviewed
2016-01-22 15:02 git Note Added: 0050062
2016-01-22 15:03 mkv Assigned To bugmaster => mkv
2016-01-25 18:14 mkv Note Added: 0050109
2016-01-25 18:15 mkv Note Added: 0050110
2016-01-25 18:15 mkv Note Added: 0050111
2016-01-25 18:15 mkv Assigned To mkv => bugmaster
2016-01-25 18:15 mkv Status reviewed => tested
2016-01-28 11:22 bugmaster Assigned To bugmaster => msv
2016-01-28 11:22 bugmaster Status tested => feedback
2016-01-28 11:33 msv Note Added: 0050177
2016-01-28 11:33 msv Assigned To msv => ifv
2016-01-28 11:33 msv Status feedback => assigned
2016-01-28 13:26 git Note Added: 0050183
2016-01-28 13:34 ifv Note Added: 0050184
2016-01-28 13:34 ifv Assigned To ifv => msv
2016-01-28 13:34 ifv Status assigned => resolved
2016-01-28 14:37 msv Note Added: 0050190
2016-01-28 14:37 msv Assigned To msv => bugmaster
2016-01-28 14:37 msv Status resolved => reviewed
2016-01-28 16:05 apv Assigned To bugmaster => apv
2016-01-28 16:17 git Note Added: 0050203
2016-01-28 16:18 apv Note Added: 0050204
2016-01-29 13:27 apv Note Added: 0050229
2016-01-29 13:27 apv Assigned To apv => bugmaster
2016-01-29 13:27 apv Status reviewed => tested
2016-01-29 15:42 apv Note Edited: 0050229
2016-02-04 10:42 abv Target Version 7.1.0 => 7.0.0
2016-02-05 12:49 abv Changeset attached => occt master a4ed7309
2016-02-05 12:49 abv Assigned To bugmaster => abv
2016-02-05 12:49 abv Status tested => verified
2016-02-05 12:49 abv Resolution open => fixed
2016-04-17 13:40 git Note Added: 0052896
2016-04-20 15:43 aiv Fixed in Version => 7.0.0
2016-04-20 15:50 aiv Status verified => closed