View Issue Details

IDProjectCategoryView StatusLast Update
0025890Open CASCADEOCCT:Modeling Algorithmspublic2018-07-27 16:23
ReporteremvAssigned Toabv 
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.8.0 
Target Version6.9.0Fixed in Version6.9.0 
Summary0025890: Intersection algorithm produces curves overlaped
DescriptionIntersection algorithm produces curves overlapped
Steps To Reproducerestore f1.brep f1
restore f2.brep f2

set log [bopcurves f1 f2]
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv

#NbCurv = 6

set nbshapes_expected "
Number of shapes in shape
 VERTEX : 0
 EDGE : 0
 WIRE : 0
 FACE : 0
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 1
"

for {set i 1} {$i <= $NbCurv} {incr i} {
  for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
    puts " Check c_$i and c_$j"
    mkedge e1 c_$i
    mkedge e2 c_$j
    bcommon rr e1 e2
    checknbshapes rr -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
  }
}

##############
WRONG OUTPUT
##############
...
   Check c_5 and c_6
...
Error : Partition of 2 shapes is WRONG because number of VERTEX entities in shape "rr" is 2
Error : Partition of 2 shapes is WRONG because number of EDGE entities in shape "rr" is 1
Error : Partition of 2 shapes is WRONG because number of WIRE entities in shape "rr" is 1
OK : Partition of 2 shapes is GOOD because number of FACE entities is equal to number of expected FACE entities
OK : Partition of 2 shapes is GOOD because number of SHELL entities is equal to number of expected SHELL entities
OK : Partition of 2 shapes is GOOD because number of SOLID entities is equal to number of expected SOLID entities
OK : Partition of 2 shapes is GOOD because number of COMPSOLID entities is equal to number of expected COMPSOLID entities
OK : Partition of 2 shapes is GOOD because number of COMPOUND entities is equal to number of expected COMPOUND entities
Error : Partition of 2 shapes is WRONG because number of SHAPE entities in shape "rr" is 5


Word "Error" must be caught.
TagsNo tags attached.
Test case numberbugs modalg_6(011) bug25890

Attached Files

  • f1.brep (1,347 bytes)
  • f2.brep (1,353 bytes)
  • bug23471 (1,600 bytes)

Relationships

related to 0026190 newmsv Wrong intersection result 
related to 0026191 closedabv Different behavior of "bugs moddata_3 bug23471" test script on Windows and Linux platform 
related to 0029994 closedbugmaster Misprint in IntWalk_PWalking::Perform(...) method 

Activities

emv

2015-03-04 12:56

developer  

f1.brep (1,347 bytes)

emv

2015-03-04 12:57

developer  

f2.brep (1,353 bytes)

git

2015-03-05 11:30

administrator   ~0038128

Branch CR25890 has been created by nbv.

SHA-1: 6f5bea3b279f0750874cab8c7097221645a13507


Detailed log of new commits:

Author: nbv
Date: Thu Mar 5 11:30:00 2015 +0300

    0025890: Exception is raised during intersection between faces
    
    The reason of the exception has been eliminated.

git

2015-04-30 15:01

administrator   ~0040481

Branch CR25890 has been updated forcibly by nbv.

SHA-1: d8e1b53998d5b7428aa9fc9832b012f11ab44d1e

nbv

2015-04-30 15:18

developer   ~0040484

Dear Mikhail,

Please review CR25890 branch.

git

2015-04-30 16:11

administrator   ~0040494

Branch CR25890 has been updated by nbv.

SHA-1: 70e60e33bd1cc8fde7bab39285452481272b45d9


Detailed log of new commits:

Author: nbv
Date: Thu Apr 30 16:11:21 2015 +0300

    Code optimization.

git

2015-04-30 16:22

administrator   ~0040497

Branch CR25890 has been updated by nbv.

SHA-1: 3fcff72228bb6c87b76ee6a66dc03249a02b5ebe


Detailed log of new commits:

Author: nbv
Date: Thu Apr 30 16:22:16 2015 +0300

    2nd optimization

msv

2015-04-30 16:27

developer   ~0040498

Reviewed.

mkv

2015-05-05 19:56

tester   ~0040584

Dear BugMaster,
Branch CR25890 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: 3fcff72228bb6c87b76ee6a66dc03249a02b5ebe

Number of compiler warnings:

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

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

Regressions/Differences:
http://occt-tests/CR25890-master-occt-64/Debian60-64/bugs/moddata_3/bug23471.html
bugs moddata_3(014) bug23471: FAILED

Testing cases:
http://occt-tests/CR25890-master-occt-64/Windows-64-VC10/bugs/modalg_6/bug25890.html
http://occt-tests/CR25890-master-occt-64/Debian60-64/bugs/modalg_6/bug25890.html
bugs modalg_6(011) bug25890: OK

