Archived issue #0025890
Intersection algorithm produces curves overlaped
Description
Intersection algorithm produces curves overlapped
Steps to reproduce
restore Attachment 2 (BREP) f1
restore Attachment 3 (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.
restore Attachment 3 (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.
Public activity
21 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Participant.
[revision removed]
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.
[revision removed]
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.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Dear Mikhail,
Please review CR25890 branch.
Please review CR25890 branch.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: nbv
Date: Thu Apr 30 16:11:21 2015 +0300
Code optimization.
[revision removed]
Detailed log of new commits:
Author: nbv
Date: Thu Apr 30 16:11:21 2015 +0300
Code optimization.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: nbv
Date: Thu Apr 30 16:22:16 2015 +0300
2nd optimization
[revision removed]
Detailed log of new commits:
Author: nbv
Date: Thu Apr 30 16:22:16 2015 +0300
2nd optimization
Reviewed.
Dear Commenter 1,
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.
[revision removed]
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.
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.
[revision removed]
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.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: mkv
Date: Tue May 5 19:54:27 2015 +0300
Test case for issue CR25890
[revision removed]
Detailed log of new commits:
Author: mkv
Date: Tue May 5 19:54:27 2015 +0300
Test case for issue CR25890
Dear nbv,
could you please review following test case
bugs modalg_6(011) bug25890
could you please review following test case
bugs modalg_6(011) bug25890
OK!
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.
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.
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.
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.
I agree. Please update the test script.
Branch [archived branch] has been created by Participant.
[revision removed]
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
[revision removed]
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
Script "bug23471" is pushed to the branch CR25890_1.
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.
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.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: mkv
Date: Wed May 6 20:49:54 2015 +0300
Test case correction
[revision removed]
Detailed log of new commits:
Author: mkv
Date: Wed May 6 20:49:54 2015 +0300
Test case correction
Dear Commenter 1,
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)
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)
Branch CR25890 is TESTED.
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records