Testing on Linux:
occt component :
Total MEMORY difference: 94963964 / 94619720 [+0.36%]
Total CPU difference: 56571.20999999974 / 51017.05999999946 [+10.89%]
products component :
Total MEMORY difference: 23760015 / 23780860 [-0.09%]
Total CPU difference: 18598.53 / 17217.47999999996 [+8.02%]

Testing on Windows:
occt component :
Total MEMORY difference: 57253533 / 57266778 [-0.02%]
Total CPU difference: 15692.873794698922 / 15810.99775189897 [-0.75%]
products component :
Total MEMORY difference: 15601310 / 15605919 [-0.03%]
Total CPU difference: 6189.916878699971 / 6275.40542669997 [-1.36%]

There are no differences in images found by testdiff.

git

2015-05-05 19:56

administrator   ~0040585

Branch CR25890 has been updated by mkv.

SHA-1: 9c41906d4e3c1662e9ce176963ed9f7d463a0bd3


Detailed log of new commits:

Author: mkv
Date: Tue May 5 19:54:27 2015 +0300

    Test case for issue CR25890

mkv

2015-05-05 19:57

tester   ~0040586

Dear nbv,
could you please review following test case
bugs modalg_6(011) bug25890

nbv

2015-05-06 09:38

developer   ~0040601

OK!

nbv

2015-05-06 13:02

developer  

bug23471 (1,600 bytes)

nbv

2015-05-06 13:08

developer   ~0040611

About regression in "bugs moddata_3(014) bug23471".

Test is BAD on the current MASTER (IR-2015-04-23). Try the following script to prove:

Draw[]> restore [locate_data_file OCC22790-cx.brep] b
Draw[]> explode b
Draw[]> mksurface s1 b_1
Draw[]> mksurface s2 b_3

Draw[]> viso c1v s1 0
Draw[]> uiso c1u s1 0

Draw[]> viso c2v s2 0
Draw[]> uiso c2u s2 0

Draw[]> bounds c1v u1 u2
#u1 = 0 u2 = 74350.7519540878

Draw[]> xdistcc c1v c2u u1 u2 100
#Max distance = 3.96773050108729e-012

Draw[]> bounds c2v u1 u2
#u1 = 0 u2 = 24095.0965554287

Draw[]> xdistcc c2v c1u u1 u2 100
#Max distance = 0

I.e. single intersection line must cover two iso-lines: U=0 and V=0 in the s1 surface AND U=0 and V=0 in the s2 surface. Nevertheless, it does not on the MASTER. Fix in CR25890 is not the reason of this problem.

CONCLUSION:
1. This test should be market by "TODO" and must be fixed later (in bug 0026190).
2. There are two bugs related to this: bug 0026190 and 0026191.

nbv

2015-05-06 13:11

developer   ~0040613

Last edited: 2015-05-06 13:11

Dear Mikhail!

Please confirm above said.

Test bugs moddata_3(014) bug23471 has been amended (improved) - see attached file "bug23471". It must be added to the branch and retested.

msv

2015-05-06 13:17

developer   ~0040614

I agree. Please update the test script.

git

2015-05-06 13:41

administrator   ~0040616

Branch CR25890_1 has been created by nbv.

SHA-1: 06e1d2a38e804eb34101953688e58573ffbd47b7


Detailed log of new commits:

Author: nbv
Date: Wed May 6 11:48:11 2015 +0300

    Test bugs/moddata_3/bug23471 has been corrected.

Author: nbv
Date: Wed May 6 11:46:18 2015 +0300

    0025890: Intersection algorithm produces curves overlaped
    
    1. Function IntImp_Int2S::ChangePoint() has been added (see cdl for detail information).
    2. Attempt to forbidden break WLine if it goes along surface boundary.
    
    Test case for issue CR25890

nbv

2015-05-06 13:43

developer   ~0040617

Script "bug23471" is pushed to the branch CR25890_1.

nbv

2015-05-06 15:00

developer   ~0040627

Dear Mikhail,

Branch CR25890_1 differs from CR25890 only bug23471 test case.

Therefore, there is no point in testing CR25890_1. Or you can add this script in the branch CR25890 without any testing.

git

2015-05-06 20:50

administrator   ~0040682

Branch CR25890 has been updated by mkv.

SHA-1: b638f9573d7c407a846508a9f9ffacf31193e3bd


Detailed log of new commits:

Author: mkv
Date: Wed May 6 20:49:54 2015 +0300

    Test case correction

mkv

2015-05-06 20:55

tester   ~0040684

Dear BugMaster,
following test case is corrected, retested and pushed to branch CR25890 of occt git-repository
http://occt-tests/CR25890-master-occt-64/Debian60-64/bugs/moddata_3/bug23471.html
http://occt-tests/CR25890-master-occt-64/Windows-64-VC10/bugs/moddata_3/bug23471.html
bugs moddata_3(014) bug23471: BAD (known problem)

mkv

2015-05-06 20:56

tester   ~0040685

Branch CR25890 is TESTED.

git

2015-05-14 16:30

administrator   ~0041013

Branch CR25890 has been deleted by inv.

SHA-1: b638f9573d7c407a846508a9f9ffacf31193e3bd

git

2015-05-14 16:30

administrator   ~0041014

Branch CR25890_1 has been deleted by inv.

SHA-1: 06e1d2a38e804eb34101953688e58573ffbd47b7

Related Changesets

occt: master 9d32c463

2015-05-07 13:14:09

abv


Committer: abv Details Diff
0025890: Intersection algorithm produces curves overlaped

1. Function IntImp_Int2S::ChangePoint() has been added (see cdl for detail information).
2. Attempt to forbidden break WLine if it goes along surface boundary.

Code optimization.

2nd optimization

Test case for issue CR25890
Affected Issues
0025890
mod - src/IntImp/IntImp_Int2S.cdl Diff File
mod - src/IntImp/IntImp_Int2S.lxx Diff File
mod - src/IntPolyh/IntPolyh_Intersection.cxx Diff File
mod - src/IntWalk/IntWalk_PWalking.cxx Diff File
add - tests/bugs/modalg_6/bug25890 Diff File
mod - tests/bugs/moddata_3/bug23471 Diff File

Issue History

Date Modified Username Field Change
2015-03-04 12:56 emv New Issue
2015-03-04 12:56 emv Assigned To => msv
2015-03-04 12:56 emv File Added: f1.brep
2015-03-04 12:57 emv File Added: f2.brep
2015-03-04 17:35 msv Assigned To msv => nbv
2015-03-04 17:35 msv Status new => assigned
2015-03-05 11:30 git Note Added: 0038128
2015-04-06 09:31 nbv Summary Exception is raised during intersection between faces => Intersection algorithm produces curves overlaped
2015-04-06 09:31 nbv Description Updated
2015-04-06 09:31 nbv Steps to Reproduce Updated
2015-04-30 15:01 git Note Added: 0040481
2015-04-30 15:18 nbv Note Added: 0040484
2015-04-30 15:18 nbv Assigned To nbv => msv
2015-04-30 15:18 nbv Status assigned => resolved
2015-04-30 15:18 nbv Steps to Reproduce Updated
2015-04-30 16:11 git Note Added: 0040494
2015-04-30 16:22 git Note Added: 0040497
2015-04-30 16:27 msv Note Added: 0040498
2015-04-30 16:27 msv Assigned To msv => bugmaster
2015-04-30 16:27 msv Status resolved => reviewed
2015-04-30 17:27 mkv Assigned To bugmaster => mkv
2015-05-05 19:56 mkv Note Added: 0040584
2015-05-05 19:56 mkv Assigned To mkv => nbv
2015-05-05 19:56 mkv Status reviewed => feedback
2015-05-05 19:56 git Note Added: 0040585
2015-05-05 19:57 mkv Note Added: 0040586
2015-05-05 19:57 mkv Test case number => bugs modalg_6(011) bug25890
2015-05-06 09:38 nbv Note Added: 0040601
2015-05-06 09:38 nbv Assigned To nbv => mkv
2015-05-06 10:23 nbv Assigned To mkv => nbv
2015-05-06 10:23 nbv Status feedback => assigned
2015-05-06 13:02 nbv File Added: bug23471
2015-05-06 13:08 nbv Note Added: 0040611
2015-05-06 13:11 nbv Note Added: 0040613
2015-05-06 13:11 nbv Assigned To nbv => msv
2015-05-06 13:11 nbv Status assigned => resolved
2015-05-06 13:11 nbv Note Edited: 0040613
2015-05-06 13:17 msv Note Added: 0040614
2015-05-06 13:41 git Note Added: 0040616
2015-05-06 13:43 nbv Note Added: 0040617
2015-05-06 13:43 nbv Relationship added related to 0026190
2015-05-06 13:44 nbv Relationship added related to 0026191
2015-05-06 14:36 nbv Assigned To msv => bugmaster
2015-05-06 14:36 nbv Status resolved => reviewed
2015-05-06 14:39 mkv Assigned To bugmaster => mkv
2015-05-06 15:00 nbv Note Added: 0040627
2015-05-06 20:50 git Note Added: 0040682
2015-05-06 20:55 mkv Note Added: 0040684
2015-05-06 20:55 mkv Assigned To mkv => bugmaster
2015-05-06 20:55 mkv Status reviewed => tested
2015-05-06 20:56 mkv Note Added: 0040685
2015-05-08 15:49 abv Changeset attached => occt master 9d32c463
2015-05-08 15:49 abv Assigned To bugmaster => abv
2015-05-08 15:49 abv Status tested => verified
2015-05-08 15:49 abv Resolution open => fixed
2015-05-14 15:28 aiv Status verified => closed
2015-05-14 15:30 aiv Fixed in Version => 6.9.0
2015-05-14 16:30 git Note Added: 0041013
2015-05-14 16:30 git Note Added: 0041014
2018-07-27 16:23 nbv Relationship added related to 0029994