0028493: [Regression vs 7.0.0] Intersection algorithm produces curve with loop
authornbv <nbv@opencascade.com>
Fri, 26 Oct 2018 11:06:28 +0000 (14:06 +0300)
committerbugmaster <bugmaster@opencascade.com>
Tue, 30 Oct 2018 13:04:24 +0000 (16:04 +0300)
1. New testgrid "lowalgos/intss" has been created. It will contain all test cases on geometrical intersection of two surfaces ("intersect" DRAW-command) and two faces ("bopcurves" DRAW-command).

2. New test case for the issue #28493 has been created because the problem is not reproduced on MASTER.

3. Test case (lowalgos/intss/bug24472) for the issue #29501 has been modified in order to check loops of the resulting intersection curves.

393 files changed:
tests/bugs/modalg_2/bug23218 [deleted file]
tests/bugs/modalg_2/bug23699 [deleted file]
tests/bugs/modalg_2/bug23732 [deleted file]
tests/bugs/modalg_5/bug22766 [deleted file]
tests/bugs/modalg_5/bug23948_1 [deleted file]
tests/bugs/modalg_5/bug23948_2 [deleted file]
tests/bugs/modalg_5/bug24299 [deleted file]
tests/bugs/modalg_5/bug24313 [deleted file]
tests/bugs/modalg_5/bug24472 [deleted file]
tests/bugs/modalg_5/bug24505 [deleted file]
tests/bugs/modalg_5/bug24585_1 [deleted file]
tests/bugs/modalg_5/bug24612 [deleted file]
tests/bugs/modalg_5/bug24643 [deleted file]
tests/bugs/modalg_5/bug24648 [deleted file]
tests/bugs/modalg_5/bug24650 [deleted file]
tests/bugs/modalg_5/bug24915 [deleted file]
tests/bugs/modalg_5/bug25193 [deleted file]
tests/bugs/modalg_5/bug25224 [deleted file]
tests/bugs/modalg_5/bug25248 [deleted file]
tests/bugs/modalg_5/bug25292_11 [deleted file]
tests/bugs/modalg_5/bug25292_12 [deleted file]
tests/bugs/modalg_5/bug25292_21 [deleted file]
tests/bugs/modalg_5/bug25292_22 [deleted file]
tests/bugs/modalg_5/bug25292_31 [deleted file]
tests/bugs/modalg_5/bug25292_32 [deleted file]
tests/bugs/modalg_5/bug25380 [deleted file]
tests/bugs/modalg_5/bug25416_1 [deleted file]
tests/bugs/modalg_5/bug25416_2 [deleted file]
tests/bugs/modalg_5/bug25416_3 [deleted file]
tests/bugs/modalg_5/bug25465_1 [deleted file]
tests/bugs/modalg_5/bug25465_2 [deleted file]
tests/bugs/modalg_5/bug25488 [deleted file]
tests/bugs/modalg_5/bug25697_2 [deleted file]
tests/bugs/modalg_5/bug25818 [deleted file]
tests/bugs/modalg_5/bug25828_3 [deleted file]
tests/bugs/modalg_5/bug25828_4 [deleted file]
tests/bugs/modalg_5/bug25842 [deleted file]
tests/bugs/modalg_5/bug25898 [deleted file]
tests/bugs/modalg_6/bug21750 [deleted file]
tests/bugs/modalg_6/bug23177_1 [deleted file]
tests/bugs/modalg_6/bug23177_2 [deleted file]
tests/bugs/modalg_6/bug23178 [deleted file]
tests/bugs/modalg_6/bug25820_1 [deleted file]
tests/bugs/modalg_6/bug25820_2 [deleted file]
tests/bugs/modalg_6/bug25820_3 [deleted file]
tests/bugs/modalg_6/bug25890 [deleted file]
tests/bugs/modalg_6/bug26008 [deleted file]
tests/bugs/modalg_6/bug26151_1 [deleted file]
tests/bugs/modalg_6/bug26151_2 [deleted file]
tests/bugs/modalg_6/bug26251 [deleted file]
tests/bugs/modalg_6/bug26352 [deleted file]
tests/bugs/modalg_6/bug26431_1 [deleted file]
tests/bugs/modalg_6/bug26576_1 [deleted file]
tests/bugs/modalg_6/bug26576_3 [deleted file]
tests/bugs/modalg_6/bug26576_4 [deleted file]
tests/bugs/modalg_6/bug26675 [deleted file]
tests/bugs/modalg_6/bug26684_1 [deleted file]
tests/bugs/modalg_6/bug26684_2 [deleted file]
tests/bugs/modalg_6/bug26699 [deleted file]
tests/bugs/modalg_6/bug26748 [deleted file]
tests/bugs/modalg_6/bug26894 [deleted file]
tests/bugs/modalg_6/bug27079_1 [deleted file]
tests/bugs/modalg_6/bug27079_2 [deleted file]
tests/bugs/modalg_6/bug27175 [deleted file]
tests/bugs/modalg_6/bug27190 [deleted file]
tests/bugs/modalg_6/bug27252_1 [deleted file]
tests/bugs/modalg_6/bug27263 [deleted file]
tests/bugs/modalg_6/bug27269 [deleted file]
tests/bugs/modalg_6/bug27282_2 [deleted file]
tests/bugs/modalg_6/bug27302 [deleted file]
tests/bugs/modalg_6/bug27310_1 [deleted file]
tests/bugs/modalg_6/bug27310_2 [deleted file]
tests/bugs/modalg_6/bug27431 [deleted file]
tests/bugs/modalg_6/bug27664_1 [deleted file]
tests/bugs/modalg_6/bug27766 [deleted file]
tests/bugs/modalg_6/bug27780 [deleted file]
tests/bugs/modalg_6/bug27842 [deleted file]
tests/bugs/modalg_6/bug27856_2 [deleted file]
tests/bugs/modalg_6/bug27896 [deleted file]
tests/bugs/modalg_6/bug27937_1 [deleted file]
tests/bugs/modalg_6/bug27937_2 [deleted file]
tests/bugs/modalg_6/bug28009_2 [deleted file]
tests/bugs/modalg_6/bug28012 [deleted file]
tests/bugs/modalg_6/bug28222_1 [deleted file]
tests/bugs/modalg_6/bug28222_2 [deleted file]
tests/bugs/modalg_6/bug28222_3 [deleted file]
tests/bugs/modalg_6/bug28718 [deleted file]
tests/bugs/modalg_7/bug21494 [deleted file]
tests/bugs/modalg_7/bug23163_1 [deleted file]
tests/bugs/modalg_7/bug23163_2 [deleted file]
tests/bugs/modalg_7/bug23163_3 [deleted file]
tests/bugs/modalg_7/bug23166 [deleted file]
tests/bugs/modalg_7/bug23176 [deleted file]
tests/bugs/modalg_7/bug23972 [deleted file]
tests/bugs/modalg_7/bug24418_1 [deleted file]
tests/bugs/modalg_7/bug24418_2 [deleted file]
tests/bugs/modalg_7/bug24429 [deleted file]
tests/bugs/modalg_7/bug24676 [deleted file]
tests/bugs/modalg_7/bug24772 [deleted file]
tests/bugs/modalg_7/bug26509_1 [deleted file]
tests/bugs/modalg_7/bug26509_2 [deleted file]
tests/bugs/modalg_7/bug26509_3 [deleted file]
tests/bugs/modalg_7/bug26509_4 [deleted file]
tests/bugs/modalg_7/bug26509_5 [deleted file]
tests/bugs/modalg_7/bug26509_6 [deleted file]
tests/bugs/modalg_7/bug27227 [deleted file]
tests/bugs/modalg_7/bug27623 [deleted file]
tests/bugs/modalg_7/bug27747 [deleted file]
tests/bugs/modalg_7/bug27950 [deleted file]
tests/bugs/modalg_7/bug28085_2 [deleted file]
tests/bugs/modalg_7/bug28406 [deleted file]
tests/bugs/modalg_7/bug28544_2 [deleted file]
tests/bugs/modalg_7/bug28557 [deleted file]
tests/bugs/modalg_7/bug28764 [deleted file]
tests/bugs/modalg_7/bug28984 [deleted file]
tests/bugs/modalg_7/bug29103 [deleted file]
tests/bugs/modalg_7/bug29323 [deleted file]
tests/bugs/modalg_7/bug29494 [deleted file]
tests/bugs/modalg_7/bug29807_i1001 [deleted file]
tests/bugs/modalg_7/bug29807_i1002 [deleted file]
tests/bugs/modalg_7/bug29807_i1003 [deleted file]
tests/bugs/modalg_7/bug29807_i1004 [deleted file]
tests/bugs/modalg_7/bug29807_i1005 [deleted file]
tests/bugs/modalg_7/bug29807_i1006 [deleted file]
tests/bugs/modalg_7/bug29807_i2001 [deleted file]
tests/bugs/modalg_7/bug29807_i2002 [deleted file]
tests/bugs/modalg_7/bug29807_i2003 [deleted file]
tests/bugs/modalg_7/bug29807_i2004 [deleted file]
tests/bugs/modalg_7/bug29807_i2005 [deleted file]
tests/bugs/modalg_7/bug29807_i2006 [deleted file]
tests/bugs/modalg_7/bug29807_i3001 [deleted file]
tests/bugs/modalg_7/bug29807_i3002 [deleted file]
tests/bugs/modalg_7/bug29807_i3003 [deleted file]
tests/bugs/modalg_7/bug29807_i3004 [deleted file]
tests/bugs/modalg_7/bug29807_i3005 [deleted file]
tests/bugs/modalg_7/bug29807_i4001 [deleted file]
tests/bugs/modalg_7/bug29807_i4002 [deleted file]
tests/bugs/modalg_7/bug29807_i4003 [deleted file]
tests/bugs/modalg_7/bug29807_i4004 [deleted file]
tests/bugs/modalg_7/bug29807_i4005 [deleted file]
tests/bugs/modalg_7/bug29807_i5001 [deleted file]
tests/bugs/modalg_7/bug29807_i5002 [deleted file]
tests/bugs/modalg_7/bug29866 [deleted file]
tests/bugs/modalg_7/bug29910_2 [deleted file]
tests/bugs/modalg_7/bug29972_1 [deleted file]
tests/bugs/modalg_7/bug29972_2 [deleted file]
tests/bugs/modalg_7/bug29972_3 [deleted file]
tests/bugs/modalg_7/bug29972_4 [deleted file]
tests/bugs/modalg_7/bug29972_5 [deleted file]
tests/bugs/modalg_7/bug29972_6 [deleted file]
tests/bugs/modalg_7/bug29994 [deleted file]
tests/bugs/modalg_7/bug30082_1 [deleted file]
tests/bugs/modalg_7/bug30082_2 [deleted file]
tests/bugs/modalg_7/bug30100_2 [deleted file]
tests/bugs/modalg_7/bug30202_2 [deleted file]
tests/bugs/moddata_1/buc60623_3 [deleted file]
tests/bugs/moddata_1/buc60815 [deleted file]
tests/bugs/moddata_1/bug106 [deleted file]
tests/bugs/moddata_1/bug139 [deleted file]
tests/bugs/moddata_1/bug20524 [deleted file]
tests/bugs/moddata_1/bug20766 [deleted file]
tests/bugs/moddata_1/bug22720 [deleted file]
tests/bugs/moddata_1/bug22723 [deleted file]
tests/bugs/moddata_2/bug22851 [deleted file]
tests/bugs/moddata_2/bug22923 [deleted file]
tests/bugs/moddata_2/bug23576 [deleted file]
tests/bugs/moddata_2/bug236 [deleted file]
tests/bugs/moddata_2/bug23643 [deleted file]
tests/bugs/moddata_2/bug23644 [deleted file]
tests/bugs/moddata_2/bug237 [deleted file]
tests/bugs/moddata_2/bug271 [deleted file]
tests/bugs/moddata_2/bug286 [deleted file]
tests/bugs/moddata_2/bug324 [deleted file]
tests/bugs/moddata_2/bug333 [deleted file]
tests/bugs/moddata_2/bug370 [deleted file]
tests/bugs/moddata_2/bug371 [deleted file]
tests/bugs/moddata_2/bug429 [deleted file]
tests/bugs/moddata_2/bug431 [deleted file]
tests/bugs/moddata_2/bug504 [deleted file]
tests/bugs/moddata_2/bug513 [deleted file]
tests/bugs/moddata_2/bug531 [deleted file]
tests/bugs/moddata_2/bug537 [deleted file]
tests/bugs/moddata_2/bug565 [deleted file]
tests/bugs/moddata_2/bug567_1 [deleted file]
tests/bugs/moddata_2/bug567_2 [deleted file]
tests/bugs/moddata_2/bug604 [deleted file]
tests/bugs/moddata_2/bug6474 [deleted file]
tests/bugs/moddata_2/ger61235 [deleted file]
tests/bugs/moddata_3/bug23471 [deleted file]
tests/bugs/moddata_3/bug23981 [deleted file]
tests/bugs/moddata_3/bug24142 [deleted file]
tests/bugs/moddata_3/bug24427_2 [deleted file]
tests/bugs/moddata_3/bug25095 [deleted file]
tests/bugs/moddata_3/bug25782_1 [deleted file]
tests/bugs/moddata_3/bug25782_2 [deleted file]
tests/lowalgos/grids.list
tests/lowalgos/intss/begin [new file with mode: 0644]
tests/lowalgos/intss/buc60623_3 [new file with mode: 0644]
tests/lowalgos/intss/buc60815 [new file with mode: 0644]
tests/lowalgos/intss/bug106 [new file with mode: 0644]
tests/lowalgos/intss/bug139 [new file with mode: 0644]
tests/lowalgos/intss/bug20524 [new file with mode: 0644]
tests/lowalgos/intss/bug20766 [new file with mode: 0644]
tests/lowalgos/intss/bug21494 [new file with mode: 0644]
tests/lowalgos/intss/bug21750 [new file with mode: 0644]
tests/lowalgos/intss/bug22720 [new file with mode: 0644]
tests/lowalgos/intss/bug22723 [new file with mode: 0644]
tests/lowalgos/intss/bug22766 [new file with mode: 0644]
tests/lowalgos/intss/bug22851 [new file with mode: 0644]
tests/lowalgos/intss/bug22923 [new file with mode: 0644]
tests/lowalgos/intss/bug23163_1 [new file with mode: 0644]
tests/lowalgos/intss/bug23163_2 [new file with mode: 0644]
tests/lowalgos/intss/bug23163_3 [new file with mode: 0644]
tests/lowalgos/intss/bug23166 [new file with mode: 0644]
tests/lowalgos/intss/bug23176 [new file with mode: 0644]
tests/lowalgos/intss/bug23177_1 [new file with mode: 0644]
tests/lowalgos/intss/bug23177_2 [new file with mode: 0644]
tests/lowalgos/intss/bug23178 [new file with mode: 0644]
tests/lowalgos/intss/bug23218 [new file with mode: 0644]
tests/lowalgos/intss/bug23471 [new file with mode: 0644]
tests/lowalgos/intss/bug23576 [new file with mode: 0644]
tests/lowalgos/intss/bug236 [new file with mode: 0644]
tests/lowalgos/intss/bug23643 [new file with mode: 0644]
tests/lowalgos/intss/bug23644 [new file with mode: 0644]
tests/lowalgos/intss/bug23699 [new file with mode: 0644]
tests/lowalgos/intss/bug237 [new file with mode: 0644]
tests/lowalgos/intss/bug23732 [new file with mode: 0644]
tests/lowalgos/intss/bug23948_1 [new file with mode: 0644]
tests/lowalgos/intss/bug23948_2 [new file with mode: 0644]
tests/lowalgos/intss/bug23972 [new file with mode: 0644]
tests/lowalgos/intss/bug23981 [new file with mode: 0644]
tests/lowalgos/intss/bug24142 [new file with mode: 0644]
tests/lowalgos/intss/bug24299 [new file with mode: 0644]
tests/lowalgos/intss/bug24313 [new file with mode: 0644]
tests/lowalgos/intss/bug24418_1 [new file with mode: 0644]
tests/lowalgos/intss/bug24418_2 [new file with mode: 0644]
tests/lowalgos/intss/bug24427_2 [new file with mode: 0644]
tests/lowalgos/intss/bug24429 [new file with mode: 0644]
tests/lowalgos/intss/bug24472 [new file with mode: 0644]
tests/lowalgos/intss/bug24505 [new file with mode: 0644]
tests/lowalgos/intss/bug24585_1 [new file with mode: 0644]
tests/lowalgos/intss/bug24612 [new file with mode: 0644]
tests/lowalgos/intss/bug24643 [new file with mode: 0644]
tests/lowalgos/intss/bug24648 [new file with mode: 0644]
tests/lowalgos/intss/bug24650 [new file with mode: 0644]
tests/lowalgos/intss/bug24676 [new file with mode: 0644]
tests/lowalgos/intss/bug24772 [new file with mode: 0644]
tests/lowalgos/intss/bug24915 [new file with mode: 0644]
tests/lowalgos/intss/bug25095 [new file with mode: 0644]
tests/lowalgos/intss/bug25193 [new file with mode: 0644]
tests/lowalgos/intss/bug25224 [new file with mode: 0644]
tests/lowalgos/intss/bug25248 [new file with mode: 0644]
tests/lowalgos/intss/bug25292_11 [new file with mode: 0644]
tests/lowalgos/intss/bug25292_12 [new file with mode: 0644]
tests/lowalgos/intss/bug25292_21 [new file with mode: 0644]
tests/lowalgos/intss/bug25292_22 [new file with mode: 0644]
tests/lowalgos/intss/bug25292_31 [new file with mode: 0644]
tests/lowalgos/intss/bug25292_32 [new file with mode: 0644]
tests/lowalgos/intss/bug25380 [new file with mode: 0644]
tests/lowalgos/intss/bug25416_1 [new file with mode: 0644]
tests/lowalgos/intss/bug25416_2 [new file with mode: 0644]
tests/lowalgos/intss/bug25416_3 [new file with mode: 0644]
tests/lowalgos/intss/bug25465_1 [new file with mode: 0644]
tests/lowalgos/intss/bug25465_2 [new file with mode: 0644]
tests/lowalgos/intss/bug25488 [new file with mode: 0644]
tests/lowalgos/intss/bug25697_2 [new file with mode: 0644]
tests/lowalgos/intss/bug25782_1 [new file with mode: 0644]
tests/lowalgos/intss/bug25782_2 [new file with mode: 0644]
tests/lowalgos/intss/bug25818 [new file with mode: 0644]
tests/lowalgos/intss/bug25820_1 [new file with mode: 0644]
tests/lowalgos/intss/bug25820_2 [new file with mode: 0644]
tests/lowalgos/intss/bug25820_3 [new file with mode: 0644]
tests/lowalgos/intss/bug25828_3 [new file with mode: 0644]
tests/lowalgos/intss/bug25828_4 [new file with mode: 0644]
tests/lowalgos/intss/bug25842 [new file with mode: 0644]
tests/lowalgos/intss/bug25890 [new file with mode: 0644]
tests/lowalgos/intss/bug25898 [new file with mode: 0644]
tests/lowalgos/intss/bug26008 [new file with mode: 0644]
tests/lowalgos/intss/bug26151_1 [new file with mode: 0644]
tests/lowalgos/intss/bug26151_2 [new file with mode: 0644]
tests/lowalgos/intss/bug26251 [new file with mode: 0644]
tests/lowalgos/intss/bug26352 [new file with mode: 0644]
tests/lowalgos/intss/bug26431_1 [new file with mode: 0644]
tests/lowalgos/intss/bug26509_1 [new file with mode: 0644]
tests/lowalgos/intss/bug26509_2 [new file with mode: 0644]
tests/lowalgos/intss/bug26509_3 [new file with mode: 0644]
tests/lowalgos/intss/bug26509_4 [new file with mode: 0644]
tests/lowalgos/intss/bug26509_5 [new file with mode: 0644]
tests/lowalgos/intss/bug26509_6 [new file with mode: 0644]
tests/lowalgos/intss/bug26576_1 [new file with mode: 0644]
tests/lowalgos/intss/bug26576_3 [new file with mode: 0644]
tests/lowalgos/intss/bug26576_4 [new file with mode: 0644]
tests/lowalgos/intss/bug26675 [new file with mode: 0644]
tests/lowalgos/intss/bug26684_1 [new file with mode: 0644]
tests/lowalgos/intss/bug26684_2 [new file with mode: 0644]
tests/lowalgos/intss/bug26699 [new file with mode: 0644]
tests/lowalgos/intss/bug26748 [new file with mode: 0644]
tests/lowalgos/intss/bug26894 [new file with mode: 0644]
tests/lowalgos/intss/bug27079_1 [new file with mode: 0644]
tests/lowalgos/intss/bug27079_2 [new file with mode: 0644]
tests/lowalgos/intss/bug271 [new file with mode: 0644]
tests/lowalgos/intss/bug27175 [new file with mode: 0644]
tests/lowalgos/intss/bug27190 [new file with mode: 0644]
tests/lowalgos/intss/bug27227 [new file with mode: 0644]
tests/lowalgos/intss/bug27252_1 [new file with mode: 0644]
tests/lowalgos/intss/bug27263 [new file with mode: 0644]
tests/lowalgos/intss/bug27269 [new file with mode: 0644]
tests/lowalgos/intss/bug27282_2 [new file with mode: 0644]
tests/lowalgos/intss/bug27302 [new file with mode: 0644]
tests/lowalgos/intss/bug27310_1 [new file with mode: 0644]
tests/lowalgos/intss/bug27310_2 [new file with mode: 0644]
tests/lowalgos/intss/bug27431 [new file with mode: 0644]
tests/lowalgos/intss/bug27623 [new file with mode: 0644]
tests/lowalgos/intss/bug27664_1 [new file with mode: 0644]
tests/lowalgos/intss/bug27747 [new file with mode: 0644]
tests/lowalgos/intss/bug27766 [new file with mode: 0644]
tests/lowalgos/intss/bug27780 [new file with mode: 0644]
tests/lowalgos/intss/bug27842 [new file with mode: 0644]
tests/lowalgos/intss/bug27856_2 [new file with mode: 0644]
tests/lowalgos/intss/bug27896 [new file with mode: 0644]
tests/lowalgos/intss/bug27937_1 [new file with mode: 0644]
tests/lowalgos/intss/bug27937_2 [new file with mode: 0644]
tests/lowalgos/intss/bug27950 [new file with mode: 0644]
tests/lowalgos/intss/bug28009_2 [new file with mode: 0644]
tests/lowalgos/intss/bug28012 [new file with mode: 0644]
tests/lowalgos/intss/bug28085_2 [new file with mode: 0644]
tests/lowalgos/intss/bug28222_1 [new file with mode: 0644]
tests/lowalgos/intss/bug28222_2 [new file with mode: 0644]
tests/lowalgos/intss/bug28222_3 [new file with mode: 0644]
tests/lowalgos/intss/bug28406 [new file with mode: 0644]
tests/lowalgos/intss/bug28493 [new file with mode: 0644]
tests/lowalgos/intss/bug28544_2 [new file with mode: 0644]
tests/lowalgos/intss/bug28557 [new file with mode: 0644]
tests/lowalgos/intss/bug286 [new file with mode: 0644]
tests/lowalgos/intss/bug28718 [new file with mode: 0644]
tests/lowalgos/intss/bug28764 [new file with mode: 0644]
tests/lowalgos/intss/bug28984 [new file with mode: 0644]
tests/lowalgos/intss/bug29103 [new file with mode: 0644]
tests/lowalgos/intss/bug29323 [new file with mode: 0644]
tests/lowalgos/intss/bug29494 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i1001 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i1002 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i1003 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i1004 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i1005 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i1006 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i2001 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i2002 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i2003 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i2004 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i2005 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i2006 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i3001 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i3002 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i3003 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i3004 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i3005 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i4001 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i4002 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i4003 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i4004 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i4005 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i5001 [new file with mode: 0644]
tests/lowalgos/intss/bug29807_i5002 [new file with mode: 0644]
tests/lowalgos/intss/bug29866 [new file with mode: 0644]
tests/lowalgos/intss/bug29910_2 [new file with mode: 0644]
tests/lowalgos/intss/bug29972_1 [new file with mode: 0644]
tests/lowalgos/intss/bug29972_2 [new file with mode: 0644]
tests/lowalgos/intss/bug29972_3 [new file with mode: 0644]
tests/lowalgos/intss/bug29972_4 [new file with mode: 0644]
tests/lowalgos/intss/bug29972_5 [new file with mode: 0644]
tests/lowalgos/intss/bug29972_6 [new file with mode: 0644]
tests/lowalgos/intss/bug29994 [new file with mode: 0644]
tests/lowalgos/intss/bug30082_1 [new file with mode: 0644]
tests/lowalgos/intss/bug30082_2 [new file with mode: 0644]
tests/lowalgos/intss/bug30100_2 [new file with mode: 0644]
tests/lowalgos/intss/bug30202_2 [new file with mode: 0644]
tests/lowalgos/intss/bug324 [new file with mode: 0644]
tests/lowalgos/intss/bug333 [new file with mode: 0644]
tests/lowalgos/intss/bug370 [new file with mode: 0644]
tests/lowalgos/intss/bug371 [new file with mode: 0644]
tests/lowalgos/intss/bug429 [new file with mode: 0644]
tests/lowalgos/intss/bug431 [new file with mode: 0644]
tests/lowalgos/intss/bug504 [new file with mode: 0644]
tests/lowalgos/intss/bug513 [new file with mode: 0644]
tests/lowalgos/intss/bug531 [new file with mode: 0644]
tests/lowalgos/intss/bug537 [new file with mode: 0644]
tests/lowalgos/intss/bug565 [new file with mode: 0644]
tests/lowalgos/intss/bug567_1 [new file with mode: 0644]
tests/lowalgos/intss/bug567_2 [new file with mode: 0644]
tests/lowalgos/intss/bug604 [new file with mode: 0644]
tests/lowalgos/intss/bug6474 [new file with mode: 0644]
tests/lowalgos/intss/ger61235 [new file with mode: 0644]

diff --git a/tests/bugs/modalg_2/bug23218 b/tests/bugs/modalg_2/bug23218
deleted file mode 100755 (executable)
index f76240a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-puts "TODO OCC25597 ALL: Error: Reached tolerance"
-puts "============"
-puts "OCC23218"
-puts "============"
-puts ""
-#######################################################################
-# Wrong value of tolerance for the intersection curve.
-#######################################################################
-
-set BugNumber OCC23218
-
-puts "Load first shape ..."
-restore [locate_data_file bug23218_b1] b1 
-
-puts "Load second shape ..."
-restore [locate_data_file bug23218_b4] b2 
-
-puts "Start project operation ..."
-set result [bopcurves b1 b2]
-puts $result
-puts "Finish project operation ..."
-
-set GoodToleranceReached 6.3315853638232248e-007
-regexp {Tolerance Reached=([-0-9.+eE]+)} $result full ToleranceReached
-
-checkreal "Reached tolerance" ${ToleranceReached} ${GoodToleranceReached} 0 0.001
diff --git a/tests/bugs/modalg_2/bug23699 b/tests/bugs/modalg_2/bug23699
deleted file mode 100755 (executable)
index 873dff1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-puts "========="
-puts "CR23699"
-puts "========="
-puts ""
-###############################
-## Exception reaised during intersection between two surfaces
-###############################
-
-restore [locate_data_file bug23699_Compound_sigsegv.brep] b1
-
-explode b1 f
-
-mksurface s1 b1_1
-mksurface s2 b1_2
-
-intersect result s1 s2
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_2/bug23732 b/tests/bugs/modalg_2/bug23732
deleted file mode 100755 (executable)
index 91159d7..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-puts "========="
-puts "CR23722"
-puts "========="
-puts ""
-###############################
-## Exception reaised during intersection between two surfaces
-###############################
-
-restore [locate_data_file bug23732_fx1.brep] b1
-restore [locate_data_file bug23732_fx2.brep] b2
-
-mksurface s1 b1
-mksurface s2 b2
-
-intersect result s1 s2
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug22766 b/tests/bugs/modalg_5/bug22766
deleted file mode 100755 (executable)
index 73118ab..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-puts "============"
-puts "CR22766"
-puts "============"
-puts ""
-#####################################################################################################################
-# Wrong results done by several algorithms for the case of intersection between a surface of revolution and a plane
-#####################################################################################################################
-
-restore [locate_data_file bug22766_f1] f1
-restore [locate_data_file bug22766_f2] f2
-
-mksurface s1 f1
-mksurface s2 f2
-
-intersect result s1 s2
diff --git a/tests/bugs/modalg_5/bug23948_1 b/tests/bugs/modalg_5/bug23948_1
deleted file mode 100644 (file)
index e4bf6e9..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-puts "========="
-puts "OCC23948"
-puts "========="
-puts ""
-###########################################################
-# Wrong intersection between a surface of revolution and a plane.
-###########################################################
-
-set MaxTol 1.0e-6
-set NbCurv_OK 2
-
-restore [locate_data_file bug22766_f1] f1
-restore [locate_data_file bug22766_f2] f2
-
-set log [bopcurves f1 f2 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${NbCurv} != ${NbCurv_OK}} {
-  puts "Error: ${NbCurv_OK} curve(s) expected, but ${NbCurv} found."
-}
-
-checkreal TolReached ${Toler} ${MaxTol} 0.0 0.1
-
-bclearobjects
-bcleartools
-
-for { set i 1 } { $i <= $NbCurv } { incr i } {
-  mkedge ee c_$i
-  baddobjects ee
-}
-
-if { $NbCurv > 1 } {
-  bfillds
-  bbuild rs
-  checksection rs -r 2
-  checkmaxtol rs -ref $MaxTol
-  checkprops rs -l 111.803
-}
-
-smallview
-don c_*
-fit
-disp f1 f2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug23948_2 b/tests/bugs/modalg_5/bug23948_2
deleted file mode 100644 (file)
index 26a2a44..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-puts "========="
-puts "OCC23948"
-puts "========="
-puts ""
-###########################################################
-# Wrong intersection between a surface of revolution and a plane.
-###########################################################
-
-foreach a [directory c_*] {unset $a}
-
-restore [locate_data_file bug22766_f1] f1
-restore [locate_data_file bug22766_f2] f2
-
-mksurface s1 f1
-mksurface s2 f2
-
-set log [bopcurves f1 f2]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-for { set i 1 } { $i <= $NbCurv } { incr i } {
-  bounds c_$i U1 U2
-
-  if {[dval U2-U1] < 1.0e-9} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  xdistcs c_$i s1 0 1 10 2.0e-7
-  xdistcs c_$i s2 0 1 10 2.0e-7
-}
-
-smallview
-don c_*
-fit
-disp s1 s2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug24299 b/tests/bugs/modalg_5/bug24299
deleted file mode 100755 (executable)
index ec6ce1b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "========="
-puts "CR24299"
-puts "========="
-puts ""
-###############################
-## Wrong section curve
-###############################
-
-restore [locate_data_file pro19653a.brep] b1
-restore [locate_data_file pro19653b.brep] b2
-
-explode b1 f
-explode b2 f
-mksurface s1 b1_1
-mksurface s2 b2_1
-intersect i s1 s2
-
-xdistcs i_2 s1 0 1 10 1e-5
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug24313 b/tests/bugs/modalg_5/bug24313
deleted file mode 100755 (executable)
index 5a27988..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-puts "============"
-puts "OCC24313"
-puts "============"
-puts ""
-#######################################################################
-# BRepAlgoAPI_Section and IntTools_FaceFace aren't written to handle Geom_SurfaceOfLinearExtrusion
-#######################################################################
-
-circle c 0 0 0 0 0 1 1 0 0 100
-extsurf s1 c 0 0 1
-plane s2 0 0 0 1 0 0 0 1 0
-mkface b1 s1
-mkface b2 s2
-bopcurves b1 b2
diff --git a/tests/bugs/modalg_5/bug24472 b/tests/bugs/modalg_5/bug24472
deleted file mode 100755 (executable)
index 897851b..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-puts "========="
-puts "CR24472"
-puts "========="
-puts ""
-###############################
-## Wrong section curves
-###############################
-
-puts "TODO OCC29501 ALL: Error in ii12_22"
-
-set MaxToler 1.5e-4
-
-restore [locate_data_file bug24472_Pipe_1.brep] b1
-
-explode b1 f
-copy b1_2 f1
-copy b1_3 f2
-copy b1_6 f3
-mksurface s1 f1
-mksurface s2 f2
-mksurface s3 f3
-
-puts ""
-puts "First test"
-# 1.1 geometry
-intersect ii12 s1 s2
-
-foreach c [directory ii12*] {
-  bounds $c U1 U2
-  
-  if {[dval U2-U1] < 1.0e-9} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  xdistcs $c s1 U1 U2 10 $MaxToler
-  xdistcs $c s2 U1 U2 10 $MaxToler
-}
-
-puts ""
-puts "Second test"
-# 1.2 topology
-bsection r12 f1 f2
-bopcheck r12
-# OK
-
-regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance r12] full toler
-if { $toler > $MaxToler } { puts "Error: Tolerance of the section r12 is too large" }
-
-puts ""
-puts "Third test"
-# 2.1 geometry
-intersect ii13 s1 s3
-
-foreach c [directory ii13*] {
-  bounds $c U1 U2
-  
-  if {[dval U2-U1] < 1.0e-9} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  xdistcs $c s1 U1 U2 10 $MaxToler
-  xdistcs $c s2 U1 U2 10 $MaxToler
-}
-
-puts ""
-puts "Fourth test"
-# 2.2 topology
-bsection r13 f1 f3
-bopcheck r13
-# OK
-
-regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance r13] full toler
-if { $toler > $MaxToler } { puts "Error: Tolerance of the section r13 is too large" }
diff --git a/tests/bugs/modalg_5/bug24505 b/tests/bugs/modalg_5/bug24505
deleted file mode 100644 (file)
index 83d686b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-puts "==========="
-puts "OCC24505"
-puts "==========="
-puts ""
-##############################################################
-# Wrong section curves between Cone and Cylinder with collinear axes
-##############################################################
-
-restore [locate_data_file bug24505_f1.brep] f1
-restore [locate_data_file bug24505_f2.brep] f2
-
-bopcurves f1 f2
-
-set info [dump c_1]
-
-if { [regexp "Circle" $info] != 1 } {
-    puts "Error : Wrong section curves"
-} else {
-    puts "OK : Good section curves"
-}
diff --git a/tests/bugs/modalg_5/bug24585_1 b/tests/bugs/modalg_5/bug24585_1
deleted file mode 100644 (file)
index 9c85984..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-puts "========="
-puts "OCC24585"
-puts "========="
-puts ""
-###########################################################
-# Wrong pcurve of the section curve
-###########################################################
-
-set NbCurv_OK 1
-
-restore [locate_data_file bug24585_b1.brep] b1
-restore [locate_data_file bug24585_b2.brep] b2
-
-mksurface s1 b1
-bounds s1 U1f_exp U1l_exp V1f_exp V1l_exp
-
-set log [bopcurves b1 b2 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${NbCurv} != ${NbCurv_OK}} {
-  puts "Error: ${NbCurv_OK} curve(s) expected, but ${NbCurv} found."
-}
-
-if { ${Toler} > 5.e-5} {
-   puts "Error: bad tolerance of result"
-}
-
-bounds c2d1_1 U1 U2
-2dcvalue c2d1_1 U1 U_begin V_begin
-2dcvalue c2d1_1 U2 U_end V_end
-
-#Theoretically, c2d1_1 must cover U-diapason of surface s1 fully.
-
-set delta_f [dval U1f_exp-U_begin]
-
-#ATTENTION!!! U_begin must be strictly equal U1f_exp (without any tolerance)
-if {${delta_f} != 0} {
-  puts "Error: Bad value. U_begin = [dval U_begin], Ufirst = [dval U1f_exp]."
-} else {
-  puts "OK: Good value. U_begin matches with Ufirst of surface."
-}
-
-puts ""
-
-set delta_l [dval U1l_exp-U_end]
-
-#ATTENTION!!! U_end must be strictly equal U1l_exp (without any tolerance)
-if {${delta_l} != 0} {
-  puts "Error: Bad value. U_end = [dval U_end], Ulast = [dval U1l_exp]."
-} else {
-  puts "OK: Good value. U_end matches with Ulast of surface."
-}
-
-puts ""
-puts "Check if tangents in first and last point of line have the same directions"
-
-#See bug#26752
-cvalue c_1 U1 xx yy zz dx1 dy1 dz1
-cvalue c_1 U2 xx yy zz dx2 dy2 dz2
-
-set DP [dval dx1*dx2+dy1*dy2+dz1*dz2]
-if {${DP} < 0} {
-  puts "Error: Tangents are reversed. Bug 26752 is reproduced."
-} else {
-  puts "OK: Tangents are not reversed."
-}
diff --git a/tests/bugs/modalg_5/bug24612 b/tests/bugs/modalg_5/bug24612
deleted file mode 100644 (file)
index 6a3357b..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-puts "========="
-puts "OCC24612"
-puts "========="
-puts ""
-###########################################################
-# Wrong pcurve of the section curve
-###########################################################
-
-set MaxTol 7.0e-5
-set NbCurv_OK 1
-restore [locate_data_file bug24612_b1.brep] b1
-restore [locate_data_file bug24612_b2.brep] b2
-
-mksurface s1 b1
-bounds s1 U1f_exp U1l_exp V1f_exp V1l_exp
-
-dval U1f_exp
-dval U1l_exp
-dval V1f_exp
-dval V1l_exp
-
-set log [bopcurves b1 b2 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${NbCurv} != ${NbCurv_OK}} {
-  puts "Error: ${NbCurv_OK} curve(s) expected, but ${NbCurv} found."
-}
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-#Theoretically, c2d1_1 must cover V-diapason of surface s1 fully.
-
-set log [dump c2d1_1]
-
-regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
-puts "Degree=${Degree}"
-puts "Poles=${Poles}"
-puts "KnotsPoles=${KnotsPoles}"
-puts ""
-
-set Pole 1
-set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
-regexp ${exp_string} ${log} full U_begin V_begin
-
-puts "Pole=${Pole}"
-puts "U_begin=${U_begin}"
-puts "V_begin=${V_begin}"
-dset V_begin ${V_begin}
-puts ""
-
-set Pole ${Poles}
-set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
-regexp ${exp_string} ${log} full U_end V_end
-
-puts "Pole=${Pole}"
-puts "U_end=${U_end}"
-puts "V_end=${V_end}"
-dset V_end ${V_end}
-puts ""
-
-set delta_f [dval V1l_exp-V_begin]
-
-#ATTENTION!!! V_begin must be strictly equal V1l_exp (without any tolerance)
-if {${delta_f} != 0} {
-  puts "Error: Bad value. V_begin = [dval V_begin], Vlast = [dval V1l_exp]."
-} else {
-  puts "OK: Good value. V_begin matches with Vlast of surface."
-}
-
-puts ""
-
-set delta_l [dval V1f_exp-V_end]
-
-#ATTENTION!!! V_end must be strictly equal V1f_exp (without any tolerance)
-if {${delta_l} != 0} {
-  puts "Error: Bad value. V_end = [dval V_end], Vfirst = [dval V1f_exp]."
-} else {
-  puts "OK: Good value. V_end matches with Vfirst of surface."
-}
diff --git a/tests/bugs/modalg_5/bug24643 b/tests/bugs/modalg_5/bug24643
deleted file mode 100755 (executable)
index 0fedc97..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-puts "================"
-puts "OCC24643"
-puts "================"
-puts ""
-#######################################################################
-# No section curve between plane and cone
-#######################################################################
-
-restore [locate_data_file bug24643_b1.brep] b1
-restore [locate_data_file bug24643_b2.brep] b2
-bopcurves b1 b2
-checklength c_1 -l 107.39085794960783
-
-set log [dump c_1]
-if {[regexp {Trimmed +curve} ${log}]} {
-  puts "OK: section curve is good"
-} else {
-  puts "Error: section curve is bad"
-}
-
-smallview
-donly c_1 b1 b2
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug24648 b/tests/bugs/modalg_5/bug24648
deleted file mode 100644 (file)
index 8f6b7dc..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-puts "==========="
-puts "OCC24648"
-puts "==========="
-puts ""
-##############################################################
-# Different types of intersection curves between Cone and Torus with a different order of arguments
-##############################################################
-
-cone s1 60 0
-torus s2 30 20
-
-intersect i1 s1 s2
-set info1 [dump i1_1]
-
-intersect i2 s2 s1
-set info2 [dump i2_1]
-
-set type_of_curve "Circle"
-
-if { [regexp ${type_of_curve} ${info1}] != 1 } {
-    puts "Error : Wrong type of intersection curve #1"
-} else {
-    puts "OK : Good type of intersection curve #1"
-}
-
-if { [regexp ${type_of_curve} ${info2}] != 1 } {
-    puts "Error : Wrong type of intersection curve #2"
-} else {
-    puts "OK : Good type of intersection curve #2"
-}
-
-smallview
-donly i1_1 i2_1
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/modalg_5/bug24650 b/tests/bugs/modalg_5/bug24650
deleted file mode 100644 (file)
index 4b33f5f..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-puts "==========="
-puts "OCC24650"
-puts "==========="
-puts ""
-##############################################################
-# Wrong intersection curves obtained for a surface of revolution and a plane.
-##############################################################
-
-set GoodNbCurv 1
-
-restore [locate_data_file bug24650_fz1365.brep] b1
-restore [locate_data_file bug24650_fz2495.brep] b2
-
-mksurface sb1 b1
-mksurface sb2 b2
-trimu sb1tu sb1 0.242 0.291
-
-clear
-
-set N [intersect res sb1tu sb2]
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    display res_$ic
-    
-    bounds res_$ic U1 U2
-    
-    dval U1
-    dval U2
-    
-    if {[dval U2-U1] < 1.0e-20} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic sb1tu U1 U2 10 1e-7    
-    xdistcs res_$ic sb2 U1 U2 10 1e-7
-    
-    incr ic
-  }
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Curve Number is good!"
-} else {
-  puts "Error: Curve Number is bad!"
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug24915 b/tests/bugs/modalg_5/bug24915
deleted file mode 100755 (executable)
index 2c25dd4..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-puts "TODO OCC26927 ALL: Error: Tolerance is too big!"
-
-puts "========="
-puts "CR24915"
-puts "========="
-puts ""
-###############################
-## Wrong intersection curves between two cylinders
-###############################
-
-puts "##############################"
-puts "#!!!Searh \"Attention\" keyword on this web-page for additinal checking!!!"
-puts "##############################"
-
-restore [locate_data_file bug24915_ft2.brep] b1
-restore [locate_data_file bug24915_ft3.brep] b2
-
-# 1. topology
-bclearobjects
-bcleartools
-baddobjects b1 b2
-bfillds
-bbuild r
-checkshape r
-
-# 2. geometry
-set MaxTol 1.0e-7
-set GoodNBCurv 3
-
-set log [bopcurves b1 b2 -2d]
-
-if { ! [regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv] } {
-  puts "Error: Cannot find tolerance value in output of bopcurve command"
-}
-
-if { $NbCurv != $GoodNBCurv } {
-  puts "Error: Number of curves is wrong!"  
-}
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-smallview
-
-for {set i 1} {$i <= $GoodNBCurv} {incr i} {
-  donly b2 c_$i
-  fit
-  checkview -screenshot -2d -path ${imagedir}/${test_image}_$i.png
-}
diff --git a/tests/bugs/modalg_5/bug25193 b/tests/bugs/modalg_5/bug25193
deleted file mode 100755 (executable)
index e401b25..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-puts "TODO OCC27116 ALL: Error: Summary length  ="
-puts "TODO OCC27116 ALL: Error: 1 intersection curve\\(s\\) expected but"
-
-puts "================"
-puts "OCC25193"
-puts "================"
-puts ""
-#######################################################################
-# Bad Intersection curveobtained by Surface/Surface Intersection Algorithm.
-#######################################################################
-
-puts ""
-
-pload QAcommands
-
-set GoodNbCurv 1
-set GoodTol 3.6570868343352305e-005
-set NbControlPts 10
-
-restore [locate_data_file bug25193_s1t.draw] s1
-restore [locate_data_file bug25193_s4t.draw] s4
-
-#Ethalon of intersection curve
-bounds s1 us1 us2 vs1 vs2
-uiso cc s1 us1
-
-regexp {is ([-0-9.+eE]+)} [length cc 1.0e-4] full ExpLength
-puts "Expected length = $ExpLength"
-
-intersect res s1 s4 $GoodTol
-set che [whatis res]
-set ind [string first "3d curve" $che]
-
-set AllowRepeate 1
-set ic 1
-
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-set SumLength 0
-
-while { $AllowRepeate != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-    break
-  }
-  
-  for {set jc 1} {$jc < $ic} {incr jc} {
-    mkedge e1 res_$ic
-    mkedge e2 res_$jc
-    set coe [checkoverlapedges e1 e2]
-
-    puts "res_$ic <-> res_$jc: $coe"
-    if { [regexp "Edges is not overlaped" $coe] != 1 } {
-      puts "Error: Overlapped intersection curves"
-    }
-  }
-
-  regexp {is ([-0-9.+eE]+)} [length res_$ic 1.0e-4] full ll
-
-  set SumLength [ expr $SumLength+$ll ]
-  
-  bounds res_$ic U1 U2
-  
-  set step [ dval (U2-U1)/$NbControlPts ]
-  
-  if { $step < 1.0e-9*$NbControlPts } {
-    puts "Error: Wrong curve's range!"
-  }
-
-  set DPPrev 0
-  for {set par [dval U1]} {$par <= [dval U2]} {set par [expr $par+$step]} {
-    cvalue res_$ic $par xx yy zz dx1 dy1 dz1
-    regexp " parameter 1 = +(\[-0-9*\.+eE\]+)" [proj cc xx yy zz] full cpar
-    cvalue cc $cpar xx yy zz dx2 dy2 dz2
-    
-    set DP [dval dx1*dx2+dy1*dy2+dz1*dz2]
-    
-    if {$DPPrev*$DP < 0.0} {
-      puts "Error: Curve res_$ic changes its direction"
-    }
-    
-    set DPPrev $DP
-  }
-  
-  incr ic
-}
-  
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Good number of intersection curve(s) obtained by Surface/Surface Intersection Algorithm"
-} else {
-  puts "Error: $GoodNbCurv intersection curve(s) expected but [expr {$ic - 1}] found"
-}
-
-checkreal "Summary length " ${SumLength} $ExpLength 0.0 1.0e-6
-
-smallview
-donly res_* s1 s4
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25224 b/tests/bugs/modalg_5/bug25224
deleted file mode 100755 (executable)
index 6937dd2..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-puts "================"
-puts "OCC25224"
-puts "================"
-puts ""
-#######################################################################
-# The section curve between two cylindrical faces is incomplete
-#######################################################################
-
-restore [locate_data_file bug25224_Input_5.brep]  b1
-restore [locate_data_file bug25224_Input_21.brep] b2
-
-# 1. bopcurves
-explode b1 f
-explode b2 f
-
-set log [bopcurves b1_1 b2_1]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-set MaxTol 1.e-7
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-checklength c_1 -l 0.52377379499528021
-
-# 2. BOP
-bclearobjects
-bcleartools
-baddobjects b1
-baddtools b2
-bfillds
-bbuild result
-
-checkprops result -s 21.4983 
-checkshape result
-
-checknbshapes result -vertex 10 -edge 19 -wire 13 -face 13 -shell 3 -solid 3 -compsolid 0 -compound 1 -shape 62
-checkview -display result -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25248 b/tests/bugs/modalg_5/bug25248
deleted file mode 100755 (executable)
index 1d924cf..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-puts "========="
-puts "CR25248"
-puts "========="
-puts ""
-###############################
-## Curve-Surface intersection algorithm raises exception
-###############################
-
-restore [locate_data_file bug25248_c.draw] c
-restore [locate_data_file bug25111_s2.draw] s
-
-intersect i c s
diff --git a/tests/bugs/modalg_5/bug25292_11 b/tests/bugs/modalg_5/bug25292_11
deleted file mode 100644 (file)
index de9171d..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-puts "================"
-puts "OCC25292"
-puts "================"
-puts ""
-#######################################################################
-# Face/Face intersection algorithm gives different results for different order of the arguments
-#######################################################################
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-# bopcurves command
-
-restore [locate_data_file bug25292_Input_0.brep] b1
-restore [locate_data_file bug25292_Input_1.brep] b2
-
-explode b1 f
-copy b1_2 f1
-explode b2 f
-copy b2_2 f2
-
-#############################
-set log [bopcurves f1 f2 -2d]
-#############################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-#This value must be equal to the analogical value in bug25292_11 and bug25292_12 of "bugs modalg_5" testgrid. 
-set MaxTol 2.0e-7
-
-#This value must be equal to the analogical value in bug25292_11, bug25292_12, bug25292_15 and bug25292_16 of "bugs modalg_5" testgrid. 
-set GoodNbCurv 4
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-#-------------
-
-puts ""
-
-mksurface s1 f1
-mksurface s2 f2
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-
-  puts "U2=[dval U1]"
-  puts "U2=[dval U2]"
-  
-  if {[dval U2-U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-
-  xdistcs c_$i s1 U1 U2 10 ${Toler}
-  xdistcs c_$i s2 U1 U2 10 ${Toler}
-}
-
-v2d
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25292_12 b/tests/bugs/modalg_5/bug25292_12
deleted file mode 100644 (file)
index 61e028a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-puts "================"
-puts "OCC25292"
-puts "================"
-puts ""
-#######################################################################
-# Face/Face intersection algorithm gives different results for different order of the arguments
-#######################################################################
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-# bopcurves command
-
-restore [locate_data_file bug25292_Input_0.brep] b1
-restore [locate_data_file bug25292_Input_1.brep] b2
-
-explode b1 f
-copy b1_2 f1
-explode b2 f
-copy b2_2 f2
-
-#############################
-set log [bopcurves f2 f1 -2d]
-#############################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-#This value must be equal to the analogical value in bug25292_11 and bug25292_12 of "bugs modalg_5" testgrid. 
-set MaxTol 2.0e-7
-
-#This value must be equal to the analogical value in bug25292_11, bug25292_12, bug25292_15 and bug25292_16 of "bugs modalg_5" testgrid. 
-set GoodNbCurv 4
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-#-------------
-
-puts ""
-
-mksurface s1 f1
-mksurface s2 f2
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-
-  puts "U2=[dval U1]"
-  puts "U2=[dval U2]"
-  
-  if {[dval U2-U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-
-  xdistcs c_$i s1 U1 U2 10 ${Toler}
-  xdistcs c_$i s2 U1 U2 10 ${Toler}
-}
-
-v2d
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25292_21 b/tests/bugs/modalg_5/bug25292_21
deleted file mode 100644 (file)
index 516f96d..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-puts "================"
-puts "OCC25292"
-puts "================"
-puts ""
-#######################################################################
-# Face/Face intersection algorithm gives different results for different order of the arguments
-#######################################################################
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-# bopcurves command
-
-restore [locate_data_file bug25292_Input_3.brep] b1
-restore [locate_data_file bug25292_Input_11.brep] b2
-
-explode b1 f
-copy b1_1 f1
-explode b2 f
-copy b2_1 f2
-
-#########################
-set log [bopcurves f1 f2 -2d]
-#########################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-#This value must be equal to the analogical value in bug25292_21 and bug25292_22 of "bugs modalg_5" testgrid. 
-set MaxTol 1.e-7
-
-#This value must be equal to the analogical value in bug25292_21, bug25292_22, bug25292_25 and bug25292_26 of "bugs modalg_5" testgrid. 
-set GoodNbCurv 2
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-#-------------
-
-puts ""
-
-mksurface s1 f1
-mksurface s2 f2
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-
-  puts "U2=[dval U1]"
-  puts "U2=[dval U2]"
-  
-  if {[dval U2-U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-
-  xdistcs c_$i s1 U1 U2 10 ${Toler}
-  xdistcs c_$i s2 U1 U2 10 ${Toler}
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25292_22 b/tests/bugs/modalg_5/bug25292_22
deleted file mode 100644 (file)
index b641b0a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-puts "================"
-puts "OCC25292"
-puts "================"
-puts ""
-#######################################################################
-# Face/Face intersection algorithm gives different results for different order of the arguments
-#######################################################################
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-# bopcurves command
-
-restore [locate_data_file bug25292_Input_3.brep] b1
-restore [locate_data_file bug25292_Input_11.brep] b2
-
-explode b1 f
-copy b1_1 f1
-explode b2 f
-copy b2_1 f2
-
-#########################
-set log [bopcurves f2 f1 -2d]
-#########################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-#This value must be equal to the analogical value in bug25292_21 and bug25292_22 of "bugs modalg_5" testgrid. 
-set MaxTol 1.e-7
-
-#This value must be equal to the analogical value in bug25292_21, bug25292_22, bug25292_25 and bug25292_26 of "bugs modalg_5" testgrid. 
-set GoodNbCurv 2
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-#-------------
-
-puts ""
-
-mksurface s1 f1
-mksurface s2 f2
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-
-  puts "U2=[dval U1]"
-  puts "U2=[dval U2]"
-  
-  if {[dval U2-U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-
-  xdistcs c_$i s1 U1 U2 10 ${Toler}
-  xdistcs c_$i s2 U1 U2 10 ${Toler}
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25292_31 b/tests/bugs/modalg_5/bug25292_31
deleted file mode 100644 (file)
index b807823..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-puts "================"
-puts "OCC25292"
-puts "================"
-puts ""
-#######################################################################
-# Face/Face intersection algorithm gives different results for different order of the arguments
-#######################################################################
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-# bopcurves command
-
-restore [locate_data_file bug25292_f1.brep] f1
-restore [locate_data_file bug25292_f2.brep] f2
-
-#############################
-set log [bopcurves f1 f2 -2d]
-#############################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
-set MaxTol 1.3e-7
-
-#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
-set GoodNbCurv 1
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!!"
-}
-
-#-------------
-
-puts ""
-
-mksurface s1 f1
-mksurface s2 f2
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-
-  puts "U2=[dval U1]"
-  puts "U2=[dval U2]"
-  
-  if {[dval U2-U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-
-  xdistcs c_$i s1 U1 U2 10 ${Toler}
-  xdistcs c_$i s2 U1 U2 10 ${Toler}
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25292_32 b/tests/bugs/modalg_5/bug25292_32
deleted file mode 100644 (file)
index 04a5a0e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-puts "================"
-puts "OCC25292"
-puts "================"
-puts ""
-#######################################################################
-# Face/Face intersection algorithm gives different results for different order of the arguments
-#######################################################################
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-# bopcurves command
-
-restore [locate_data_file bug25292_f1.brep] f1
-restore [locate_data_file bug25292_f2.brep] f2
-
-#############################
-set log [bopcurves f2 f1 -2d]
-#############################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
-set MaxTol 1.3e-7
-
-#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
-set GoodNbCurv 1
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!!"
-}
-
-#-------------
-
-puts ""
-
-mksurface s1 f1
-mksurface s2 f2
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-
-  puts "U2=[dval U1]"
-  puts "U2=[dval U2]"
-  
-  if {[dval U2-U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-
-  xdistcs c_$i s1 U1 U2 10 ${Toler}
-  xdistcs c_$i s2 U1 U2 10 ${Toler}
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25380 b/tests/bugs/modalg_5/bug25380
deleted file mode 100755 (executable)
index c668905..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-puts "================"
-puts "OCC25380"
-puts "================"
-puts ""
-#######################################################################
-# Intersection curve cannot reach boundary of surface
-#######################################################################
-
-restore [locate_data_file bug25380_b1.brep] b1
-restore [locate_data_file bug25380_b2.brep] b2
-
-set log [bopcurves b1 b2]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-set MaxTol 1.e-11
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-checklength c_1 -l 1.614
-
-smallview
-donly c_1 b1
-fit
-display b2
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25416_1 b/tests/bugs/modalg_5/bug25416_1
deleted file mode 100644 (file)
index c42dc9d..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-puts "================"
-puts "OCC25416"
-puts "================"
-puts ""
-#######################################################################
-# Wrong section curve
-#######################################################################
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-# bopcurves command
-
-restore [locate_data_file bug25416_f1.brep] f1
-restore [locate_data_file bug25416_f2.brep] f2
-
-#############################
-set log [bopcurves f1 f2 -2d]
-#############################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-set MaxTol 1.e-7
-
-set GoodNbCurv 1
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-#-------------
-
-mksurface s1 f1
-mksurface s2 f2
-
-erase s1 s2
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-  
-  dump U1 U2
-  
-  if {[dval $U2-$U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-
-  xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
-  xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25416_2 b/tests/bugs/modalg_5/bug25416_2
deleted file mode 100644 (file)
index a6b31c9..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-puts "================"
-puts "OCC25416"
-puts "================"
-puts ""
-#######################################################################
-# Wrong section curve
-#######################################################################
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-# bopcurves command
-
-restore [locate_data_file bug25416_f3.brep] f1
-restore [locate_data_file bug25416_f4.brep] f2
-
-mksurface s1 f1
-mksurface s2 f2
-
-#Trim according to "xbounds f1"
-trim s1 s1 -55.44 150.554 -98.1087 79.1766
-
-mkface ff1 s1
-donly ff1 f2
-
-#############################
-set log [bopcurves ff1 f2 -2d]
-#############################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
-set MaxTol 1.e-7
-
-#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
-set GoodNbCurv 2
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-#-------------
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-  
-  dump U1 U2
-  
-  if {[dval $U2-$U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
-  xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25416_3 b/tests/bugs/modalg_5/bug25416_3
deleted file mode 100644 (file)
index 39c7676..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-puts "================"
-puts "OCC25416"
-puts "================"
-puts ""
-#######################################################################
-# Wrong section curve
-#######################################################################
-
-#Check if intersection algorithm produces overlapped curves
-
-restore [locate_data_file bug25416_s1.draw] s1
-restore [locate_data_file bug25416_s2.draw] s2
-
-set ll [intersect ii s1 s2]
-
-set status 0
-if { [llength $ll] < 1 } {
-    set status 1
-}
-
-foreach i $ll {
-   foreach j $ll {
-      if { $i >= $j } continue
-
-      mkedge e1 $i
-      mkedge e2 $j
-      set coe [checkoverlapedges e1 e2]
-
-      puts "$i<->$j: $coe"
-      if { [regexp "Edges is not overlaped" $coe] != 1 } {
-         set status 2
-      }
-   }
-}
-
-if { $status != 0 } {
-    puts "Wrong section. Error with code $status"
-} else {
-    puts "OK: Good section"
-}
diff --git a/tests/bugs/modalg_5/bug25465_1 b/tests/bugs/modalg_5/bug25465_1
deleted file mode 100644 (file)
index be9fd47..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "========"
-puts "OCC25465"
-puts "========"
-puts ""
-################################################
-# Excess vertex in the result of CUT operation
-################################################
-
-restore [locate_data_file OCC25465_Gorivo.brep] b1
-restore [locate_data_file OCC25465_Translation_1.brep] b2
-
-explode b1 f
-explode b2 f
-set bug_info [bopcurves b1_3 b2_4]
-bop b1 b2
-bopcut result
-
-# It is strictly forbidden to change reference values of vertexes and edges (see OCC25465)
-checknbshapes result -vertex 11 -edge 17 -wire 8 -face 8 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 47
-if {[lindex $bug_info 2] != 3} {
-  puts "ERROR: OCC25465 is reproduced."
-}
diff --git a/tests/bugs/modalg_5/bug25465_2 b/tests/bugs/modalg_5/bug25465_2
deleted file mode 100644 (file)
index 884a8cf..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "========"
-puts "OCC25465"
-puts "========"
-puts ""
-################################################
-# Excess vertex in the result of CUT operation
-################################################
-
-restore [locate_data_file OCC25465_t_boite1.brep] b1
-restore [locate_data_file OCC25465_c_cyl.brep] b2
-
-explode b1 f
-explode b2 f
-set bug_info [bopcurves b1_6 b2_1]
-bop b1 b2
-bopcut result
-
-# It is strictly forbidden to change reference values of vertexes and edges (see OCC25465)
-checknbshapes result -vertex 13 -edge 20 -wire 11 -face 8 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 55
-if {[lindex $bug_info 2] != 2} {
-  puts "ERROR: OCC25465 is reproduced."
-}
diff --git a/tests/bugs/modalg_5/bug25488 b/tests/bugs/modalg_5/bug25488
deleted file mode 100644 (file)
index 3437ecd..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-puts "========"
-puts "OCC25488"
-puts "========"
-puts ""
-######################################################
-# Wrong result of two trimmed cylinders intersection
-######################################################
-
-set Tolerance 1.1e-7
-set Limit_Tol 1.0e-7
-
-puts "##############################"
-puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
-puts "##############################"
-puts ""
-puts ""
-
-restore [locate_data_file OCC25488_sb1_1t.draw] sb1
-restore [locate_data_file OCC25488_sb2_1t.draw] sb2
-
-set bug_info [intersect res sb1 sb2]
-
-set i 0
-while {$i != [llength $bug_info]} {
-  set res_i [lindex $bug_info $i]
-
-  xdistcs ${res_i} sb1 0 1 10 ${Tolerance} ${Limit_Tol}
-  xdistcs ${res_i} sb2 0 1 10 ${Tolerance} ${Limit_Tol}
-
-  set i [expr {$i + 1}]
-}
diff --git a/tests/bugs/modalg_5/bug25697_2 b/tests/bugs/modalg_5/bug25697_2
deleted file mode 100644 (file)
index bb25efa..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-puts "=========="
-puts "OCC25697"
-puts "=========="
-puts ""
-########################################################################################
-# Regression : Section obtained after command "bsection" in Test Harness is incorrect.
-########################################################################################
-
-restore [locate_data_file bug25697_shell_for_seam.brep] b1
-restore [locate_data_file bug25697_prism.brep] b2
-explode b1 f
-copy b1_1 b1
-explode b2 f
-copy b2_1 b2
-
-#################################
-set log [bopcurves b1 b2 -2d1]
-#################################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-set GoodNbCurv 3
-
-checkreal TolReached ${Toler} 0.00027763280312203317 0.0 0.01
-
-if { ${NbCurv} != ${GoodNbCurv} } {
-  puts "Error: Curve Number is bad!"
-}
-
-#---------------
-mksurface s1 b1
-mksurface s2 b2
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i u1 u2
-  dump u1 u2
-
-  xdistcs c_$i s1 u1 u2 10 1e-7
-  xdistcs c_$i s2 u1 u2 10 1e-7
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25818 b/tests/bugs/modalg_5/bug25818
deleted file mode 100755 (executable)
index e8a2353..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-puts "============"
-puts "OCC25818"
-puts "============"
-puts ""
-#######################################################################
-# IntTools_FaceFace throws Standard_ConstructionError with two unbounded planes
-#######################################################################
-
-plane pn1 0 0 0 0 0 1 1 0 0 
-plane pn2 0 0 0 1 0 0 0 1 0
-mkface f1 pn1 
-mkface f2 pn2
-bopcurves f1 f2
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25828_3 b/tests/bugs/modalg_5/bug25828_3
deleted file mode 100755 (executable)
index 9d6b704..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-puts "========"
-puts "OCC25828"
-puts "========"
-puts ""
-##########################################
-## BRepAlgoAPI_Section fails for a solid and a face depending on order of arguments
-##########################################
-
-set BugNumber OCC25828
-
-restore [locate_data_file bug25828_intersectionproblem.brep] b
-
-explode b
-copy b_1 b1
-copy b_2 b2
-explode b1 f; copy b1_1 b1
-explode b2 f; copy b2_6 b2
-set log [bopcurves b1 b2 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-set MaxTol 5.5e-6
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != 1} {
-  puts "Error: NbCurv is bad!"
-}
-
-smallview
-donly b1 b2
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25828_4 b/tests/bugs/modalg_5/bug25828_4
deleted file mode 100755 (executable)
index 03c236c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-puts "========"
-puts "OCC25828"
-puts "========"
-puts ""
-##########################################
-## BRepAlgoAPI_Section fails for a solid and a face depending on order of arguments
-##########################################
-
-set BugNumber OCC25828
-
-restore [locate_data_file bug25828_intersectionproblem.brep] b
-
-explode b
-copy b_1 b1
-copy b_2 b2
-explode b1 f; copy b1_1 b1
-explode b2 f; copy b2_6 b2
-set log [bopcurves b2 b1 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-set MaxTol 5.5e-6
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != 1} {
-  puts "Error: NbCurv is bad!"
-}
-
-smallview
-donly b1 b2
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25842 b/tests/bugs/modalg_5/bug25842
deleted file mode 100755 (executable)
index ca7dcc0..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-puts "================"
-puts "OCC25842"
-puts "================"
-puts ""
-#######################################################################
-# Wrong intersection 2D-curves obtained for pair of faces.
-#######################################################################
-
-restore [locate_data_file bug25842_f1.brep] f1
-restore [locate_data_file bug25842_f2.brep] f2
-
-bopcurves f1 f2 -2d
-
-v2d
-donly c2d2_1 c2d2_2
-2dfit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_5/bug25898 b/tests/bugs/modalg_5/bug25898
deleted file mode 100755 (executable)
index 343274e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-puts "================"
-puts "OCC25898"
-puts "================"
-puts ""
-#######################################################################
-# Wrong result obtained by intersection algorithm.
-#######################################################################
-
-# Before fix intersection algorithm threw an exception.
-
-restore [locate_data_file bug25898_x001_1.draw] s1
-restore [locate_data_file bug25898_x001_2.draw] s2
-
-set CurveNumb [intersect i s1 s2]
-
-if { [llength ${CurveNumb}] != 2 } {
-    puts "Error : Wrong result obtained by intersection algorithm."
-} else {
-    puts "OK : Good result obtained by intersection algorithm."
-}
-
-smallview
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug21750 b/tests/bugs/modalg_6/bug21750
deleted file mode 100644 (file)
index b0fe0d1..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-puts "============"
-puts "OCC21750"
-puts "============"
-puts ""
-##################################
-#  Intersection of two cylindrical surfaces fails
-##################################
-
-cylinder c1 1031.3339148728076 -113.25868616662650 56.152387686082520 -0.86602540378443815 0.50000000000000089 0.0 -0.50000000000000089 -0.86602540378443815 0.0 76.499999999999986
-cylinder c2 1017.0706583606553 -103.24955863669388 56.152387686082548 0.86602540378443915 -0.49999999999999933 0.0 0.49999999999999933 0.86602540378443915 0.0 76.499999999999986
-
-if { [catch {set info [intersect r c1 c2 1e-7]} catch_result] } {
-    puts "Error: The intersection of two cylindrical surfaces causes an exception"
-}
-
-# Number of solutions check. 
-# There should be only 2 solution.
-if {[llength $info] != 2} {
-  Error: Incorrect number of solutions.
-} 
-
-smallview
-
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug23177_1 b/tests/bugs/modalg_6/bug23177_1
deleted file mode 100644 (file)
index 17efcb1..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-puts "========"
-puts "OCC23177"
-puts "========"
-puts ""
-####################################################################
-# Intersection of plane and torus misses a result and never produces analytical result
-####################################################################
-
-set GoodNbCurv 2
-
-torus s1 100 10
-plane s2 0 0 0 0 1 0
-intersect res s1 s2
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-    break;
-  } else {
-    if { ![regexp "Circle" [dump res_$ic]] } {
-      puts "Error: Intersection result must be circle"
-    }
-    
-    bounds res_$ic U1 U2
-    
-    checkreal CurveBoundaries [dval U2-U1] [dval 2*pi] 1.0e-10 0.0
-    
-    xdistcs res_$ic s1 U1 U2 10 1.0e-7
-    xdistcs res_$ic s2 U1 U2 10 1.0e-7
-    incr ic    
-  }  
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
-}
-  
-  
-smallview
-don res_*
-fit
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug23177_2 b/tests/bugs/modalg_6/bug23177_2
deleted file mode 100644 (file)
index 12f1991..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-puts "========"
-puts "OCC23177"
-puts "========"
-puts ""
-####################################################################
-# Intersection of plane and torus misses a result and never produces analytical result
-####################################################################
-
-set GoodNbCurv 2
-
-torus s1 100 10
-plane s2  0 0 0 1 0 0
-intersect res s1 s2
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-    break;
-  } else {
-    if { ![regexp "Circle" [dump res_$ic]] } {
-      puts "Error: Intersection result must be circle"
-    }
-    
-    bounds res_$ic U1 U2
-    
-    checkreal CurveBoundaries [dval U2-U1] [dval 2*pi] 1.0e-10 0.0
-    
-    xdistcs res_$ic s1 U1 U2 10 1.0e-7
-    xdistcs res_$ic s2 U1 U2 10 1.0e-7
-    incr ic    
-  }  
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
-}
-  
-  
-smallview
-don res_*
-fit
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug23178 b/tests/bugs/modalg_6/bug23178
deleted file mode 100644 (file)
index a16ee98..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-puts "================"
-puts "OCC23178"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of cylinders fails to produce results
-#######################################################################
-
-set GoodNbCurv 6
-
-foreach c [directory result*] {
-  unset $c
-}
-
-cylinder s1 4.999999999813, 1.35836143386791, 0.20975890778078 -1, 0, 0 0, 0, 1 10
-cylinder s2 9.999999999813, 9.1401960568287, 0.11837300583107 0, -0.75870713028692, 0.651431877061437 0, -0.651431877061437, -0.75870713028692 5 
-
-intersect result s1 s2
-
-foreach c [directory result*] {
-  bounds $c U1 U2
-  
-  if {[dval U2-U1] < 1.0e-9} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  xdistcs $c s1 U1 U2 10 2.0e-7
-  xdistcs $c s2 U1 U2 10 2.0e-7    
-}
-
-set NbCurv [llength [directory result*]]
-
-if { $NbCurv == $GoodNbCurv } {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
-}
-
-smallview
-don result*
-fit
-disp s1 s2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25820_1 b/tests/bugs/modalg_6/bug25820_1
deleted file mode 100644 (file)
index 782dea8..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-puts "========"
-puts "OCC25820"
-puts "========"
-puts ""
-###################################################################
-# No Intersection Curves between surface of revolution and planes
-###################################################################
-
-restore [locate_data_file OCC25820-Revolution_5.brep] b1
-explode b1 f
-copy b1_4 b1
-
-restore [locate_data_file OCC25820-Translation_1.brep] b2
-explode b2 f
-copy b2_2 b2
-
-smallview
-clear
-display b1
-display b2
-fit
-
-set info [bopcurves b1 b2]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
-regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
-
-if {$bug_info_tol > 1.0e-7} {
-  puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."
-}
-
-if {$bug_info_cur != 1} {
-  puts "ERROR: OCC25820 is reproduced. Too many curves were found."
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25820_2 b/tests/bugs/modalg_6/bug25820_2
deleted file mode 100644 (file)
index 2ac5382..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-puts "========"
-puts "OCC25820"
-puts "========"
-puts ""
-###################################################################
-# No Intersection Curves between surface of revolution and planes
-###################################################################
-
-restore [locate_data_file OCC25820-Revolution_5.brep] b1
-explode b1 f
-copy b1_4 b1
-
-restore [locate_data_file OCC25820-Translation_2.brep] b2
-explode b2 f
-copy b2_4 b2
-
-smallview
-clear
-display b1
-display b2
-fit
-
-set info [bopcurves b1 b2]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
-regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
-
-if {$bug_info_tol > 1.0e-7} {
-  puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."
-}
-
-if {$bug_info_cur != 1} {
-  puts "ERROR: OCC25820 is reproduced. Too many curves were found."
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25820_3 b/tests/bugs/modalg_6/bug25820_3
deleted file mode 100644 (file)
index 3ed68e2..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-puts "========"
-puts "OCC25820"
-puts "========"
-puts ""
-###################################################################
-# No Intersection Curves between surface of revolution and planes
-###################################################################
-
-restore [locate_data_file OCC25820-Revolution_5.brep] b1
-explode b1 f
-copy b1_4 b1
-
-restore [locate_data_file OCC25820-Translation_3.brep] b2
-explode b2 f
-copy b2_3 b2
-
-smallview
-clear
-display b1
-display b2
-fit
-
-set info [bopcurves b1 b2]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
-regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
-
-if {$bug_info_tol > 1.0e-7} {
-  puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."
-}
-
-if {$bug_info_cur != 1} {
-  puts "ERROR: OCC25820 is reproduced. Too many curves were found."
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25890 b/tests/bugs/modalg_6/bug25890
deleted file mode 100755 (executable)
index 4c3dad3..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-puts "============"
-puts "OCC25890"
-puts "============"
-puts ""
-###############################
-## Intersection algorithm produces curves overlaped
-###############################
-
-set ExpToler 1.5361108163989659e-007
-set ExpLen 5.036361740755879
-
-restore [locate_data_file bug25890_f1.brep] f1
-restore [locate_data_file bug25890_f2.brep] f2
-
-set log [ bopcurves f1 f2 -2d ]
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-checkreal TolReached $Toler $ExpToler 0.0 0.1
-
-if { ${NbCurv} != 1 } {
-  puts "Error : NbCurv is bad"
-  
-  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
-  "
-
-  set SumLen 0.0
-  
-  # Check for overlapping
-  for {set i 1} {$i <= $NbCurv} {incr i} {
-    regexp "The +length+ c_$i +is +(\[-0-9.+eE\]+)" [ length c_$i ] full m
-    set SumLen [ expr $SumLen + $m]
-    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"
-    }
-  }
-
-  checkreal Length $SumLen $ExpLen 1.0e-7 0.0
-} else {
-  checklength c_1 -l $ExpLen
-}
-
diff --git a/tests/bugs/modalg_6/bug26008 b/tests/bugs/modalg_6/bug26008
deleted file mode 100644 (file)
index 4c24bf0..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-puts "================"
-puts "OCC26008"
-puts "================"
-puts ""
-#######################################################################
-# [OCCT 6.8.0 regression] BRepFeat_SplitShape returns invalid shapes
-#######################################################################
-
-sphere ss1 78.4160443343, 8.94293392454, 70.9553808628 6.5
-sphere ss2 82.5593917073, 4.52613090823, 76.3299967 3.5
-
-mkface f1 ss1
-mkface f2 ss2
-
-bopcurves f1 f2 -2d
-
-view 1 -2D- 465 20 400 400
-2dfit
-
-xwd $imagedir/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26151_1 b/tests/bugs/modalg_6/bug26151_1
deleted file mode 100755 (executable)
index 8f64483..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-puts "============"
-puts "OCC26151"
-puts "============"
-puts ""
-###############################
-## Wrong result obtained by intersection algorithm.
-###############################
-
-restore [locate_data_file bug26132_shape.brep] q
-
-explode q
-copy q_1 b1
-copy q_2 b2
-
-explode b1 f
-explode b2 
-explode b2_10 f
-
-set log [bopcurves b1_1 b2_10_4 -2d]
-
-#Faces almost coincide. Therefore, there is no point in
-#returning some intersection line.
-#Theoretically, the intersection result is some region (tangent zone).
-
-if { [regexp "has no 3d curve" ${log}] != 1 } {
-   puts "Error : Wrong result obtained by intersection algorithm"
-} else {
-   puts "OK : Good result obtained by intersection algorithm"
-}
-
-smallview
-fit
-xwd $imagedir/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26151_2 b/tests/bugs/modalg_6/bug26151_2
deleted file mode 100755 (executable)
index 92b986b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-puts "============"
-puts "OCC26151"
-puts "============"
-puts ""
-###############################
-## Wrong result obtained by intersection algorithm.
-###############################
-
-restore [locate_data_file bug26132_shape.brep] q
-
-explode q
-copy q_1 b1
-copy q_2 b2
-
-explode b1 f
-explode b2 
-explode b2_11 f
-
-set log [bopcurves b1_1 b2_11_2 -2d]
-
-#Faces almost coincide. Therefore, there is no point in
-#returning some intersection line.
-#Theoretically, the intersection result is some region (tangent zone).
-
-if { [regexp "has no 3d curve" ${log}] != 1 } {
-   puts "Error : Wrong result obtained by intersection algorithm"
-} else {
-   puts "OK : Good result obtained by intersection algorithm"
-}
-
-smallview
-fit
-xwd $imagedir/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26251 b/tests/bugs/modalg_6/bug26251
deleted file mode 100755 (executable)
index d498eb9..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-puts "============"
-puts "OCC26251"
-puts "============"
-puts ""
-###############################
-## Section curve cannot be found
-###############################
-
-restore [locate_data_file bug26251_b31_3.brep] b1
-restore [locate_data_file bug26251_tank31.brep] b2
-
-bsection result b1 b2
-
-checkprops result -l 2.49934 
-checkshape result 
-checksection result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX    : 3
- EDGE      : 2
- WIRE      : 0
- FACE      : 0
- SHELL     : 0
- SOLID     : 0
- COMPSOLID : 0
- COMPOUND  : 1
- SHAPE     : 6
-"
-
-checknbshapes result -ref ${nbshapes_expected} -t -m "Section curve"
-
-explode b2 f
-copy b2_5 b2
-
-set NbCurves 0
-
-set log [bopcurves b1 b2 -2d]
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurves
-
-if {$NbCurves == 0} {
-  puts "Error: Intersection curve is not found"
-}
-
-checkview -display result -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26352 b/tests/bugs/modalg_6/bug26352
deleted file mode 100644 (file)
index 9590d13..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-puts "========"
-puts "OCC26352"
-puts "========"
-puts ""
-#############################################################################
-# Wrong intersection points found
-#############################################################################
-
-restore [locate_data_file bug26316_shape1.brep] b1
-restore [locate_data_file bug26316_shape2.brep] b2
-
-explode b1 f
-explode b2 f
-
-set log1 [bopcurves b1_10 b2_3]
-set log2 [bopcurves b1_10 b2_10]
-set log3 [bopcurves b1_11 b2_1]
-set log4 [bopcurves b1_11 b2_7]
-
-set search_str "has no 3d points"
-
-if { [regexp ${search_str} ${log1}] != 1 } {
-   puts "Error : Wrong intersection point found (1)"
-} else {
-   puts "OK : Good result obtained by intersection algorithm (1)"
-}
-
-if { [regexp ${search_str} ${log2}] != 1 } {
-   puts "Error : Wrong intersection point found (2)"
-} else {
-   puts "OK : Good result obtained by intersection algorithm (2)"
-}
-
-if { [regexp ${search_str} ${log3}] != 1 } {
-   puts "Error : Wrong intersection point found (3)"
-} else {
-   puts "OK : Good result obtained by intersection algorithm (3)"
-}
-
-if { [regexp ${search_str} ${log4}] != 1 } {
-   puts "Error : Wrong intersection point found (4)"
-} else {
-   puts "OK : Good result obtained by intersection algorithm (4)"
-}
diff --git a/tests/bugs/modalg_6/bug26431_1 b/tests/bugs/modalg_6/bug26431_1
deleted file mode 100644 (file)
index 201859a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-puts "============"
-puts "OCC26431"
-puts "============"
-puts ""
-###############################
-## Can't cut a sphere from a cylinder
-###############################
-
-restore [locate_data_file bug26431_Body.brep] b1
-restore [locate_data_file bug26431_Sphere.brep] b2
-
-explode b1 f
-explode b2 f
-
-set log [bopcurves b1_3 b2_1 -2d]
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
-
-set expected_Tolerance_Reached 6.1899285293702062e-006
-set tol_abs_Tolerance_Reached 1.0e-7
-set tol_rel_Tolerance_Reached 0.0
-checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
diff --git a/tests/bugs/modalg_6/bug26576_1 b/tests/bugs/modalg_6/bug26576_1
deleted file mode 100644 (file)
index 40e3086..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-puts "============"
-puts "OCC26576"
-puts "============"
-puts ""
-###############################
-## Wrong result obtained by intersection algorithm.
-###############################
-
-pload DCAF
-
-Open [locate_data_file bug26576_study1_new_geom.cbf] D
-
-GetShape D 0:1:484:1:1:2 b1
-GetShape D 0:1:478:1:1:2 b2
-
-explode b1 f
-explode b2 f
-copy b1_1 b1
-copy b2_2 b2
-donly b1 b2
-
-#Wrong value of Tolerance Reached. 
-
-set log [bopcurves b1 b2 -2d]
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
-
-set GoodNbCurv 2
-
-set expected_Tolerance_Reached 1.2482990218170969e-007
-set tol_abs_Tolerance_Reached 1.0e-7
-set tol_rel_Tolerance_Reached 0.0
-checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
-}
-
-#Overlapping intersection curves.
-
-for {set i 1} {$i < ${NbCurv}} {incr i} {
-  for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
-    mkedge e1 c_$i
-    mkedge e2 c_$j
-
-    set coe [checkoverlapedges e1 e2 $Tolerance_Reached]
-
-    puts "c_$i<->c_$j: $coe"
-    if { [regexp "Edges is not overlaped" $coe] != 1 } {
-      puts "Error: c_$i and c_$j are overlaped"
-    }
-  }
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26576_3 b/tests/bugs/modalg_6/bug26576_3
deleted file mode 100644 (file)
index 21467cc..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-puts "============"
-puts "OCC26576"
-puts "============"
-puts ""
-###############################
-## Wrong result obtained by intersection algorithm.
-###############################
-
-pload DCAF
-
-Open [locate_data_file bug26576_study1_new_geom.cbf] D
-
-GetShape D 0:1:484:1:1:2 b1_src
-GetShape D 0:1:478:1:1:2 b2_src
-
-save b1_src $imagedir/bug26576_b1.brep
-save b2_src $imagedir/bug26576_b2.brep
-
-restore $imagedir/bug26576_b1.brep b1
-restore $imagedir/bug26576_b2.brep b2
-
-explode b1 f
-explode b2 f
-copy b1_1 b2
-copy b2_2 b1
-
-#Wrong value of Tolerance Reached. 
-
-set log [bopcurves b1 b2 -2d]
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
-
-set GoodNbCurv 2
-
-set expected_Tolerance_Reached 1.2482990218170969e-007
-set tol_abs_Tolerance_Reached 1.0e-7
-set tol_rel_Tolerance_Reached 0.0
-checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
-}
-
-#Overlapping intersection curves.
-
-for {set i 1} {$i < ${NbCurv}} {incr i} {
-  for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
-    mkedge e1 c_$i
-    mkedge e2 c_$j
-
-    set coe [checkoverlapedges e1 e2 $Tolerance_Reached]
-
-    puts "$i<->$j: $coe"
-    if { [regexp "Edges is not overlaped" $coe] != 1 } {
-      puts "Error: c_$i and c_$j are overlaped"
-    }
-  }
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26576_4 b/tests/bugs/modalg_6/bug26576_4
deleted file mode 100644 (file)
index 86edaba..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-puts "============"
-puts "OCC26576"
-puts "============"
-puts ""
-###############################
-## Wrong result obtained by intersection algorithm.
-###############################
-
-set GoodNbCurv 2
-
-circle cc 1.5 3.125 0 0 0 1 1 0 0 0.25
-trim cc cc 0 3.14159265358979
-revsurf ss1 cc 1.5 3.125 0 -1 0 0
-
-plane ss2 3.48352775473762 1.7282347013387 0 0 0 -1 -1 0 0
-
-set IntCurv [intersect intres ss1 ss2]
-set NbIntCurv [llength ${IntCurv}]
-
-if { ${NbIntCurv} != ${GoodNbCurv} } {
-    puts "Error in geometric intersection: ${GoodNbCurv} curves are expected but ${NbIntCurv} are found!"
-} else {
-    puts "OK : Geometric intersection is good."
-}
-
-# For getting tolerance value
-mkface b1 ss1
-mkface b2 ss2
-donly b1
-
-set log [bopcurves b1 b2 -2d]
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
-
-set expected_Tolerance_Reached 1.9321146113460029e-008
-set tol_abs_Tolerance_Reached 1.0e-7
-set tol_rel_Tolerance_Reached 0.0
-checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
-}
-
-#Overlapping intersection curves.
-
-if { $Tolerance_Reached < 1.0e-7 } { set Tolerance_Reached 1.0e-7 }
-
-for {set i 1} {$i < ${NbCurv}} {incr i} {
-  for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
-    mkedge eb1 c_$i
-    mkedge eb2 c_$j
-    
-    mkedge ei1 intres_$i
-    mkedge ei2 intres_$j
-
-    set coeb [checkoverlapedges eb1 eb2 $Tolerance_Reached]
-    set coei [checkoverlapedges ei1 ei2 $Tolerance_Reached]    
-
-    puts "$i<->$j: $coeb"
-    puts "$i<->$j: $coei"
-    if { [regexp "Edges is not overlaped" $coeb] != 1 } {
-      puts "Error: c_$i and c_$j are overlaped"
-    }
-    
-    if { [regexp "Edges is not overlaped" $coei] != 1 } {
-      puts "Error: intres_$i and intres_$j are overlaped"
-    }
-    
-    erase eb1 eb2 ei1 ei2
-  }
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26675 b/tests/bugs/modalg_6/bug26675
deleted file mode 100644 (file)
index 20141ba..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-puts "============"
-puts "OCC26675"
-puts "============"
-puts ""
-###############################
-## 0026675: Eliminate normalization of coordinates in ApproxInt package
-###############################
-
-set GoodNbCurv 1
-
-pload QAcommands
-OCC26675_1 ss
-
-intersect res ss_1 ss_2
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    display res_$ic
-    
-    bounds res_$ic U1 U2
-    
-    dval U1
-    dval U2
-    
-    if {[dval U2-U1] < 1.0e-20} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic ss_1 U1 U2 10 4.6e-6
-    xdistcs res_$ic ss_2 U1 U2 10 4.3e-6
-    
-    incr ic
-  }
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Curve Number is good!"
-} else {
-  puts "Error: Curve Number is bad!"
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26684_1 b/tests/bugs/modalg_6/bug26684_1
deleted file mode 100644 (file)
index b79fe1d..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-puts "============"
-puts "OCC26684"
-puts "============"
-puts ""
-###################################################
-## Big tolerance values of the intersection curves
-###################################################
-
-brestore [locate_data_file CTO909_IR2_TuyoPipe20.brep] b1
-brestore [locate_data_file CTO909_IR2_sphere1_20.brep] b2
-
-explode b1 f; copy b1_1 f1
-explode b2 f; copy b2_1 f2
-
-smallview
-donly f1 f2
-fit
-
-# 1 case
-set bop_info [bopcurves f1 f2]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $bop_info full Tolerance
-
-checkreal "Reached tolerance" ${Tolerance} 5.8654166482879483e-009 1.e-7 0
-
-# 2 case
-set bop_info_2d [bopcurves f1 f2 -2d]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $bop_info_2d full Tolerance_2d
-
-checkreal "Reached tolerance" ${Tolerance_2d} 1.4569392656749484e-008 1.e-7 0
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26684_2 b/tests/bugs/modalg_6/bug26684_2
deleted file mode 100644 (file)
index d5028b7..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-puts "============"
-puts "OCC26684"
-puts "============"
-puts ""
-###################################################
-## Big tolerance values of the intersection curves
-###################################################
-
-brestore [locate_data_file IR2_TuyoPipeBSpline_20_draw2.brep] b1
-brestore [locate_data_file IR2_sphere2_20.brep] b2
-
-explode b1 f; copy b1_1 f1
-explode b2 f; copy b2_1 f2
-
-smallview
-donly f1 f2
-fit
-
-# 1 case
-set bop_info [bopcurves f1 f2]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $bop_info full Tolerance
-
-checkreal "Reached tolerance" ${Tolerance} 1.2530391548405894e-008 1.e-7 0
-
-# 2 case
-set bop_info_2d [bopcurves f1 f2 -2d]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $bop_info_2d full Tolerance_2d
-
-checkreal "Reached tolerance" ${Tolerance_2d} 1.4134494834137484e-005 0 1.e-2
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26699 b/tests/bugs/modalg_6/bug26699
deleted file mode 100644 (file)
index 9237b63..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-puts "================"
-puts "OCC26699"
-puts "================"
-puts ""
-#######################################################################
-# Wrong section curves
-#######################################################################
-
-set MaxTol 1.e-7
-set GoodNbCurv 2
-
-restore [locate_data_file bug26699_f1.brep] f1
-restore [locate_data_file bug26699_f2.brep] f2
-
-set log [bopcurves f1 f2 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-checklength c_1 -l 3.0
-checklength c_2 -l 3.0
-
-axo
-donly f* c_*
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug26748 b/tests/bugs/modalg_6/bug26748
deleted file mode 100644 (file)
index 0d7a342..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-puts "========"
-puts "OCC26748"
-puts "========"
-puts ""
-#################################################
-# Section between cylindrical and planar faces is not found
-#################################################
-
-set ExpTol 5.0e-8
-set GoodNbCurv 1
-
-restore [locate_data_file bug26745_BodyA.brep] a
-restore [locate_data_file bug26745_BodyB.brep] b
-
-explode a f
-explode b f
-
-set log [bopcurves a_9 b_1 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-}
-
-checkreal TolReached $Toler $ExpTol 5.0e-8 0.0
-
-smallview
-don c_*
-fit
-disp a_9 b_1
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug26894 b/tests/bugs/modalg_6/bug26894
deleted file mode 100644 (file)
index 306b44c..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-puts "================"
-puts "OCC26894"
-puts "================"
-puts ""
-#######################################################################
-# Intersection algorithm between two infinite cylinders is hanging
-#######################################################################
-
-# Attention!!!
-# The test on performance meter.
-# On the MASTER it takes:
-# Elapsed time: 0 Hours 0 Minutes 6.3723911111 Seconds
-# CPU user time: 6.15625 seconds
-# CPU system time: 0.0625 seconds
-
-# The intersection curve is almost infinite.
-# Therefore, we must have failed to return
-# any section curve (see comments to the issue #26894).
-set GoodNbCurv 0
-
-restore [locate_data_file bug26884-f1.brep] f1
-restore [locate_data_file bug26884-f2.brep] f2
-
-mksurface ss1 f1
-mksurface ss2 f2
-
-if { ![ catch {intersect result ss1 ss2 } ] } {
-  puts "Error: intersection algorithm must return fail status. But it is not."
-}
-
-set che [whatis result]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "result" exists
-  renamevar result result_1
-}
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis result_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    display result_$ic
-    
-    bounds result_$ic U1 U2
-    
-    dump U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs result_$ic ss1 U1 U2 10 1.0e-7
-    xdistcs result_$ic ss2 U1 U2 10 1.0e-7
-    
-    incr ic
-  }
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
-}
diff --git a/tests/bugs/modalg_6/bug27079_1 b/tests/bugs/modalg_6/bug27079_1
deleted file mode 100644 (file)
index 121b0eb..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-puts "============"
-puts "OCC27079"
-puts "============"
-puts ""
-##################################################################
-# Bad approximation of intersection curves with variable curvature
-##################################################################
-
-restore [locate_data_file bug27079_s1.draw] s1
-restore [locate_data_file bug27079_s2.draw] s2
-
-clpoles s2
-
-smallview
-donly s2
-fit
-
-intersect result s1 s2
-
-checklength result_1 -l 6.8873540591440428
-checklength result_2 -l 6.8873330997321212
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug27079_2 b/tests/bugs/modalg_6/bug27079_2
deleted file mode 100644 (file)
index 99ea9b7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-puts "============"
-puts "OCC27079"
-puts "============"
-puts ""
-##################################################################
-# Bad approximation of intersection curves with variable curvature
-##################################################################
-
-restore [locate_data_file bug27079_s3.draw] s3
-restore [locate_data_file bug27079_s4.draw] s4
-
-smallview
-donly s4
-fit
-
-intersect result s3 s4
-
-checklength result_1 -l 4.2844275555620923
-checklength result_2 -l 4.2844275531269931
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug27175 b/tests/bugs/modalg_6/bug27175
deleted file mode 100644 (file)
index 7b4c645..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "================"
-puts "OCC27175"
-puts "================"
-puts ""
-#######################################################################
-# Intersection algorithm with increased tolerance works incorrect with some shapes
-#######################################################################
-
-set ExpectTol 3.002046539399851e-006
-set GoodNbCurv 2
-
-plane pl 0.195808075898442 -0.229262227170656 4.05546403129991 0 0 1
-psphere s1 pl 0.03101752454
-restore [locate_data_file bug27128-Helix_Pipe.brep] s2
-
-explode s1 f
-explode s2 f
-
-settolerance s1_1 2.0e-6
-settolerance s2_2 2.0e-6
-bopcurves s1_1 s2_2 -2d
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves s1_1 s2_2 -2d] full Toler NbCurv
-
-checkreal "Tolerance Reached" ${Toler} ${ExpectTol} 0.0 0.1
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
diff --git a/tests/bugs/modalg_6/bug27190 b/tests/bugs/modalg_6/bug27190
deleted file mode 100644 (file)
index c93004f..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-puts "================"
-puts "OCC27190"
-puts "================"
-puts ""
-#######################################################################
-# IntPatch_ImpPrmIntersection algorithm does not split intersection curve by the seam-edge of the quadric
-#######################################################################
-
-set MaxTol 1.e-3
-set GoodNbCurv 11
-
-restore [locate_data_file bug27167_pipe.brep] a1
-pcylinder a2 100 300
-
-explode a1 f
-explode a2 f
-
-set log [bopcurves a1_2 a2_1 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-set Period [dval 2*pi]
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c2d2_$i u1 u2
-  
-  2dcvalue c2d2_$i u1 x1 y
-  2dcvalue c2d2_$i u2 x2 y
-  
-  set X1 [dval x1/$Period]
-  set X2 [dval x2/$Period]
-  
-  # Example: x1 = 5.3*pi, x2 = 12.8*pi ==> [x1, x2] intersects seam
-  if { [expr abs($X1 - $X2) > 1.0] } {
-    puts "Error: c2d2_$i intersects seam (0.0 or $Period): x1=[dval x1], x2=[dval x2]"
-    continue;
-  }
-
-  set iX1 [expr floor($X1)]
-  set iX2 [expr floor($X2)]
-  
-  # Examples:
-  #   1. x1 = 5*pi/2, x2 = 3*pi ==> [x1, x2] does not intersect seam and
-  #     ($iX1 == $iX2 == 0). I.e. if ($iX1 == $iX2) then seam is not intersected.
-  #   2. x1 = 3*pi, x2 = 5*pi ==> [x1, x2] intersects seam and
-  #     ($iX1 == 1, $iX2 == 2) ==> ($iX1 != $iX2).
-  #   3. x1 = pi/4, x2 = 2*pi ==> [x1, x2] does not intersect seam and
-  #     ($iX1 == 0, $iX2 == 1) ==> ($iX1 != $iX2) and ($X2 == $iX2 = 1)
-  if { ($iX1 != $iX2) && ($X2 != $iX2) } {
-    puts "Error: c2d2_$i intersects seam (0.0 or $Period): x1=[dval x1], x2=[dval x2]"
-  }
-}
-
-smallview
-don c_*
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug27252_1 b/tests/bugs/modalg_6/bug27252_1
deleted file mode 100644 (file)
index c2bf3c9..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-puts "============"
-puts "OCC27252"
-puts "============"
-puts ""
-#######################################################################
-# Implicit-implicit intersection (Cylinder-Plane) loses intersection curve
-#######################################################################
-
-set GoodNbCurv 1
-set MaxTol 1.0e-7
-
-restore [locate_data_file bug27221.brep] a
-explode a
-mkplane f a_2
-prism p f -25 0 0 
-explode a_1 f
-explode p f
-don a_1_7 p_3
-
-set log [bopcurves a_1_7 p_3 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-smallview
-don c_*
-fit
-display a_1_7 p_3
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug27263 b/tests/bugs/modalg_6/bug27263
deleted file mode 100644 (file)
index f6c316e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-puts "================"
-puts "OCC27263"
-puts "================"
-puts ""
-#######################################################################
-# Regression vs 6.9.1: Exception is raised during intersection of two faces
-#######################################################################
-
-set MaxTol 1.e-7
-set GoodNbCurv 1
-
-restore [locate_data_file  bug27262_cmpd.brep] b
-explode b
-
-smallview
-explode b_1 f
-don b_1_27 b_2
-fit
-
-set log [bopcurves b_1_27 b_2 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+ee]+)\n+([-0-9.+ee]+)} ${log} full Toler NbCurv
-
-if {${Toler} > ${MaxTol}} {
-  puts "Error: Tolerance is too big!"
-}
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Curve Number is bad!"
-}
-
-checklength c_1 -l 2.9620641619623407
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug27269 b/tests/bugs/modalg_6/bug27269
deleted file mode 100644 (file)
index 66f5e7e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-puts "============"
-puts "OCC27269"
-puts "============"
-puts ""
-###############################
-## Intersection algorithm produces null-length curve
-###############################
-
-
-restore [locate_data_file bug27267_cmpd.brep] a
-explode a f
-
-smallview
-don a_7; fit
-disp a_1
-
-#############################
-set log [bopcurves a_1 a_7 -2d]
-#############################
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-  
-  dump U1 U2
-  
-  if {[dval U2-U1] < 1.0e-20} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  set le [length c_$i]
-  regexp "The length c_$i is +(\[-0-9.+eE\]+)" ${le} full ll
-  
-  if { $ll < 1.0e-7 } {
-    puts "Error: Curve c_$i is too small!"
-  }
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug27282_2 b/tests/bugs/modalg_6/bug27282_2
deleted file mode 100644 (file)
index 1d908cc..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-puts "============"
-puts "OCC27282"
-puts "============"
-puts ""
-###############################
-## [Regression to 6.9.1] smesh/bugs_00/A6: Cut produces an empty shape
-###############################
-
-set MaxTol 2.9376013151287501e-006
-set GoodNbCurv 1
-
-restore [locate_data_file bug27282_cmpd.brep] a
-explode a f
-
-smallview
-don a_2 a_5
-fit
-
-set log [bopcurves a_2 a_5 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-checkreal ToleranceReached ${Toler} ${MaxTol} 0.0 0.1
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-  
-  for {set i 1} {$i < ${NbCurv}} {incr i} {
-    for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
-      mkedge e1 c_$i
-      mkedge e2 c_$j
-      
-      dset dd_val 100.0*${Toler}
-      distmini dd e1 e2
-      
-      if { [dval dd_val] > ${Toler} } {
-        puts "Error: Intersection result is not closed"
-      }
-    }
-  }
-} else {
-  checklength c_1 -l 833.56846557106064
-}
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug27302 b/tests/bugs/modalg_6/bug27302
deleted file mode 100644 (file)
index 7617f18..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-puts "============"
-puts "OCC27302"
-puts "============"
-puts ""
-###############################
-## Invalid curves number in intersection result
-###############################
-
-set MaxTol 6.5952839365451194e-008
-set GoodNbCurv 1
-
-restore [locate_data_file CTO900_pro12913a.rle] a
-restore [locate_data_file CTO900_pro12913b.rle] b
-
-explode a f
-explode b f
-
-smallview
-don a_34 b_9
-fit
-
-set log [bopcurves a_34 b_9 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-checkreal ToleranceReached ${Toler} ${MaxTol} 0.0 0.1
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-  
-  for {set i 1} {$i < ${NbCurv}} {incr i} {
-    for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
-      mkedge e1 c_$i
-      mkedge e2 c_$j
-      
-      dset dd_val 100.0*${Toler}
-      distmini dd e1 e2
-      
-      if { [dval dd_val] > ${Toler} } {
-        puts "Error: Intersection result is not closed"
-      }
-    }
-  }
-} else {
-  checklength c_1 -l 86.536841230136204
-}
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug27310_1 b/tests/bugs/modalg_6/bug27310_1
deleted file mode 100644 (file)
index 146b73d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-puts "========"
-puts "OCC27310"
-puts "========"
-puts ""
-#################################################
-# Huge tolerance obtained in the result of intersection of two cylindrical faces
-#################################################
-
-# Number of intersection curves cannot be subject to anything (indeed, output result can be empty).
-# The main reason of the bug #27310 was a HUGE TOLERANCE VALUE (TolReached > 10).
-# See test "bugs moddata_2 bug496" in case of doubt.
-
-set ExpTol 1.0e-7
-
-restore [locate_data_file OCC496a.brep] a 
-restore [locate_data_file OCC496b.brep] b
-
-explode a f
-explode b f
-
-set log [bopcurves a_8 b_2 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-checkreal TolReached $Toler $ExpTol 0.0 0.1
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug27310_2 b/tests/bugs/modalg_6/bug27310_2
deleted file mode 100644 (file)
index 80f3cc0..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-puts "========"
-puts "OCC27310"
-puts "========"
-puts ""
-#################################################
-# Huge tolerance obtained in the result of intersection of two cylindrical faces
-#################################################
-
-# Number of intersection curves cannot be subject to anything (indeed, output result can be empty).
-# The main reason of the bug #27310 was a HUGE TOLERANCE VALUE (TolReached > 10).
-# See test "bugs moddata_2 bug496" in case of doubt.
-
-set ExpTol 9.9999999999999995e-08
-
-restore [locate_data_file OCC496a.brep] a 
-restore [locate_data_file OCC496b.brep] b
-
-explode a f
-explode b f
-
-set log [bopcurves a_10 b_4 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-checkreal TolReached $Toler $ExpTol 0.0 0.1
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug27431 b/tests/bugs/modalg_6/bug27431
deleted file mode 100644 (file)
index 5d6cb90..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-puts "============"
-puts "OCC27431"
-puts "============"
-puts ""
-###############################
-## [Regression to 6.9.1] Huge tolerance obtained during intersection of cylinder and sphere
-###############################
-
-pload ALL
-
-set GoodNbCurv 4
-
-restore [locate_data_file OCC13116_sh1.brep] b1
-restore [locate_data_file OCC13116_sh2.brep] b2
-
-explode b1 f
-explode b2 f
-
-set log1 [bopcurves b1_3 b2_1 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log1} full Toler NbCurv
-
-if { ${Toler} > 0.0005} {
-   puts "Error: bad tolerance of result"
-}
-
-smallview
-don b1_3 b2_1 c_*
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d_1.png
-
-v2d
-don c2d*
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d_1.png
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-}
-
-# increasing tolerance values of the faces on Precision::Confusion()
-# dramatically increased (before fixing) the tolerance of 
-# the produced section curves
-
-settolerance b1_3 2.34623727264857e-007
-settolerance b2_1 2.e-7
-
-set log2 [bopcurves b1_3 b2_1 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log2} full Toler NbCurv
-
-if { ${Toler} > 0.0005} {
-   puts "Error: bad tolerance of result"
-}
-
-smallview
-don b1_3 b2_1 c_*
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d_2.png
-
-v2d
-don c2d*
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d_2.png
diff --git a/tests/bugs/modalg_6/bug27664_1 b/tests/bugs/modalg_6/bug27664_1
deleted file mode 100644 (file)
index 3cddf67..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-puts "========"
-puts "OCC27664"
-puts "========"
-puts ""
-#################################################
-# Incomplete intersection curve from the attached shapes
-#################################################
-
-set ExpTol 1.1e-7
-set GoodNbCurv 3
-set GoodLength 0.6288896355727489
-
-restore [locate_data_file bug27664_pl0.brep] pl0
-restore [locate_data_file bug27664_nsh_8.brep] nsh_8
-explode nsh_8 f
-explode pl0 f
-
-set log [bopcurves pl0_1 nsh_8_4 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-}
-
-checkreal TolReached $Toler $ExpTol 0.0 0.1
-
-set clen 0.0
-
-for {set ic 1} { $ic <= ${NbCurv} } { incr ic} {
-  
-  set le [length c_$ic]
-  regexp "The length c_$ic is +(\[-0-9.+eE\]+)" ${le} full ll
-  
-  puts "ll = $ll"
-  
-  set clen [expr $clen+$ll]
-}
-
-puts "Summary length = $clen"
-
-checkreal Length $clen $GoodLength 0.0 1.0e-5
-
-smallview
-don c_*
-fit
-display pl0_1 nsh_8_4
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
-
-top
-don c_*
-fit
-display pl0_1 nsh_8_4
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
diff --git a/tests/bugs/modalg_6/bug27766 b/tests/bugs/modalg_6/bug27766
deleted file mode 100644 (file)
index c039cd8..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-puts "========"
-puts "OCC27766"
-puts "========"
-puts ""
-#################################################
-# Incorrect section curves between attached cylinders
-#################################################
-
-set ExpTol 1.0e-7
-set GoodNbCurv 3
-
-restore [locate_data_file bug27761_c1.brep] c1
-restore [locate_data_file bug27761_c2.brep] c2
-
-set log [bopcurves c1 c2 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-}
-
-checkreal TolReached $Toler $ExpTol 0.0 0.1
-
-smallview
-don c_*
-fit
-disp c1 c2
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug27780 b/tests/bugs/modalg_6/bug27780
deleted file mode 100644 (file)
index 4df90be..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-puts "============"
-puts "OCC27780"
-puts "============"
-puts ""
-######################################################
-# Face-face intersection produces 2D curve that has reversed derivative at its end
-######################################################
-
-restore [locate_data_file buc60532a.brep] p 
-restore [locate_data_file buc60532b.brep] t1
-explode t1 f
-
-bopcurves p t1_2 -2d -p 6.2406621764215551 0.23999999463558200 0.00034444887595448459 -5.0019657458625186
-
-pcurve p
-trim c c2d1_1 0 1
-2dcvalue c 0 u0 v0
-2dcvalue c 1 u1 v1 du dv
-dset u01 u1-u0
-dset v01 v1-v0
-dset dot u01*du+v01*dv
-
-if {[dval dot] < 0} {
-  puts "Error: p-curve has reversed direction at its end"
-} else {
-  puts "OK: p-curve has correct direction at its end"
-}
-
-view 1 -2D- 728 450 400 400
-don p_* c
-2dfit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug27842 b/tests/bugs/modalg_6/bug27842
deleted file mode 100755 (executable)
index e55c77d..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "============"
-puts "OCC27842"
-puts "============"
-puts ""
-######################################################
-# Exception in intersection algorithm if FPE is switched on
-######################################################
-
-dsetsignal 1
-
-restore [locate_data_file bug27842_shape1_fix.brep] b1 
-restore [locate_data_file bug27842_shape2_fix.brep] b2
-
-explode b2 f
-
-bopcurves b1 b2_33 -2d
-
-bcommon result b1 b2
-
-checknbshapes result -wire 3 -face 1
-
-checkshape result
-
-checkprops result -s 10.8848
-
-smallview;
-donly result
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug27856_2 b/tests/bugs/modalg_6/bug27856_2
deleted file mode 100644 (file)
index aabc7a1..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-puts "========"
-puts "OCC27856"
-puts "========"
-puts ""
-#################################################
-# Regression vs 6.7.1: General Fuse operation fails to fuse the solids
-#################################################
-
-# Before the fix, EMPTY result (no points, no curves)
-# was returned in every considered case.
-
-restore [locate_data_file bug27856_int_solids.brep] b
-
-explode b so
-
-# first pair of solids
-explode b_1 f
-explode b_2 f
-
-# ----
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_1_2 b_2_2 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler 0.00026207823091004516 0.0 1.0e-3
-
-# ----
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_1_4 b_2_4 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler 6.5053102894636701e-005 0.0 1.0e-2
-
-# ----
-
-# second pair of solids
-
-explode b_3 f
-explode b_4 f
-
-# ----
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_3_2 b_4_2 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler 0.00029706239430643614 0.0 1.0e-3
-
-# ----
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_3_4 b_4_4 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler 0.00029242389138280588 0.0 1.0e-3
-
-# ----
-
-# third pair of solids
-
-explode b_5 f
-explode b_6 f
-
-# ----
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_5_2 b_6_2 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler 1.4980089259007279e-005 0.0 1.0e-2
-
-# ----
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_5_4 b_6_4 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler 0.00023417493528435788 0.0 1.0e-3
-
-# ----
-
-# fourth pair of solids
-
-explode b_7 f
-explode b_8 f
-
-# ----
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_7_2 b_8_2 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler 0.00027445924390073518 0.0 1.0e-3
-
-# ----
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_7_4 b_8_4 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler 1.867918118939262e-005 0.0 1.0e-2
-
diff --git a/tests/bugs/modalg_6/bug27896 b/tests/bugs/modalg_6/bug27896
deleted file mode 100644 (file)
index 427933f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-puts "============"
-puts "OCC27896"
-puts "============"
-puts ""
-###############################
-## Prm-Prm intersection algo returns wrong result if it is called with start
-## intersection point, which lies in the domain boundary
-###############################
-
-set tol_abs_Tolerance_Reached 1.0e-7
-set tol_rel_Tolerance_Reached 0.1
-set GoodNbCurves 2
-
-restore [locate_data_file bug25319_S1.brep] b1
-restore [locate_data_file bug25319_S2.brep] b2
-explode b1 f
-explode b2 f
-
-# GOOD result before the fix
-set log1 [bopcurves b1_8 b2_17 -2d -p +1.09444207768950010000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639710000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000]
-
-# BAD result before the fix
-set log2 [bopcurves b1_8 b2_17 -2d -p +1.09444207768949960000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639750000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log1} full Tolerance_Reached1 NbCurv1
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log2} full Tolerance_Reached2 NbCurv2
-
-set expected_Tolerance_Reached1 2.2611960020325053e-007
-set expected_Tolerance_Reached2 5.0364838664362801e-006
-
-checkreal "Tolerance Reached" ${Tolerance_Reached1} ${expected_Tolerance_Reached1} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
-checkreal "Tolerance Reached" ${Tolerance_Reached2} ${expected_Tolerance_Reached2} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
-
-if { $NbCurv1 != $GoodNbCurves } {
-  puts "Error in case 1: $GoodNbCurves curve(s) is expected but $NbCurv1 is found"
-}
-
-if { $NbCurv2 != $GoodNbCurves } {
-  puts "Error in case 2: $GoodNbCurves curve(s) is expected but $NbCurv2 is found"
-}
diff --git a/tests/bugs/modalg_6/bug27937_1 b/tests/bugs/modalg_6/bug27937_1
deleted file mode 100644 (file)
index d4337ee..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-puts "================"
-puts "OCC27937"
-puts "================"
-puts ""
-#######################################################################
-# 0027937: Intersector loops infinitely while proceeding two simple surfaces
-#######################################################################
-
-cpulimit 100
-
-# Attention!!!
-# The test on performance meter.
-# See issue #27937 for detail.
-set GoodNbCurv 4
-
-restore [locate_data_file bug27937_int1.draw] s1
-restore [locate_data_file bug27937_int2.draw] s2
-
-intersect result s1 s2
-
-set che [whatis result]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "result" exists
-  renamevar result result_1
-}
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis result_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    display result_$ic
-    
-    bounds result_$ic U1 U2
-    
-    dump U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs result_$ic s1 U1 U2 10 3.0e-5
-    xdistcs result_$ic s2 U1 U2 10 1.0e-5
-    
-    for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
-      mkedge e1 result_$ic
-      mkedge e2 result_$ip
-
-      set coe [checkoverlapedges e1 e2 5.0e-5]
-
-      puts "result_$ic <-> result_$ip: $coe"
-      if { [regexp "Edges is not overlaped" $coe] != 1 } {
-        puts "Error: result_$ic and result_$ip are overlaped"
-      }
-    }
-     
-    incr ic
-  }
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
-}
-
-smallview
-don result*
-fit
-clear
-don s1 s2 result*
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug27937_2 b/tests/bugs/modalg_6/bug27937_2
deleted file mode 100644 (file)
index 00032ca..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-puts "================"
-puts "OCC27937"
-puts "================"
-puts ""
-#######################################################################
-# 0027937: Intersector loops infinitely while proceeding two simple surfaces
-#######################################################################
-
-cpulimit 100
-
-# Attention!!!
-# The test on performance meter.
-# See issue #27937 for detail.
-set GoodNbCurv 4
-
-ellipse c1 0 0 0 0 0 1 6.03031367203927 3.11993062568844
-extsurf s1 c1 0 0 1
-cylinder s2 0 0 0 1 0 0 0.249128788767645
-
-intersect result s1 s2
-
-set che [whatis result]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "result" exists
-  renamevar result result_1
-}
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis result_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    display result_$ic
-    
-    bounds result_$ic U1 U2
-    
-    dump U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs result_$ic s1 U1 U2 10 4.0e-5
-    xdistcs result_$ic s2 U1 U2 10 1.0e-5
-    
-    for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
-      mkedge e1 result_$ic
-      mkedge e2 result_$ip
-
-      set coe [checkoverlapedges e1 e2 5.0e-5]
-
-      puts "result_$ic <-> result_$ip: $coe"
-      if { [regexp "Edges is not overlaped" $coe] != 1 } {
-        puts "Error: result_$ic and result_$ip are overlaped"
-      }
-    }
-     
-    incr ic
-  }
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
-}
-
-smallview
-don result*
-fit
-clear
-don s1 s2 result*
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_6/bug28009_2 b/tests/bugs/modalg_6/bug28009_2
deleted file mode 100644 (file)
index ae76e71..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-puts "================"
-puts "OCC28009"
-puts "================"
-puts ""
-#######################################################################
-# [Regression vs OCCT7.0.0] Cut produces not valid shape
-#######################################################################
-
-set NbCurvGood 1
-set ExpToler 5.441959818453312e-008
-
-restore [locate_data_file bug28009_shape.brep] a
-
-explode a
-
-explode a_1 f
-explode a_2 f
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves a_1_6 a_2_1 -2d] full Toler NbCurv
-if {${NbCurv} != 1} {
-  puts "Error: Number of curves is bad!"
-}
-
-checkreal TolReached $Toler $ExpToler 0.0 0.1
-
-smallview
-don c_*
-fit
-display a_1_6 a_2_1
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug28012 b/tests/bugs/modalg_6/bug28012
deleted file mode 100644 (file)
index 6b92339..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-puts "========"
-puts "OCC28012"
-puts "========"
-puts ""
-#################################################
-# Exception while intersecting two surfaces
-#################################################
-
-restore [locate_data_file bug28012_s1.draw] s1
-restore [locate_data_file bug28012_s2.draw] s2
-
-intersect result s1 s2 0.00012162815337817315 0.0010404164685680738 0.99999999999999989 0.22068942273845651
-
-smallview
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug28222_1 b/tests/bugs/modalg_6/bug28222_1
deleted file mode 100644 (file)
index d6bf565..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-puts "================"
-puts "OCC28222"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of two cylinders fails
-#######################################################################
-
-dsetsignal 1
-
-set GoodNbCurv 4
-
-foreach c [directory result*] {
-  unset $c
-}
-
-restore [locate_data_file bug28222_s1_cyl_read_d2.draw] s1
-restore [locate_data_file bug28222_s2_cyl_read_d2.draw] s2
-
-intersect result s1 s2
-
-foreach c [directory result*] {
-  bounds $c U1 U2
-  
-  if {[dval U2-U1] < 1.0e-9} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  xdistcs $c s1 U1 U2 10 2.0e-7
-  xdistcs $c s2 U1 U2 10 2.0e-7    
-}
-
-set NbCurv [llength [directory result*]]
-
-if { $NbCurv == $GoodNbCurv } {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
-}
-
-smallview
-don result*
-fit
-disp s1 s2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug28222_2 b/tests/bugs/modalg_6/bug28222_2
deleted file mode 100644 (file)
index 3fd838d..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-puts "================"
-puts "OCC28222"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of two cylinders fails
-#######################################################################
-
-dsetsignal 1
-
-set GoodNbCurv 4
-
-foreach c [directory result*] {
-  unset $c
-}
-
-cylinder s1 -35 13.3706576198285 30.5814570420266 0 -0.258819045102521 -0.965925826289068 0 0.965925826289068 -0.258819045102521 11
-cylinder s2 0 0 0 1 0 0 0 0 -1 16.5
-
-intersect result s1 s2
-
-foreach c [directory result*] {
-  bounds $c U1 U2
-  
-  if {[dval U2-U1] < 1.0e-9} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  xdistcs $c s1 U1 U2 10 2.0e-7
-  xdistcs $c s2 U1 U2 10 2.0e-7    
-}
-
-set NbCurv [llength [directory result*]]
-
-if { $NbCurv == $GoodNbCurv } {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
-}
-
-smallview
-don result*
-fit
-disp s1 s2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug28222_3 b/tests/bugs/modalg_6/bug28222_3
deleted file mode 100644 (file)
index 3e1f0ac..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-puts "================"
-puts "OCC28222"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of two cylinders fails
-#######################################################################
-
-dsetsignal 1
-
-set GoodNbCurv 2
-
-foreach c [directory result*] {
-  unset $c
-}
-
-cylinder s1 -9 -5 -2.2058 0 -1 0 0.001
-cylinder s2 0 0 -2.2058 0 0 -1 9
-
-intersect result s1 s2
-
-foreach c [directory result*] {
-  bounds $c U1 U2
-  
-  if {[dval U2-U1] < 1.0e-9} {
-    puts "Error: Wrong curve's range!"
-  }
-  
-  xdistcs $c s1 U1 U2 10 2.0e-7
-  xdistcs $c s2 U1 U2 10 2.0e-7    
-}
-
-set NbCurv [llength [directory result*]]
-
-if { $NbCurv == $GoodNbCurv } {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
-}
-
-smallview
-don result*
-fit
-don  s1 s2
-disp result*
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug28718 b/tests/bugs/modalg_6/bug28718
deleted file mode 100644 (file)
index ee83596..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-puts "========"
-puts "OCC28718"
-puts "========"
-puts ""
-#################################################
-# Section result has a break
-#################################################
-
-restore [locate_data_file bug28718_bulk_1.brep] b1
-restore [locate_data_file bug28718_hull.brep] b2
-
-####
-
-explode b1 f
-explode b2 f
-axo
-don b2_61
-fit
-
-set log [bopcurves b1_1 b2_61 -2d]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-checkreal TolReached $Toler 3.589120933029448e-08 0.0 0.1
-
-nurbsconvert ff b2_61
-set log [bopcurves b1_1 ff -2d]
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-checkreal TolReached $Toler 3.9019558966741645e-08 0.0 0.1
-
-bsection result b1 b2
-
-checkprops result -l 19.1199
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug21494 b/tests/bugs/modalg_7/bug21494
deleted file mode 100644 (file)
index f91ce16..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "TODO OCC21494 ALL: Error: Intersection between cone and sphere fails"
-
-puts "========"
-puts "OCC21494"
-puts "========"
-puts ""
-############################################
-# Intersection between cone and sphere fails
-############################################
-
-pcone c 15 0 10
-psphere s 10
-explode c f
-explode s f
-mksurface sc c_1
-mksurface ss s_1
-
-intersect i sc ss
-
-if { [info exist i_1] == 0 } {
-  puts "Error: Intersection between cone and sphere fails"
-}
diff --git a/tests/bugs/modalg_7/bug23163_1 b/tests/bugs/modalg_7/bug23163_1
deleted file mode 100644 (file)
index 4840526..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-puts "TODO OCC23163 ALL: Error: No resulting circle of radius 5 at the intersection of tori, only b-splines"
-
-puts "================"
-puts "OCC23163"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of tori fails to produce results
-#######################################################################
-
-torus t1 20 5
-torus t2 40 0 0 20 5
-
-intersect result t1 t2
-
-set NbCurv [llength [directory result*]]
-
-if { $NbCurv > 4 } {
-  puts "OK: Number of curves is good"
-} else {
-  puts "Error: No resulting circle of radius 5 at the intersection of tori, only b-splines"
-}
-
-smallview
-donly result*
-fit
-display t1 t2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug23163_2 b/tests/bugs/modalg_7/bug23163_2
deleted file mode 100644 (file)
index a487b7f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-puts "TODO OCC23163 ALL: Error: No resulting circle at the intersection of tori, only b-splines"
-
-puts "================"
-puts "OCC23163"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of tori fails to produce results
-#######################################################################
-
-restore [locate_data_file bug23163_surface1_draw_b.draw] s1
-restore [locate_data_file bug23163_surface2_draw_b.draw] s2
-
-intersect result s1 s2
-
-set NbCurv [llength [directory result*]]
-
-if { $NbCurv > 6 } {
-  puts "OK: Number of curves is good"
-} else {
-  puts "Error: No resulting circle at the intersection of tori, only b-splines"
-}
-
-smallview
-donly result*
-fit
-display s1 s2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug23163_3 b/tests/bugs/modalg_7/bug23163_3
deleted file mode 100644 (file)
index 3b1a86a..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-puts "TODO OCC23163 ALL: Error: No resulting circle at the intersection of tori, only b-splines"
-
-puts "================"
-puts "OCC23163"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of tori fails to produce results
-#######################################################################
-
-restore [locate_data_file bug23163_surface1_draw_b.draw] ss1
-restore [locate_data_file bug23163_surface2_draw_b.draw] ss2
-
-intersect result ss1 ss2
-
-set NbCurv [llength [directory result*]]
-
-if { $NbCurv > 6 } {
-  puts "OK: Number of curves is good"
-} else {
-  puts "Error: No resulting circle at the intersection of tori, only b-splines"
-}
-
-smallview
-donly result*
-fit
-display ss1 ss2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug23166 b/tests/bugs/modalg_7/bug23166
deleted file mode 100644 (file)
index f6e698d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-puts "================"
-puts "OCC23166"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of plane and cone produces wrong result
-#######################################################################
-
-restore [locate_data_file bug23166_surface1_draw.draw] s1
-restore [locate_data_file bug23166_surface2_draw.draw] s2
-
-intersect result s1 s2
-
-set log [dump result_1]
-if { [regexp {Parameters} ${log}] } {
-  puts "Error: untrimmed first hyperbola"
-} else {
-  puts "OK: untrimmed first hyperbola"
-}
-
-set log [dump result_2]
-if { [regexp {Parameters} ${log}] } {
-  puts "Error: untrimmed second hyperbola"
-} else {
-  puts "OK: untrimmed second hyperbola"
-}
-
-smallview
-donly result*
-fit
-display s1 s2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug23176 b/tests/bugs/modalg_7/bug23176
deleted file mode 100644 (file)
index 614eaf8..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-puts "================"
-puts "OCC23176"
-puts "================"
-puts ""
-#######################################################################
-#  Intersection of cylinder and cone produces open curve
-#######################################################################
-
-restore [locate_data_file bug23176_surface1_draw.draw] s1
-restore [locate_data_file bug23176_surface2_draw.draw] s2
-
-intersect result s1 s2
-
-set che [whatis result]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "result" exists
-  renamevar result result_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  set che [whatis result_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeat 0
-  } else {
-   
-    bounds result_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-20} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs result_$ic s1 U1 U2 10 2.0e-7
-    xdistcs result_$ic s2 U1 U2 10 2.0e-7
-    
-    mkedge ee result_$ic
-    baddobjects ee
-    incr ic
-  }
-}
-
-# Check gaps in result
-bfillds
-bbuild rw
-
-checksection rw -r 0
-checkmaxtol rw -min_tol 2.0e-7
-
-checknbshapes rw -edge 4 -vertex 4
-
-smallview
-don result*
-fit
-display s1 s2
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug23972 b/tests/bugs/modalg_7/bug23972
deleted file mode 100644 (file)
index b9d919b..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-puts "=========="
-puts "OCC23972: Excep-tion thrown when intersecting two cones"
-puts "=========="
-puts ""
-
-pload QAcommands
-
-set GoodNbCurv 2
-
-OCC23972 s1 s2
-
-intersect res s1 s2
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeat 0
-  } else {
-   
-    bounds res_$ic U1 U2
-    
-    # Hyperbola is expected as intersection result.
-    # So, all bounds are adjusted to allow correct computation.
-    if { [dval U1] < -20.0 } { dset U1 -20.0 }
-    if { [dval U2] > 20.0 }  { dset U2 20.0 }
-    
-    if {[dval U2-U1] < 1.0e-20} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 10 3.0e-7
-    xdistcs res_$ic s2 U1 U2 10 3.0e-7
-    
-    incr ic
-  }
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: Number of curves is bad!"
-}
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug24418_1 b/tests/bugs/modalg_7/bug24418_1
deleted file mode 100755 (executable)
index 6c05861..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-puts "TODO OCC24418 ALL: Error in ii_2: T="
-
-puts "========"
-puts "OCC24418"
-puts "========"
-puts ""
-############################################################
-# Wrong section curves when intersecting analytical surfaces
-############################################################
-
-restore [locate_data_file OCC20964_revsolid.brep] b1 
-restore [locate_data_file OCC20964_sphere.brep] b2 
-
-explode b1 f; copy b1_7 b1
-explode b2 f; copy b2_1 b2
-mksurface s1 b1
-mksurface s2 b2
-trimv s1t s1 0 230.14184397163115
-
-intersect ii s1t s2
-
-bounds ii_2 u1 u2
-
-xdistcs ii_2 s1 u1 u2 10 2.0e-7
-xdistcs ii_2 s2 u1 u2 10 2.0e-7
diff --git a/tests/bugs/modalg_7/bug24418_2 b/tests/bugs/modalg_7/bug24418_2
deleted file mode 100755 (executable)
index c3c8001..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-puts "TODO OCC24418 ALL: Error in ii_1: T="
-
-puts "========"
-puts "OCC24418"
-puts "========"
-puts ""
-############################################################
-# Wrong section curves when intersecting analytical surfaces
-############################################################
-
-ptorus b1 25 24 90
-plane p 20 20 10 0 0 1
-pcone b2 p 10 8 40
-explode b1 f; copy b1_1 b1
-explode b2 f; copy b2_1 b2
-mksurface s1 b1
-mksurface s2 b2
-trimu s1t s1 0 1.5707963267948966
-trimv s2t s2 0 40.049968789001575
-
-intersect ii s1t s2t
-
-bounds ii_1 u1 u2
-
-xdistcs ii_1 s1 u1 u2 10 2.0e-7
-xdistcs ii_1 s2 u1 u2 10 2.0e-7
diff --git a/tests/bugs/modalg_7/bug24429 b/tests/bugs/modalg_7/bug24429
deleted file mode 100644 (file)
index 8386a6a..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-puts "========"
-puts "OCC24429: Cylinder-torus intersection throws an ex-ception and produces no result"
-puts "========"
-puts ""
-
-puts "TODO OCC24429 ALL: Error: 0 vertices are expected but 2 are found."
-
-set GoodNbCurves 8
-
-restore [locate_data_file bug24429_s1.draw] s1
-restore [locate_data_file bug24429_s2.draw] s2
-
-intersect res s1 s2
-
-if { [info exists res] } {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  if { ![info exists res_$ic] } {
-    set AllowRepeat 0
-  } else {
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 2.0e-6
-    xdistcs res_$ic s2 U1 U2 100 2.0e-6
-    
-    mkedge ee res_$ic
-    baddobjects ee
-    
-    incr ic
-  }
-}
-
-# Check of gaps between intersection curves
-bfillds
-bbuild rs
-
-checknbshapes rs -edge $GoodNbCurves
-checksection rs -r 0
-
-smallview
-don res_*
-
-fit
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug24676 b/tests/bugs/modalg_7/bug24676
deleted file mode 100644 (file)
index 4f5630c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-puts "========"
-puts "0024676: Wrong result done by intersection algorithm"
-puts "========"
-puts ""
-
-restore [locate_data_file bug24676_b2.brep] b2
-
-for {set i 1} { $i <= 6} {incr i} {
-  restore [locate_data_file bug24676_b1_${i}.brep] b1_$i
-  if {![regexp "no 3d curves\n has no 3d points" [ bopcurves b1_$i b2 ]]} {
-    puts "Error: Non-empty intersection result between b1_$i and b2, while empty is expected"
-  }
-}
diff --git a/tests/bugs/modalg_7/bug24772 b/tests/bugs/modalg_7/bug24772
deleted file mode 100644 (file)
index fa20fad..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-puts "========"
-puts "OCC24772"
-puts "========"
-puts ""
-################################################################
-# Intersection of cylinder and cone produces incorrect results
-################################################################
-
-restore [locate_data_file bug24772_s1.draw] s1
-restore [locate_data_file bug24772_s2.draw] s2
-
-smallview +X+Y
-fit
-zoom 6
-
-set bug_info [intersect r s1 s2]
-
-if {[llength $bug_info] != 4} {
-#  puts "ERROR: OCC24722 is reproduced."
-} else {
-  # snapshot r_1
-  clear
-  display s1
-  display s2
-  display r_1
-  xwd $imagedir/${casename}_r_1.png
-  # snapshot r_2
-  clear
-  display s1
-  display s2
-  display r_2
-  xwd $imagedir/${casename}_r_2.png
-  # snapshot r_3
-  clear
-  display s1
-  display s2
-  display r_3
-  xwd $imagedir/${casename}_r_3.png
-  # snapshot r_4
-  clear
-  display s1
-  display s2
-  display r_4
-  xwd $imagedir/${casename}_r_4.png
-}
diff --git a/tests/bugs/modalg_7/bug26509_1 b/tests/bugs/modalg_7/bug26509_1
deleted file mode 100644 (file)
index 3398637..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-puts "========"
-puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
-puts "========"
-puts ""
-
-circle c1 0 0 0 0 -1 0 75
-circle c2 0 0 0 0 -1 0 65
-mkedge c1 c1
-mkedge c2 c2
-wire c1 c1
-wire c2 c2
-orientation c2 R
-mkplane f1 c1 1
-add c2 f1
-prism p1 f1 0 1000 0
-trotate p1 0 0 0 0 0 1 180
-circle c3 50 500 -2000 0 0 1 50
-mkedge c3 c3
-wire c3 c3
-mkplane f2 c3 1
-prism p2 f2 0 0 4000
-explode p1 f
-explode p2 f
-trotate p2_1 0 500 0 1 0 0 -77
-trotate p2_1 0 0 0 0 0 1 180
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
-
-if {$NbCurv != 3} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-puts "Check whether the intersection result is closed in 3D"
-bsection result p1_2 p2_1
-
-checksection result -r 0
-checkmaxtol result -ref 4.0e-7
-checkprops result -l 1881.92
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_2 b/tests/bugs/modalg_7/bug26509_2
deleted file mode 100644 (file)
index 3470a53..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-puts "========"
-puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
-puts "========"
-puts ""
-
-circle c1 0 0 0 0 -1 0 75
-circle c2 0 0 0 0 -1 0 65
-mkedge c1 c1
-mkedge c2 c2
-wire c1 c1
-wire c2 c2
-orientation c2 R
-mkplane f1 c1 1
-add c2 f1
-prism p1 f1 0 1000 0
-trotate p1 0 0 0 0 0 1 180
-circle c3 50 500 -2000 0 0 1 50
-mkedge c3 c3
-wire c3 c3
-mkplane f2 c3 1
-prism p2 f2 0 0 4000
-explode p1 f
-explode p2 f
-trotate p2_1 0 500 0 1 0 0 -77
-trotate p2_1 0 0 0 0 0 1 180
-trotate p1_2 0 0 0 1.22464679914735e-16 1 0 -1.57079632679489655800*180/pi
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
-
-if {$NbCurv != 1} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-puts "Check whether the intersection result is closed in 3D"
-bsection result p1_2 p2_1
-
-checksection result -r 0
-checkmaxtol result -ref 4.0e-7
-checkprops result -l 1881.92
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_3 b/tests/bugs/modalg_7/bug26509_3
deleted file mode 100644 (file)
index 67f4309..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-puts "========"
-puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
-puts "========"
-puts ""
-
-circle c1 0 0 0 0 -1 0 75
-circle c2 0 0 0 0 -1 0 65
-mkedge c1 c1
-mkedge c2 c2
-wire c1 c1
-wire c2 c2
-orientation c2 R
-mkplane f1 c1 1
-add c2 f1
-prism p1 f1 0 1000 0
-trotate p1 0 0 0 0 0 1 180
-circle c3 50 500 -2000 0 0 1 50
-mkedge c3 c3
-wire c3 c3
-mkplane f2 c3 1
-prism p2 f2 0 0 4000
-explode p1 f
-explode p2 f
-trotate p2_1 0 500 0 1 0 0 -77
-trotate p2_1 0 0 0 0 0 1 180
-trotate p1_2 0 0 0 1.22464679914735e-16 1 0 1.57079632679489655800*180/pi
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-puts "Check whether the intersection result is closed in 3D"
-bsection result p1_2 p2_1
-
-checksection result -r 0
-checkmaxtol result -ref 4.0e-7
-checkprops result -l 1881.92
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_4 b/tests/bugs/modalg_7/bug26509_4
deleted file mode 100644 (file)
index 780af19..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-puts "========"
-puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
-puts "========"
-puts ""
-
-circle c1 0 0 0 0 -1 0 75
-circle c2 0 0 0 0 -1 0 65
-mkedge c1 c1
-mkedge c2 c2
-wire c1 c1
-wire c2 c2
-orientation c2 R
-mkplane f1 c1 1
-add c2 f1
-prism p1 f1 0 1000 0
-trotate p1 0 0 0 0 0 1 180
-circle c3 50 500 -2000 0 0 1 50
-mkedge c3 c3
-wire c3 c3
-mkplane f2 c3 1
-prism p2 f2 0 0 4000
-explode p1 f
-explode p2 f
-trotate p2_1 0 500 0 1 0 0 -77
-trotate p2_1 0 0 0 0 0 1 180
-trotate p1_2 0 0 0 1.22464679914735e-16 1 0 1.57079632679489655800*180/pi
-tmirror p1_2 0 -500 0 0 1 0
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-puts "Check whether the intersection result is closed in 3D"
-bsection result p1_2 p2_1
-
-checksection result -r 0
-checkmaxtol result -ref 4.0e-7
-checkprops result -l 1881.92
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_5 b/tests/bugs/modalg_7/bug26509_5
deleted file mode 100644 (file)
index c9c6830..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-puts "========"
-puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
-puts "========"
-puts ""
-
-circle c1 0 0 0 0 -1 0 75
-circle c2 0 0 0 0 -1 0 65
-mkedge c1 c1
-mkedge c2 c2
-wire c1 c1
-wire c2 c2
-orientation c2 R
-mkplane f1 c1 1
-add c2 f1
-prism p1 f1 0 1000 0
-trotate p1 0 0 0 0 0 1 180
-circle c3 50 500 -2000 0 0 1 50
-mkedge c3 c3
-wire c3 c3
-mkplane f2 c3 1
-prism p2 f2 0 0 4000
-explode p1 f
-explode p2 f
-trotate p2_1 0 500 0 1 0 0 -77
-trotate p2_1 0 0 0 0 0 1 180
-trotate p2_1 -49.9999999999998, 1448.74012957047, -449.90210868773 1.19325918102424e-16, 0.974370064785235, -0.224951054343865 -1.26610367277949897868*180/pi
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-puts "Check whether the intersection result is closed in 3D"
-bsection result p1_2 p2_1
-
-checksection result -r 0
-checkmaxtol result -ref 4.0e-7
-checkprops result -l 1881.92
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_6 b/tests/bugs/modalg_7/bug26509_6
deleted file mode 100644 (file)
index bd6f305..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-puts "========"
-puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
-puts "========"
-puts ""
-
-circle c1 0 0 0 0 -1 0 75
-circle c2 0 0 0 0 -1 0 65
-mkedge c1 c1
-mkedge c2 c2
-wire c1 c1
-wire c2 c2
-orientation c2 R
-mkplane f1 c1 1
-add c2 f1
-prism p1 f1 0 1000 0
-trotate p1 0 0 0 0 0 1 180
-circle c3 50 500 -2000 0 0 1 50
-mkedge c3 c3
-wire c3 c3
-mkplane f2 c3 1
-prism p2 f2 0 0 4000
-explode p1 f
-explode p2 f
-trotate p2_1 0 500 0 1 0 0 -77
-trotate p2_1 0 0 0 0 0 1 180
-trotate p1_2 0 0 0 1.22464679914735e-16 1 0 -1.57079632679489655800*180/pi
-trotate p2_1 -49.9999999999998, 1448.74012957047, -449.90210868773 1.19325918102424e-16, 0.974370064785235, -0.224951054343865 -1.26610367277949897868*180/pi
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
-
-if {$NbCurv != 1} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-puts "Check whether the intersection result is closed in 3D"
-bsection result p1_2 p2_1
-
-checksection result -r 0
-checkmaxtol result -ref 4.0e-7
-checkprops result -l 1881.92
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug27227 b/tests/bugs/modalg_7/bug27227
deleted file mode 100644 (file)
index 9cfe04c..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-puts "============"
-puts "OCC27227"
-puts "============"
-puts ""
-#############################################################
-# Intersection curve is not continued to the surface boundary
-#############################################################
-
-ptorus a0 100 20
-tcopy a0 a1
-trotate a1 0 0 0 1 0 0 90
-
-explode a0 f
-explode a1 f
-
-smallview
-donly a0_1 a1_1
-
-bopcurves a0_1 a1_1 -2d
-
-disp c_5
-
-set log [dump c_5]
-
-regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
-puts "Degree=${Degree}"
-puts "Poles=${Poles}"
-puts "KnotsPoles=${KnotsPoles}"
-puts ""
-
-set Pole 1
-set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
-regexp ${exp_string} ${log} full X_first Y_first Z_first
-
-puts "Pole=${Pole}"
-puts "X_first=${X_first}"
-puts "Y_first=${Y_first}"
-puts "Z_first=${Z_first}"
-puts ""
-
-set Pole ${Poles}
-set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
-regexp ${exp_string} ${log} full X_end Y_end Z_end
-
-puts "Pole=${Pole}"
-puts "X_end=${X_end}"
-puts "Y_end=${Y_end}"
-puts "Z_end=${Z_end}"
-puts ""
-
-set tol_abs [checkmaxtol a0]
-set tol_rel 0.01
-
-set expected_X_first 80.
-checkreal "X_first" ${X_first} ${expected_X_first} ${tol_abs} ${tol_rel}
-set expected_Y_first 0.
-checkreal "Y_first" ${Y_first} ${expected_Y_first} ${tol_abs} ${tol_rel}
-set expected_Z_first 0.
-checkreal "Z_first" ${Z_first} ${expected_Z_first} ${tol_abs} ${tol_rel}
-puts ""
-
-set expected_X_end 120.
-checkreal "X_end" ${X_end} ${expected_X_end} ${tol_abs} ${tol_rel}
-set expected_Y_end 0.
-checkreal "Y_end" ${Y_end} ${expected_Y_end} ${tol_abs} ${tol_rel}
-set expected_Z_end 0.
-checkreal "Z_end" ${Z_end} ${expected_Z_end} ${tol_abs} ${tol_rel}
-puts ""
diff --git a/tests/bugs/modalg_7/bug27623 b/tests/bugs/modalg_7/bug27623
deleted file mode 100644 (file)
index 8c9895d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-puts "TODO OCC27623 ALL: ERROR: OCC27623 is reproduced."
-
-puts "========"
-puts "OCC27623"
-puts "========"
-puts ""
-#####################################################################
-# Cannot find intersection line between two trimmed planar surfaces
-#####################################################################
-
-plane s1 0 0 0 0 0 1 1 0 0
-trim s1 s1 -10 10 -10 10
-plane s2 0 0 10 1 0 0 0 0 1
-trim s2 s2 -10+1.0e-5 10 -10+1.0e-5 10
-
-intersect ii s1 s2 4.0e-4
-
-set bug_info [string trim [whatis ii]]
-if {[string length $bug_info] == 7} {
-  puts "ERROR: OCC27623 is reproduced. Intersection of trimmed planar surface has not been detected."
-}
diff --git a/tests/bugs/modalg_7/bug27747 b/tests/bugs/modalg_7/bug27747
deleted file mode 100644 (file)
index 300aabb..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-puts "========"
-puts "OCC27747"
-puts "========"
-puts ""
-#################################################
-# Incomplete section curves between faces
-#################################################
-
-set GoodNbCurv 1
-set ToleranceReachedf1f3 6.0605798668789834e-08
-set ToleranceReachedf2f3 7.0639332021089653e-08
-
-restore [locate_data_file bug27747_faces.brep] f
-explode f
-
-# ----
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f_1 f_3 -2d] full Toler NbCurv
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler $ToleranceReachedf1f3 0.0 0.1
-
-# ----
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f_2 f_3 -2d] full Toler NbCurv
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler $ToleranceReachedf2f3 0.0 0.1
-
-# ----
-
-settolerance f_1 1.e-7
-fixshape f1 f_1
-tolerance f1
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f_3 -2d] full Toler NbCurv
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler $ToleranceReachedf1f3 0.0 0.1
-
-# ----
-
-settolerance f_2 1.e-7
-fixshape f2 f_2
-tolerance f2
-
-set Toler 0.0
-set NbCurv 0
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f2 f_3 -2d] full Toler NbCurv
-if {${NbCurv} != ${GoodNbCurv}} {
-  puts "Error: Number of curves is bad!"
-}
-checkreal TolReached $Toler $ToleranceReachedf2f3 0.0 0.1
diff --git a/tests/bugs/modalg_7/bug27950 b/tests/bugs/modalg_7/bug27950
deleted file mode 100644 (file)
index 5c08e6c..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-puts "TODO OCC27950 ALL: ERROR: OCC27950 is reproduced."
-
-puts "========"
-puts "OCC27950"
-puts "========"
-puts ""
-############################################################################
-# Result of intersection algorithm depends too much on surface trim bounds
-############################################################################
-
-restore [locate_data_file bug27950_s1.draw] s1
-restore [locate_data_file bug27950_s2.draw] s2
-
-set bug_info [string trim [intersect i1 s1 s2]]
-if {[llength $bug_info] != 4} {
-  puts "ERROR: OCC27950 is reproduced. Step #1. Result of intersection is [llength $bug_info]."
-}
-
-trimv s2t s2 200 300
-set bug_info [string trim [intersect i2 s1 s2t]]
-if {[llength $bug_info] != 4} {
-  puts "ERROR: OCC27950 is reproduced. Step #2. Result of intersection is [llength $bug_info]."
-}
-
-trimv s2t s2 200 220
-set bug_info [string trim [intersect i3 s1 s2t]]
-if {[llength $bug_info] != 4} {
-  puts "ERROR: OCC27950 is reproduced. Step #3. Result of intersection is [llength $bug_info]."
-}
-
-trimv s2t s2 205.38050051360744 210.55652011282123
-set bug_info [string trim [intersect i4 s1 s2t]]
-if {[llength $bug_info] != 4} {
-  puts "ERROR: OCC27950 is reproduced. Step #4. Result of intersection is [llength $bug_info]."
-}
-
-trimv s2t s2 205 211
-set bug_info [string trim [intersect i5 s1 s2t]]
-if {[llength $bug_info] != 4} {
-  puts "ERROR: OCC27950 is reproduced. Step #5. Result of intersection is [llength $bug_info]."
-}
-
-trimv s2t s2 206 210
-set bug_info [string trim [intersect i6 s1 s2t]]
-if {[llength $bug_info] != 4} {
-  puts "ERROR: OCC27950 is reproduced. Step #6. Result of intersection is [llength $bug_info]."
-}
-
-trimv s2t s2 205.4 210.575
-set bug_info [string trim [intersect i7 s1 s2t]]
-if {[llength $bug_info] != 4} {
-  puts "ERROR: OCC27950 is reproduced. Step #7. Result of intersection is [llength $bug_info]."
-}
-
-trimv s2t s2 205.353 210.529
-set bug_info [string trim [intersect i8 s1 s2t]]
-if {[llength $bug_info] != 4} {
-  puts "ERROR: OCC27950 is reproduced. Step #8. Result of intersection is [llength $bug_info]."
-}
diff --git a/tests/bugs/modalg_7/bug28085_2 b/tests/bugs/modalg_7/bug28085_2
deleted file mode 100644 (file)
index a4ef28b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-puts "============"
-puts "OCC28085: Incorrect result of CUT operation"
-puts "============"
-puts ""
-
-foreach a [directory c_*] {unset $a}
-
-# enable FPE signals
-dsetsignal 1
-
-restore [locate_data_file bug28883_Prism.brep] b1
-restore [locate_data_file bug28883_LES_2d_shell.brep] b2
-
-explode b1 f
-explode b2 f
-
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_74 b2_13 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 0.0 1.0e-7 0.0
-
-if {$NbCurv != 1} {
-  puts "Error: Please check NbCurves for intersector"
-} else {
-  puts "OK: good number of curves!"
-  checklength c_1 -l 0.036019405388914391 -eps 1.0e-3
-}
-
-don c_*
-smallview; fit;
-disp b1_74 b2_13
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug28406 b/tests/bugs/modalg_7/bug28406
deleted file mode 100644 (file)
index db15b36..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-puts "TODO 0028406 ALL: Error: MaxTolerance"
-
-puts "======="
-puts "0028406"
-puts "======="
-puts ""
-#######################################################
-# High tolerances after boolean operation on OCCT 6.9.1
-#######################################################
-
-restore [locate_data_file bug28406_ar_shape_to_cuts.brep]  b1
-restore [locate_data_file bug28406_ar_cutting_shapes.brep] b2
-
-explode b2 f
-
-set log_1 [bopcurves b1 b2_1 -2d]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $log_1 full tol_reached_1
-
-set log_2 [bopcurves b1 b2_7 -2d]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $log_2 full tol_reached_2
-
-set log_3 [maxtolerance b2]
-regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $log_3 full MaxFaceTolerance
-
-
-set ToleranceReached-6-9-1_1 0.044936986074371126
-set ToleranceReached-6-9-1_2 0.024455156919182791
-set tol_rel_MaxTol 0.0001
-
-checkreal "MaxTolerance 2_1 " ${tol_reached_1} ${ToleranceReached-6-9-1_1} ${MaxFaceTolerance} ${tol_rel_MaxTol}
-checkreal "MaxTolerance 2_7 " ${tol_reached_2} ${ToleranceReached-6-9-1_2} ${MaxFaceTolerance} ${tol_rel_MaxTol}
diff --git a/tests/bugs/modalg_7/bug28544_2 b/tests/bugs/modalg_7/bug28544_2
deleted file mode 100644 (file)
index 2a6c66a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "TODO OCC28544 ALL: Error: Big tolerance value is returned by Implicit-parametric algorithm"
-
-puts "========"
-puts "OCC28544"
-puts "========"
-puts ""
-##################################################################
-# Big tolerance value is returned by Implicit-parametric algorithm
-##################################################################
-
-restore [locate_data_file heal-Face1.rle] b1
-restore [locate_data_file Plan.rle] b2
-
-set log_1 [bopcurves b1 b2 -2d]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $log_1 full tol_reached
-
-set log_2 [maxtolerance b1]
-regexp { +Face +: +Min +([-0-9.+eE]+) +Max +([-0-9.+eE]+)} $log_2 full MinFaceTolerance MaxFaceTolerance
-
-if { ${tol_reached} > ${MaxFaceTolerance} } {
-   puts "Error: Big tolerance value is returned by Implicit-parametric algorithm"
-}
diff --git a/tests/bugs/modalg_7/bug28557 b/tests/bugs/modalg_7/bug28557
deleted file mode 100644 (file)
index b878a85..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-puts "========"
-puts "OCC28557"
-puts "========"
-puts ""
-#################################################
-# Test case bugs modalg_6 bug27615 works differently on VC10 and VC12
-#################################################
-
-set MaxTolReached 5.0e-6
-set GoodNbCurv 1
-
-brestore [locate_data_file bug27615.brep] b
-explode b f
-copy b_1 f1; copy b_19 f2;
-don f1 f2
-set log [bopcurves f1 f2 -2d -p 2.2023968513463648  29.150590232723459 2. 0.085664915040461045 -p 2.2023968513457164 31.082210390953925 2.9507808705284453 0.085823752287563393]
-
-smallview
-donly c_1
-fit
-disp f1 f2
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {$Toler > $MaxTolReached} {
-  puts "Error: Big tolerance is returned by intersector"
-}
-
-if {$NbCurv != $GoodNbCurv} {
-  puts "Error: Please check NbCurves for intersector"
-}
diff --git a/tests/bugs/modalg_7/bug28764 b/tests/bugs/modalg_7/bug28764
deleted file mode 100644 (file)
index 25c5de6..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-puts "========"
-puts "OCC28764"
-puts "========"
-puts ""
-#################################################
-# [Regression to 7.0] Intersection of faces gives exception in debug mode
-#################################################
-
-restore [locate_data_file bug28764_ff.brep] f
-explode f
-
-####
-
-axo
-don f
-fit
-
-# Before the fix: Exception in Debug-mode only
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f_1 f_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 4.601149532364662e-008 1.0e-7 0.0
-
-if {$NbCurv != 1} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug28984 b/tests/bugs/modalg_7/bug28984
deleted file mode 100644 (file)
index b8f120f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-puts "======="
-puts "0028984"
-puts "======="
-puts ""
-##################################################
-# Huge intersection tolerance obtained by Face/Face intersection algorithm
-##################################################
-
-binrestore [locate_data_file bug28984_faces.bin] f
-
-explode f
-
-set log [bopcurves f_1 f_2 -2d]
-regexp {Tolerance Reached=([-0-9.+eE]+)} $log full tol_reached
-regexp {([1-9]) curve} $log full nb_curves
-
-if {$nb_curves != 2} {
-  puts "Error: Invalid number of curves"
-}
-
-if {$tol_reached > 0.01} {
-  puts "Error: Too big intersection tolerance"
-}
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29103 b/tests/bugs/modalg_7/bug29103
deleted file mode 100644 (file)
index 33bc06c..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-puts "========"
-puts "OCC29103"
-puts "========"
-puts ""
-#################################################
-# No intersection curve between faces if starting points are given
-#################################################
-
-set MaxTolReached 2.0e-7
-set GoodNbCurv 1
-set ExpLength 0.074141742883251954
-
-restore [locate_data_file bug29073_M6.brep] a
-restore [locate_data_file bug29073_Shell.brep] b
-explode a f
-explode b f
-
-don b_2
-axo
-fit
-disp a_6
-
-set log1 [bopcurves a_6 b_2 -2d]
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
-checklength c_1 -l $ExpLength
-
-don b_2
-axo
-fit
-disp a_6
-
-set log2 [bopcurves a_6 b_2 -2d -p -0.55478319275098653 1.2919191091235780 0.80333089657224976 0.67079577554162440 -p -0.62451407353846222 1.2667484772947102 0.82894736842100003 0.70523311453721027]
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
-checklength c_1 -l $ExpLength
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log1} full Toler1 NbCurv1
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log2} full Toler2 NbCurv2
-
-if {$Toler1 > $MaxTolReached} {
-  puts "Error: Big tolerance is returned by intersector w/o start points"
-}
-
-if {$Toler2 > $MaxTolReached} {
-  puts "Error: Big tolerance is returned by intersector with start points"
-}
-
-if {$NbCurv1 != $GoodNbCurv} {
-  puts "Error: Please check NbCurves for intersector w/o start points"
-}
-
-if {$NbCurv2 != $GoodNbCurv} {
-  puts "Error: Please check NbCurves for intersector with start points"
-}
-
diff --git a/tests/bugs/modalg_7/bug29323 b/tests/bugs/modalg_7/bug29323
deleted file mode 100644 (file)
index ca94e94..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-puts "========"
-puts "OCC29323"
-puts "========"
-puts ""
-#################################################
-# Intersection algorithm produces the curve with oscillation
-#################################################
-
-set MaxTolReached 0.15
-set GoodNbCurv 1
-set ExpLength 96.268040111795571
-
-restore [locate_data_file bug29323_hb.brep] h
-plane p 0 0 4 0 0 1
-mkface f p -200 200 -200 200
-explode h f
-
-set log [bopcurves h_4 f -2d]
-
-smallview
-donly c_1
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
-checklength c_1 -l $ExpLength
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-
-if {$Toler > $MaxTolReached} {
-  puts "Error: Big tolerance is returned by intersector"
-}
-
-if {$NbCurv != $GoodNbCurv} {
-  puts "Error: Please check NbCurves for intersector"
-}
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29494 b/tests/bugs/modalg_7/bug29494
deleted file mode 100644 (file)
index 65c7b79..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-puts "========"
-puts "OCC29494"
-puts "========"
-puts ""
-#################################################
-# Intersection line between two parametric surfaces is restricted incorrectly if it matches 
-# the surface boundary
-#################################################
-
-restore [locate_data_file bug29488_shapes.brep] s
-explode s
-
-explode s_4 f; copy s_4_13 f1
-explode s_6 f; copy s_6_18 f2
-
-smallview
-clear
-bopcurves f1 f2 -2d
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
-
-if {$Toler > 1.0e-7} {
-  puts "Error: Big tolerance is returned by intersector"
-}
-
-if {$NbCurv != 1} {
-  puts "Error: Please check NbCurves for intersector"
-} else {
-  checklength c_1 -l 19.2
-}
-
-fit
-disp f1 f2
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug29807_i1001 b/tests/bugs/modalg_7/bug29807_i1001
deleted file mode 100644 (file)
index cc3136e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-explode b1 f
-explode b2 f
-smallview
-don b1_5 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 0.00015253053837904724 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i1002 b/tests/bugs/modalg_7/bug29807_i1002
deleted file mode 100644 (file)
index 544cbab..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
-removeloc b2 b2
-
-explode b1 f
-explode b2 f
-smallview
-don b1_5 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 0.00039718358540697849 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i1003 b/tests/bugs/modalg_7/bug29807_i1003
deleted file mode 100644 (file)
index 10e841e..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
-removeloc b2 b2
-
-explode b1 f
-explode b2 f
-smallview
-don b1_5 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 5.0314111870170835e-005 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i1004 b/tests/bugs/modalg_7/bug29807_i1004
deleted file mode 100644 (file)
index 2704a41..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 
-ttranslate b2 0 0 0.3
-
-explode b1 f
-explode b2 f
-smallview
-don b1_5 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 0.00011289757099748416 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i1005 b/tests/bugs/modalg_7/bug29807_i1005
deleted file mode 100644 (file)
index dea1d94..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38
-ttranslate b2 0 0 2
-
-explode b1 f
-explode b2 f
-smallview
-don b1_5 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 7.7125880147734232e-007 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i1006 b/tests/bugs/modalg_7/bug29807_i1006
deleted file mode 100644 (file)
index 037bd51..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug25542_cylinder.brep] b1
-restore [locate_data_file bug25542_cone.brep] b2
-
-explode b1 f
-explode b2 f
-
-smallview
-don b1_1 b2_1
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_1 b2_1 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 0.0016015772839744358 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i2001 b/tests/bugs/modalg_7/bug29807_i2001
deleted file mode 100644 (file)
index c177256..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-explode b1 f
-explode b2 f
-nurbsconvert f1 b1_5
-smallview
-don f1 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 2.693336906196208e-008 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i2002 b/tests/bugs/modalg_7/bug29807_i2002
deleted file mode 100644 (file)
index d8edea2..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
-removeloc b2 b2
-
-explode b1 f
-explode b2 f
-nurbsconvert f1 b1_5
-smallview
-don f1 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 2.9119212307774807e-007 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i2003 b/tests/bugs/modalg_7/bug29807_i2003
deleted file mode 100644 (file)
index fe3a0bc..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
-removeloc b2 b2
-
-explode b1 f
-explode b2 f
-nurbsconvert f1 b1_5
-smallview
-don f1 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 2.412545178522274e-008 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i2004 b/tests/bugs/modalg_7/bug29807_i2004
deleted file mode 100644 (file)
index 0080166..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 
-ttranslate b2 0 0 0.3
-
-explode b1 f
-explode b2 f
-nurbsconvert f1 b1_5
-smallview
-don f1 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 2.6039506888710934e-007 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i2005 b/tests/bugs/modalg_7/bug29807_i2005
deleted file mode 100644 (file)
index f470818..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-tool.brep] b2
-
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
-trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38
-ttranslate b2 0 0 2
-
-explode b1 f
-explode b2 f
-nurbsconvert f1 b1_5
-smallview
-don f1 b2_2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 6.4774617011651419e-006 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i2006 b/tests/bugs/modalg_7/bug29807_i2006
deleted file mode 100644 (file)
index a49ca81..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug25542_cylinder.brep] b1
-restore [locate_data_file bug25542_cone.brep] b2
-
-explode b1 f
-explode b2 f
-nurbsconvert f1 b1_1
-smallview
-don f1 b2_1
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_1 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 6.4791886898294872e-006 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i3001 b/tests/bugs/modalg_7/bug29807_i3001
deleted file mode 100644 (file)
index a1a96b6..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-explode b1 f
-smallview
-don b1_5 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 0.00015253053837762444 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i3002 b/tests/bugs/modalg_7/bug29807_i3002
deleted file mode 100644 (file)
index 627752d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
-removeloc f2 f2
-
-explode b1 f
-smallview
-don b1_5 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 0.00039718358530349535 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i3003 b/tests/bugs/modalg_7/bug29807_i3003
deleted file mode 100644 (file)
index 92f158d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
-removeloc f2 f2
-
-explode b1 f
-smallview
-don b1_5 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 5.4742962483090032e-005 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i3004 b/tests/bugs/modalg_7/bug29807_i3004
deleted file mode 100644 (file)
index 67c2287..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 
-ttranslate f2 0 0 0.3
-
-explode b1 f
-smallview
-don b1_5 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 0.00011289757087827709 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i3005 b/tests/bugs/modalg_7/bug29807_i3005
deleted file mode 100644 (file)
index c774db5..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38
-ttranslate f2 0 0 2
-
-explode b1 f
-smallview
-don b1_5 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 7.7124681583892622e-007 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i4001 b/tests/bugs/modalg_7/bug29807_i4001
deleted file mode 100644 (file)
index 7348b9b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-explode b1 f
-nurbsconvert f1 b1_5
-smallview
-don f1 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 2.6933365231971514e-008 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i4002 b/tests/bugs/modalg_7/bug29807_i4002
deleted file mode 100644 (file)
index 93dc8fd..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
-removeloc f2 f2
-
-explode b1 f
-nurbsconvert f1 b1_5
-smallview
-don f1 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 2.9119209602049977e-007 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i4003 b/tests/bugs/modalg_7/bug29807_i4003
deleted file mode 100644 (file)
index 07f0885..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
-removeloc f2 f2
-
-explode b1 f
-nurbsconvert f1 b1_5
-smallview
-don f1 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 2.4125458576041928e-008 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i4004 b/tests/bugs/modalg_7/bug29807_i4004
deleted file mode 100644 (file)
index b4489f0..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 
-ttranslate f2 0 0 0.3
-
-explode b1 f
-nurbsconvert f1 b1_5
-smallview
-don f1 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 2.6068687218615023e-007 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i4005 b/tests/bugs/modalg_7/bug29807_i4005
deleted file mode 100644 (file)
index 3113cc5..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-restore [locate_data_file bug29807-obj.brep] b1
-restore [locate_data_file bug29807-cone.brep] f2
-
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
-trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38
-ttranslate f2 0 0 2
-
-explode b1 f
-nurbsconvert f1 b1_5
-smallview
-don f1 f2
-fit
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 6.4774618953705733e-006 0.0 0.01
-
-if {$NbCurv != 2} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
-smallview -2D-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/bugs/modalg_7/bug29807_i5001 b/tests/bugs/modalg_7/bug29807_i5001
deleted file mode 100644 (file)
index fe0b13e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-puts "TODO OCC29883 ALL: Error in res_2: T=0"
-puts "TODO OCC29883 ALL: Error: 0 vertices are expected but 2 are found"
-puts "TODO OCC29883 ALL: Error :  is WRONG because number of VERTEX entities in shape \"result\" is 3"
-
-foreach a [directory res*] {unset $a}
-
-binrestore [locate_data_file bug29807_f1.bin] f1
-binrestore [locate_data_file bug29807_f2.bin] f2
-
-mksurface s1 f1
-mksurface s2 f2
-
-trim s1 s1
-trim s2 s2
-
-intersect res s1 s2 1.0e-4
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeat 0
-  } else {
-   
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-20} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 2.0e-7
-    xdistcs res_$ic s2 U1 U2 100 2.0e-7
-    
-    mkedge ee res_$ic
-    baddobjects ee
-    incr ic
-  }
-}
-
-bfillds
-bbuild result
-
-smallview
-don result*
-fit
-
-# Check gaps between edges in ce
-checksection result -r 0
-checkmaxtol result -min_tol 2.0e-7
-
-checknbshapes result -edge 2 -vertex 2
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug29807_i5002 b/tests/bugs/modalg_7/bug29807_i5002
deleted file mode 100644 (file)
index e55dec5..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-puts "========"
-puts "0029807: Impossible to cut cone from prism"
-puts "========"
-puts ""
-
-foreach a [directory res*] {unset $a}
-
-cone s1 11.4307383137554 3.49999999999979 -89.7537975119388 0 0 1 1 0 0 80.000725670142287835190342147806 9.45659107381736
-cone s2 -3.6479413426839 -11.578679656441 -89.9782110643133 0 0 1 0 1 0 5 0.250951325477062
-
-intersect res s1 s2 1.0e-4
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeat 0
-  } else {
-   
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-20} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 2.0e-7
-    xdistcs res_$ic s2 U1 U2 100 2.0e-7
-    
-    mkedge ee res_$ic
-    baddobjects ee
-    incr ic
-  }
-}
-
-bfillds
-bbuild result
-
-smallview
-don result*
-fit
-
-# Check gaps between edges in ce
-checksection result -r 0
-checkmaxtol result -min_tol 2.0e-7
-
-checknbshapes result -edge 3 -vertex 3
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug29866 b/tests/bugs/modalg_7/bug29866
deleted file mode 100644 (file)
index 53ad0a9..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-puts "================"
-puts "OCC29866: Intersector returns two overlapped curves as a result"
-puts "================"
-puts ""
-
-set GoodNbCurv 1
-
-binrestore [locate_data_file bug29866_sur1.bin] f1
-binrestore [locate_data_file bug29866_sur2.bin] f2
-
-mksurface s1 f1
-mksurface s2 f2
-trim s2 s2
-
-intersect result s1 s2
-
-set che [whatis result]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "result" exists
-  renamevar result result_1
-}
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis result_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    display result_$ic
-    
-    bounds result_$ic U1 U2
-    
-    dump U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs result_$ic s1 U1 U2 10 4.0e-5
-    xdistcs result_$ic s2 U1 U2 10 1.0e-5
-    
-    for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
-      mkedge e1 result_$ic
-      mkedge e2 result_$ip
-
-      set coe [checkoverlapedges e1 e2 5.0e-5]
-
-      puts "result_$ic <-> result_$ip: $coe"
-      if { [regexp "Edges is not overlaped" $coe] != 1 } {
-        puts "Error: result_$ic and result_$ip are overlaped"
-      }
-    }
-     
-    incr ic
-  }
-}
-
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Number of curves is good!"
-  checklength result_1 -l 2.6307272714501035
-} else {
-  puts "Error: $GoodNbCurv curves are expected but [expr {$ic - 1}] are found!"
-}
-
-smallview
-don result*
-fit
-clear
-don s1 s2 result*
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29910_2 b/tests/bugs/modalg_7/bug29910_2
deleted file mode 100644 (file)
index 178efaa..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-puts "========"
-puts "OCC29910: Porting to Debian80-64 : Regressions in Modeling Algorithms"
-puts "========"
-puts ""
-
-# Different result between Debian 7 and Debian 8 and between MSVC 2010 and 2017.
-puts "TODO ?OCC29910 Windows: Error: Tolerance = 4.0169383828521568e-006 is not equal to expected"
-puts "TODO ?OCC29910 Linux: Error: Tolerance = 6.0392296447644325e-07 is not equal to expected"
-puts "TODO ?OCC29910 ALL: Error :  is WRONG because number of VERTEX entities in shape \"result\" is 7"
-puts "TODO ?OCC29910 ALL: Error :  is WRONG because number of EDGE entities in shape \"result\" is 5"
-
-restore [locate_data_file bug29910_f1.brep] f1
-restore [locate_data_file bug29910_f2.brep] f2
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
-
-checkreal Tolerance $Toler 1.0e-7 1.0e-7 0.0
-
-if {$NbCurv != 4} {
-  puts "Error: Please check NbCurves for intersector"
-}
-
-bsection result f1 f2
-checksection result -r 4
-checkshape result
-checknbshapes result -edge 4 -vertex 6
-checkprops result -l 97.2011
-
-if {[regexp "Faulties" [bopargcheck result]]} {
-  puts "Error: bopargcheck has found some faulties in result"
-}
-
-smallview 
-don result
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug29972_1 b/tests/bugs/modalg_7/bug29972_1
deleted file mode 100644 (file)
index 3e14357..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-puts "========"
-puts "OCC29972: Intersection curve has a weird gap in the middle of it"
-puts "========"
-puts ""
-
-set GoodNbCurves 2
-
-foreach a [directory res*] {unset $a}
-
-restore [locate_data_file bug29972_s1.draw] s1 
-cylinder s2 -120 54.2955104312028 -116 1 0 0 0 0 -1 28
-
-intersect res s1 s2
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeat 0
-  } else {
-   
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 2.0e-6
-    xdistcs res_$ic s2 U1 U2 100 2.0e-6
-    
-    mkedge ee res_$ic
-    baddobjects ee
-    
-    incr ic
-  }
-}
-
-# Check of gaps between intersection curves
-bfillds
-bbuild rs
-
-checknbshapes rs -edge $GoodNbCurves
-checksection rs -r 0
-
-smallview
-don res_*
-
-fit
-don s1 s2
-clpoles s1
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29972_2 b/tests/bugs/modalg_7/bug29972_2
deleted file mode 100644 (file)
index ecf70f1..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-puts "========"
-puts "OCC29972: Intersection curve has a weird gap in the middle of it"
-puts "========"
-puts ""
-
-set GoodNbCurves 2
-
-foreach a [directory res*] {unset $a}
-
-restore [locate_data_file bug29972_s1.draw] s1 
-cylinder s2 -120 54.2955104312028 -116 1 0 0 0 0 -1 28
-
-intersect res s1 s2 1.e-4
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeat 0
-  } else {
-   
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 2.0e-5
-    xdistcs res_$ic s2 U1 U2 100 2.0e-5
-    
-    mkedge ee res_$ic
-    baddobjects ee
-    
-    incr ic
-  }
-}
-
-# Check of gaps between intersection curves
-bfillds
-bbuild rs
-
-checknbshapes rs -edge $GoodNbCurves
-checksection rs -r 0
-
-smallview
-don res_*
-
-fit
-don s1 s2
-clpoles s1
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29972_3 b/tests/bugs/modalg_7/bug29972_3
deleted file mode 100644 (file)
index 7e46559..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-puts "========"
-puts "OCC29972: Intersection curve has a weird gap in the middle of it"
-puts "========"
-puts ""
-
-set GoodNbCurves 6
-
-foreach a [directory res*] {unset $a}
-
-torus s1 -127 84 100 0 0 -1 1 0 0 23 10
-cylinder s2 -132 61.5500556793564 131 0 0 -1 1 0 0 10
-
-intersect res s1 s2 1.0e-4
-
-if { [info exists res] } {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  if { ![info exists res_$ic] } {
-    set AllowRepeat 0
-  } else {
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 2.0e-7
-    xdistcs res_$ic s2 U1 U2 100 2.0e-7
-    
-    mkedge ee res_$ic
-    baddobjects ee
-    
-    incr ic
-  }
-}
-
-# Check of gaps between intersection curves
-bfillds
-bbuild rs
-
-checknbshapes rs -edge $GoodNbCurves
-
-regexp {nb alone Vertices : ([-0-9.+eE]+)} [ checksection rs -r 4 ] full nbv
-if { $nbv < 2 } {
-  puts "Error : The section is closed. The result is possible to better than on MASTER version. Please check carefully."
-} else {
-  for {set i 1} {$i < $nbv} {incr i} {
-    for {set j [expr $i +1] } {$j <= $nbv} {incr j} {
-      distmini dd alone_$i alone_$j;
-      
-      if { [dval dd_val] > 3.0e-6 } {
-        puts "Error: The distance between alone_$i and alone_$j is too big"
-      }
-    }
-  }
-}
-
-smallview
-don res_*
-
-fit
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29972_4 b/tests/bugs/modalg_7/bug29972_4
deleted file mode 100644 (file)
index da92bd4..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-puts "========"
-puts "OCC29972: Intersection curve has a weird gap in the middle of it"
-puts "========"
-puts ""
-
-set GoodNbCurves 1
-
-foreach a [directory res*] {unset $a}
-
-restore [locate_data_file bug29972_s3.draw] s1
-plane s2 41.3489013503538 536.047793220744 -145.944893918698 0.999990480720734 0 0.00436330928474653 0.00436330928474653 0 -0.999990480720734
-
-intersect res s1 s2 1.0e-4
-
-if { [info exists res] } {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  if { ![info exists res_$ic] } {
-    set AllowRepeat 0
-  } else {
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 0.01
-    xdistcs res_$ic s2 U1 U2 100 0.01    
-    
-    #check whether the curve has a loop
-    set delta [dval (U2-U1)/1000.0]
-    cvalue res_$ic [dval U1] xp yp zp dx1 dy1 dz1
-    for {set p [dval U1]} {$p <= [dval U2]} {set p [expr $p + $delta]} {
-      cvalue res_$ic $p xp yp zp dx2 dy2 dz2
-      
-      #Check if the angle between the vectors {dx1 dy1 dz1} and {dx2 dy2 dz2} is less than 75deg.
-      set nv1 [ dval dx1*dx1+dy1*dy1+dz1*dz1 ] 
-      set nv2 [ dval dx2*dx2+dy2*dy2+dz2*dz2 ] 
-      
-      set nv1 [ expr sqrt($nv1) ]
-      set nv2 [ expr sqrt($nv2) ]
-      
-      set dp [ dval dx1*dx2+dy2*dy2+dz1*dz2 ] 
-      
-      if {$dp < [ expr 0.25881904510252076234889883762405 * $nv1 * $nv2 ] } {
-        puts "Error: The curve res_$ic is possible to have a bend at parameter $p. Please check carefully"
-      }      
-      
-      dset dx1 dx2
-      dset dy1 dy2
-      dset dz1 dz2
-    }
-    
-    incr ic
-  }
-}
-
-incr ic -1
-
-if { $ic != $GoodNbCurves } {
-  puts "Error: $GoodNbCurves are expected but $ic ones are found"
-}
-
-smallview
-don res_*
-
-fit
-clpoles s1
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29972_5 b/tests/bugs/modalg_7/bug29972_5
deleted file mode 100644 (file)
index b014c19..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-puts "========"
-puts "OCC29972: Intersection curve has a weird gap in the middle of it"
-puts "========"
-puts ""
-
-puts "TODO OCC27243 ALL: Error: The curve res_1 possibly has a bend"
-
-set GoodNbCurves 2
-
-foreach a [directory res*] {unset $a}
-
-binrestore [locate_data_file bug29972_f1.bin] f1
-
-mksurface s1 f1
-plane s2 -145.136225014162, -136.038366, -73.563687 0 0 1 -1 0 0
-
-intersect res s1 s2
-
-if { [info exists res] } {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-dset aLambda1 1.0e-5
-dset aLambda2 [dval 1-aLambda1]
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  if { ![info exists res_$ic] } {
-    set AllowRepeat 0
-  } else {
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 1.0e-7
-    xdistcs res_$ic s2 U1 U2 100 1.0e-7  
-    
-    #check whether the curve has a loop
-    set aFpar [dval U1*aLambda1+aLambda2*U2]
-    set aLpar [dval U2]
-    
-    set delta [expr ($aLpar-$aFpar)/10.0]
-    cvalue res_$ic $aFpar xp yp zp dx1 dy1 dz1
-    for {set p $aFpar} {$p <= $aLpar} {set p [expr $p + $delta]} {
-      cvalue res_$ic $p xp yp zp dx2 dy2 dz2
-      
-      #Check if the angle between the vectors {dx1 dy1 dz1} and {dx2 dy2 dz2} is less than 40deg.
-      set nv1 [ dval dx1*dx1+dy1*dy1+dz1*dz1 ] 
-      set nv2 [ dval dx2*dx2+dy2*dy2+dz2*dz2 ] 
-      
-      set nv1 [ expr sqrt($nv1) ]
-      set nv2 [ expr sqrt($nv2) ]
-      
-      set dp [ dval dx1*dx2+dy2*dy2+dz1*dz2 ] 
-      
-      if {$dp < [ expr 0.76604444311897803520239265055542 * $nv1 * $nv2 ] } {
-        puts "Error: The curve res_$ic possibly has a bend at parameter $p. Please check carefully"
-      }      
-      
-      dset dx1 dx2
-      dset dy1 dy2
-      dset dz1 dz2
-    }
-    
-    incr ic
-  }
-}
-
-incr ic -1
-
-if { $ic != $GoodNbCurves } {
-  puts "Error: $GoodNbCurves are expected but $ic ones are found"
-}
-
-smallview
-clear
-point p1 57.478209319525746 -120.6955841545726 -125.98789759526636
-point p2 57.478010564066473 -120.69677875685414 -125.98860176530741
-fit
-
-clpoles s1
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29972_6 b/tests/bugs/modalg_7/bug29972_6
deleted file mode 100644 (file)
index c4005f6..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-puts "========"
-puts "OCC29972: Intersection curve has a weird gap in the middle of it"
-puts "========"
-puts ""
-
-puts "TODO OCC27243 ALL: Error: The curve res_1 possibly has a bend"
-
-set GoodNbCurves 2
-
-foreach a [directory res*] {unset $a}
-
-binrestore [locate_data_file bug29972_f1.bin] f1
-
-mksurface s1 f1
-plane s2 -145.136225014162, -136.038366, -73.563687 0 0 1 -1 0 0
-
-intersect res s1 s2 1.0e-4
-
-if { [info exists res] } {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-dset aLambda1 1.0e-5
-dset aLambda2 [dval 1-aLambda1]
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  if { ![info exists res_$ic] } {
-    set AllowRepeat 0
-  } else {
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 1.0e-7
-    xdistcs res_$ic s2 U1 U2 100 1.0e-7  
-    
-    #check whether the curve has a loop
-    set aFpar [dval U1*aLambda1+aLambda2*U2]
-    set aLpar [dval U2]
-    
-    set delta [expr ($aLpar-$aFpar)/10.0]
-    cvalue res_$ic $aFpar xp yp zp dx1 dy1 dz1
-    for {set p $aFpar} {$p <= $aLpar} {set p [expr $p + $delta]} {
-      cvalue res_$ic $p xp yp zp dx2 dy2 dz2
-      
-      #Check if the angle between the vectors {dx1 dy1 dz1} and {dx2 dy2 dz2} is less than 40deg.
-      set nv1 [ dval dx1*dx1+dy1*dy1+dz1*dz1 ] 
-      set nv2 [ dval dx2*dx2+dy2*dy2+dz2*dz2 ] 
-      
-      set nv1 [ expr sqrt($nv1) ]
-      set nv2 [ expr sqrt($nv2) ]
-      
-      set dp [ dval dx1*dx2+dy2*dy2+dz1*dz2 ] 
-      
-      if {$dp < [ expr 0.76604444311897803520239265055542 * $nv1 * $nv2 ] } {
-        puts "Error: The curve res_$ic possibly has a bend at parameter $p. Please check carefully"
-      }      
-      
-      dset dx1 dx2
-      dset dy1 dy2
-      dset dz1 dz2
-    }
-    
-    incr ic
-  }
-}
-
-incr ic -1
-
-if { $ic != $GoodNbCurves } {
-  puts "Error: $GoodNbCurves are expected but $ic ones are found"
-}
-
-smallview
-clear
-point p1 57.478209319525746 -120.6955841545726 -125.98789759526636
-point p2 57.478010564066473 -120.69677875685414 -125.98860176530741
-fit
-
-clpoles s1
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug29994 b/tests/bugs/modalg_7/bug29994
deleted file mode 100644 (file)
index cdd6731..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-puts "========"
-puts "0029994: Misprint in IntWalk_PWalking::Perform(...) method"
-puts "========"
-puts ""
-
-foreach a [directory res*] {unset $a}
-
-torus s1 185.793144150183 -13 70.9931441501827 0 -1 0 0 0 -1 27.0094480547676 0.25
-restore [locate_data_file bug29994_s2.draw] s2
-
-intersect res s1 s2 1.0e-4
-
-if { [info exists res] } {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  if { ![info exists res_$ic] } {
-    set AllowRepeat 0
-  } else {
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 2.0e-7
-    xdistcs res_$ic s2 U1 U2 100 2.0e-7
-    
-    mkedge ee res_$ic
-    baddobjects ee
-    incr ic
-  }
-}
-
-incr ic -1
-
-if { $ic == 1 } {
-  puts "OK: good number of curves!"
-  checklength res_1 -l 0.70541045554962345 -eps 1.0e-3
-} else {
-  puts "Error: Incorrect number of curves in intersection result!"
-  bfillds
-  bbuild result
-  
-  # Check gaps between edges in result
-  checksection result -r 2
-  checkmaxtol result -min_tol 2.0e-7
-  checknbshapes result -edge 1 -vertex 2
-}
-
-smallview
-don res_*
-fit
-disp s1 s2
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug30082_1 b/tests/bugs/modalg_7/bug30082_1
deleted file mode 100644 (file)
index 59f6890..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-puts "========"
-puts "0030082: Intersection algorithm returns curve with big tolerance value"
-puts "========"
-puts ""
-
-foreach a [directory c_*] { unset $a }
-
-brestore [locate_data_file bug27928_b1.brep] b1
-brestore [locate_data_file bug27928_b2.brep] b2
-explode b1 f
-explode b2 f
-
-if { [regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_1 b2_2 -2d] full Toler NbCurv ] } {
-  # Before the fix, the tolerance was 0.0010828835451753697
-  checkreal Tolerance $Toler 6.5e-7 0.0 0.1
-
-  if {$NbCurv != 1} {
-    puts "Error: 1 curve is expected but $NbCurv curves are found."
-  }
-} else {
-  puts "Error: Intersection result is empty"
-}
-
-smallview
-don c_*
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug30082_2 b/tests/bugs/modalg_7/bug30082_2
deleted file mode 100644 (file)
index ddfc67c..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-puts "========"
-puts "0030082: Intersection algorithm returns curve with big tolerance value"
-puts "========"
-puts ""
-
-foreach a [directory res*] {unset $a}
-
-set aTol 1.0e-4
-set GoodNbCurves 4
-
-cylinder s1 -106.471129473161 -64.3442185874231 -19.25 1 0 0 0 0 -1 0.25
-cylinder s2 -124.971129473161 -67.0942185874231 -20.5 0 0 1 1 0 -0 3
-intersect res s1 s2 $aTol
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  renamevar res res_1
-}
-
-bclearobjects
-bcleartools
-
-set ic 1
-set AllowRepeat 1
-while { $AllowRepeat != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeat 0
-  } else {
-    bounds res_$ic U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs res_$ic s1 U1 U2 100 $aTol
-    xdistcs res_$ic s2 U1 U2 100 $aTol
-    
-    mkedge ee res_$ic
-    baddobjects ee
-    incr ic
-  }
-}
-
-incr ic -1
-
-if { $ic != $GoodNbCurves } {
-  puts "Error: $GoodNbCurves curves are expected but $ic ones are found"
-}
-
-bfillds
-bbuild result
-
-smallview
-don result
-fit
-
-# Check gaps between edges in ce
-checksection result -r 0
-checkmaxtol result -min_tol 2.0e-7
-
-checknbshapes result -edge 4 -vertex 3
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug30100_2 b/tests/bugs/modalg_7/bug30100_2
deleted file mode 100644 (file)
index 831cc1e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-puts "========"
-puts "0030100: Modeling Algorithms - ShapeUpgrade_UnifySameDomain is unable to unify faces based on the same toroidal surface"
-puts "========"
-puts ""
-
-restore [locate_data_file bug30100_faces.brep] f
-explode f
-
-if {![regexp "no 3d curves" [bopcurves f_1 f_2]]} {
-  puts "Error: Tangent faces are not detected"
-}
diff --git a/tests/bugs/modalg_7/bug30202_2 b/tests/bugs/modalg_7/bug30202_2
deleted file mode 100644 (file)
index 533de34..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-puts "========"
-puts "0030202: IntPatch_WLineTool::JoinWLines array out of bounds"
-puts "========"
-puts ""
-
-restore [locate_data_file bug30202_src.brep] b1
-restore [locate_data_file bug30202_tool.brep] b2
-
-explode b1 f
-explode b2 f
-
-if {![regexp "no 3d curves\n has no 3d points" [bopcurves b1_5 b2_7 -2d]]} {
-  puts "Error: Expected intersection result is empty"
-}
diff --git a/tests/bugs/moddata_1/buc60623_3 b/tests/bugs/moddata_1/buc60623_3
deleted file mode 100755 (executable)
index b490834..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-puts "========================"
-puts "BUC60623"
-puts "========================"
-
-restore [locate_data_file buc60623a.brep] a
-checkshape a
-restore [locate_data_file buc60623b.brep] b
-checkshape b
-
-mksurface S1 a
-mksurface S2 b
-
-intersect I1 S1 S2
-regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection I1] full cs2
-if { $cs2 != 0 } {
-    puts " Faulty : Intersection is not correct"
-} else {
-    puts "Intersection of S1 and S2 is correct"
-}
-
-intersect I2 S2 S1
-regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection I2] full cs2
-if { $cs2 != 0 } {
-    puts " Faulty : Intersection is not correct"
-} else {
-    puts "Intersection of S2 and S1 is correct"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_1/buc60815 b/tests/bugs/moddata_1/buc60815
deleted file mode 100755 (executable)
index 993fe67..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "TODO OCC12345 ALL: Faulty BUC60815: NO EXCEPTION."
-puts "=========="
-puts "BUC60815"
-puts "=========="
-
-plane p1 1 0 0
-plane p2 0 0 0 1 0 0
-trim p1 p1 -50 50 -50 50
-trim p2 p2 -75 75 -75 75 
-intersect r2 p1 p2
-extsurf e1 r2 10 10 10
-extsurf e3 r2 10 10 10
-
-if [catch { intersect result e1 e3 } catch_result] {
-    puts "Faulty BUC60815: NO EXCEPTION."
-    puts "INTERSECTION BETWEEN TWO SURFACES LYING ON THE SAME PLANE UNDEFINED"
-} else {
-    puts "BUC60815 OK: suitable except"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_1/bug106 b/tests/bugs/moddata_1/bug106
deleted file mode 100755 (executable)
index 031266e..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-
-puts "================"
-puts "BUC61032"
-puts "OCC106"
-puts "================"
-puts ""
-
-restore [locate_data_file OCC106-1.draw] sh1 
-####          checkshape sh1 # - not a topological shape
-restore [locate_data_file OCC106-2.draw] sh2
-####          checkshape sh2 # - not a topological shape
-
-trimv s1 sh1 -1000 1000
-trimv s2 sh2 -1000 1000
-
-if [catch {intersect res s1 s2} result] {
-set mistake 1
-} else {
-set  mistake 0
-}
-
-if { $mistake == 0 } {
- puts ""
- set nom 0
-   set j 1
-   repeat 10 {
-     set che [whatis res_$j]
-      set che1 [whatis res_$j]
-       set err [lindex $che [expr [llength $che] - 1]]
-        set err1 [lindex $che1 [expr [llength $che1] - 2]]
-
-          if { $err != "curve" && $err1 != "3d"} {
-               break
-              } else {
-              set nom [expr $nom + 1]
-              }
-    incr j}
- if { $nom == 0} {
-    puts "1) Faulty OCC106: Intersection was made WRONGLY"
-} else {
-  puts [format "1) OCC106 OK : Intersection command works properly: %s curves" $nom]
-  puts ""
-} 
-} else {
-    puts "1) Faulty OCC106: Intersection was made WRONGLY"
-}
-
-if [catch {intersect rrs sh1 sh2} result] {
-set mistake 1
-} else {
-set  mistake 0
-}
-
-if { $mistake == 0 } {
- puts ""
- set nom 0
-   set j 1
-   repeat 10 {
-     set che [whatis rrs_$j]
-      set che1 [whatis rrs_$j]
-       set err [lindex $che [expr [llength $che] - 1]]
-        set err1 [lindex $che1 [expr [llength $che1] - 2]]
-
-          if { $err != "curve" && $err1 != "3d"} {
-               break
-              } else {
-              set nom [expr $nom + 1]
-              }
-    incr j}
- if { $nom == 0} {
-    puts "2) Faulty OCC106: Intersection was made WRONGLY"
-} else {
-  puts [format "2) OCC106 OK : Intersection command works properly: %s curves" $nom]
-}
-} else {
-    puts "2) Faulty OCC106: Intersection was made WRONGLY"
-}
-
diff --git a/tests/bugs/moddata_1/bug139 b/tests/bugs/moddata_1/bug139
deleted file mode 100755 (executable)
index 957a3c2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-puts "================"
-puts "OCC139"
-puts "================"
-puts ""
-#######################################
-## The intersection must be closed . So the curve is wrong.
-#######################################
-
-restore [locate_data_file OCC139-1.draw] sh1 
-restore [locate_data_file OCC139-2.draw] sh2
-
-if { ![catch {intersect result sh1 sh2} catch_result] } {
-    puts "OCC139 OK : intersection found"
-    regexp { nb alone Vertices : +([-0-9.+eE]+)} [checksection result] full num
-    if { $num != 0 } {
-       puts "Faulty OCC139: Intersection was made WRONGLY. The curve must be closed ."
-    } else {
-       puts "OCC139 OK : Intersection command works properly. The curve is closed"
-    }
-} else {
-    puts "Faulty OCC139 : NO intersection found"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_1/bug20524 b/tests/bugs/moddata_1/bug20524
deleted file mode 100755 (executable)
index ae86c3c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "========================"
-puts "OCC20524"
-puts "========================"
-puts ""
-#######################################################################
-# Wrong intersection
-#######################################################################
-
-set BugNumber OCC20524
-
-restore [locate_data_file OCC20524-surf1.draw] surf1 
-restore [locate_data_file OCC20524-surf2.draw] surf2 
-
-intersect result surf1 surf2
-
-set che [whatis result]
-if { ![regexp {3d curve} $che] } {
-    puts "Faulty ${BugNumber}: command INTERSECT works wrongly"
-} else {
-  puts "${BugNumber} OK : command INTERSECT works properly"
-}
-
diff --git a/tests/bugs/moddata_1/bug20766 b/tests/bugs/moddata_1/bug20766
deleted file mode 100755 (executable)
index fe634b3..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-pload QAcommands
-
-puts "============"
-puts "OCC20766"
-puts "============"
-puts ""
-#######################################################################
-# Intersection of cone with plane in apex point crashes
-#######################################################################
-
-set BugNumber OCC20766
-
-OCC20766 plane 1 0 0 3522.4299999999998
-
-set x -3522.4299999999998
-set y 2540
-set z -1461.4300000000001
-set dx 5449.7857099692965
-set dy 0
-set dz 5537.6938973109054
-set PI180 0.017453292519943295
-set semi-angle [expr 0.46689346637921703 / ${PI180}]
-set radius 0.
-
-cone c ${x} ${y} ${z} ${dx} ${dy} ${dz} ${semi-angle} ${radius}
-
-if [catch { intersect result plane c } ] {
-  puts "Faulty ${BugNumber} : intersect is wrong"
-} else {
-  puts "OK ${BugNumber}"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_1/bug22720 b/tests/bugs/moddata_1/bug22720
deleted file mode 100755 (executable)
index bca0d27..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-puts "============"
-puts "OCC22720"
-puts "============"
-puts ""
-#######################################################################
-# Wrong intersection point for the case of intersection between sphere and plane
-#######################################################################
-
-set BugNumber OCC22720
-
-restore [locate_data_file OCC22720-f1.brep] f1 
-restore [locate_data_file OCC22720-f2.brep] f2 
-
-mksurface s1 f1
-mksurface s2 f2
-
-trim s1t s1 0 2 0 2
-intersect result s1t s2
-
-checkview -display result -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_1/bug22723 b/tests/bugs/moddata_1/bug22723
deleted file mode 100755 (executable)
index 5fe0cf1..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-puts "============"
-puts "OCC22723"
-puts "============"
-puts ""
-#######################################################################
-# Wrong intersection curve for the case of intersection between cylinder and plane
-#######################################################################
-
-set BugNumber OCC22723 
-
-restore [locate_data_file bug22723_fz44.brep] b1 
-restore [locate_data_file bug22723_fz7.brep] b2 
-mksurface s1 b1
-mksurface s2 b2
-intersect result s1 s2
-
-regexp {Parameters : ([-0-9.+eE]+) ([-0-9.+eE]+)} [dump result] full a1 a2
-set status 0
-
-if { ${a1}>=0 } {
-    if { ${a2}<6.29 } {
-       set status 1
-    }
-}
-
-if { ${status}==1 } {
-    puts "OK ${BugNumber}"
-} else {
-    puts "Faulty ${BugNumber}"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_2/bug22851 b/tests/bugs/moddata_2/bug22851
deleted file mode 100755 (executable)
index a02d0d1..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "============"
-puts "OCC22851"
-puts "============"
-puts ""
-#######################################################################
-# No intersection curve between two surfaces
-#######################################################################
-
-set BugNumber OCC22851
-
-restore [locate_data_file bug22851_fz1.brep] b1 
-restore [locate_data_file bug22851_fz8.brep] b2 
-mksurface s1 b1
-mksurface s2 b2
-intersect i s1 s2
-
-set dump_info  [dump i]
-
-set lst [split ${dump_info}]
-set dump_length [llength $lst]
-
-set find_BSCurve [regexp {BSplineCurve} $dump_info]
-set find_Degree_Poles_Knots [regexp {Degree +[-0-9.+eE]+, +[-0-9.+eE]+ +Poles, +[-0-9.+eE]+ +Knots} $dump_info]
-
-if { $dump_length == 0 && !$find_BSCurve && !$find_Degree_Poles_Knots } {
-    puts "Faulty ${BugNumber}"
-} else {
-    puts "OK ${BugNumber}"
-}
\ No newline at end of file
diff --git a/tests/bugs/moddata_2/bug22923 b/tests/bugs/moddata_2/bug22923
deleted file mode 100755 (executable)
index 024e571..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-puts "============"
-puts "OCC22923"
-puts "============"
-#######################################################################
-# The command "intersect" throws an exception
-#######################################################################
-
-set BugNumber OCC22923
-
-restore [locate_data_file bug22923_Face-2_7.brep] b1 
-restore [locate_data_file bug22923_Face-7_0.brep] b2 
-
-set exception_status 0
-
-mksurface s1 b1
-mksurface s2 b2
-
-set msg [ intersect i s1 s2 ]
-set index [ lsearch $msg Exception ]
-
-if {$index > -1} {
-  set exception_status 1 }   
-
-if { ${exception_status} != 0 } {
-   puts "Faulty ${BugNumber}"
-} else {
-   puts "OK ${BugNumber}"
-}
diff --git a/tests/bugs/moddata_2/bug23576 b/tests/bugs/moddata_2/bug23576
deleted file mode 100755 (executable)
index d77f252..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-puts "============"
-puts "OCC23576"
-puts "============"
-puts ""
-#######################################################################
-# Intersection algorithm produces trimmed circle with illegal parametric range.
-#######################################################################
-
-restore [locate_data_file bug23576_ff_b1_4_z564.brep] b1
-
-explode b1
-bopcurves b1_1 b1_2
-copy c_1 result
-
-set log [dump result]
-
-regexp {Parameters : +([-0-9.+eE]+) +([-0-9.+eE]+)} ${log} full rc1 rc2
-puts "rc1=${rc1}"
-puts "rc2=${rc2}"
-set 2_PI [expr 2. * 2. * asin(1.0)]
-puts "2_PI=${2_PI}"
-puts ""
-
-if {${rc1} < 0.} {
-  puts "Error: Bad value of parametric range rc1"
-} else {
-  puts "Good value of parametric range rc1"
-}
-if {${rc2} < ${2_PI}} {
-  puts "Error: Bad value of parametric range rc2"
-} else {
-  puts "Good value of parametric range rc2"
-}
diff --git a/tests/bugs/moddata_2/bug236 b/tests/bugs/moddata_2/bug236
deleted file mode 100755 (executable)
index 9c16476..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-puts "TODO OCC12345 ALL: Faulty OCC236"
-
-puts "================"
-puts "OCC236"
-puts "================"
-puts ""
-#######################################################
-##Result of intersection of two surfaces of linear extrusion is incorrect.
-#######################################################
-
-restore [locate_data_file OCC236a.rle] su1 
-############### checkshape su1 # is not a topological shape
-restore [locate_data_file OCC236b.rle] su2
-############### checkshape su2 # is not a topological shape
-
-intersect result su1 su2
-
-set che [directory]
-set err [lindex $che [expr [llength $che] - 1]]
-if { $err != "result_2"} {
-    puts "Faulty OCC236"
-} else {
-    puts "OCC236 OK (first checking) : Intersection command works properly"
-    regexp {nb +alone +Vertices +: +([-0-9.+eE]+)} [checksection result_1] full num
-    if { $num != 0 } {
-       puts " Faulty OCC236 (second checking): Result result_1 is UNclosed !!! " 
-    } else {
-       puts " OCC236 OK (second checking): Result result_1 is closed !!! " 
-        puts ""
-    }
-    regexp {nb +alone +Vertices +: +([-0-9.+eE]+)} [checksection result_2] full num
-    if { $num != 0 } {
-       puts " Faulty OCC236 (second checking): Result result_2 is UNclosed !!! " 
-    }  else {
-       puts " OCC236 OK (second checking): Result result_2 is closed !!! " 
-    }
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug23643 b/tests/bugs/moddata_2/bug23643
deleted file mode 100755 (executable)
index 18d74e4..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-puts "========================"
-puts "OCC23643"
-puts "========================"
-puts ""
-#######################################################################
-# Intersection algorithm produces B-Spline curve in case of coaxial cones
-#######################################################################
-
-restore [locate_data_file bug23643_qf3.brep] b
-
-explode b
-copy b_1 f1
-copy b_2 f2
-
-mksurface s1 f1
-mksurface s2 f2
-
-trim s1t s1 0 2*pi -18 10
-trim s2t s2 0 2*pi -18 10
-
-intersect result s1t s2t
-
-set log [dump result]
-
-if {[regexp {Trimmed +curve} ${log}]} {
-  puts "Intersection algorithm work OK"
-} else {
-  puts "Error: Intersection algorithm work bad"
-}
diff --git a/tests/bugs/moddata_2/bug23644 b/tests/bugs/moddata_2/bug23644
deleted file mode 100755 (executable)
index b4fd0ca..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-puts "========"
-puts "CR23644"
-puts "========"
-
-##########################################
-## Intersection between coaxial cones produces exception
-##########################################
-
-pcone cn1 10 0 20
-pcone cn2 20 0 20
-explode cn1 f
-explode cn2 f
-copy cn1_1 f1
-copy cn2_1 f2
-
-if [catch {bopcurves f1 f2} BOPLog] {
-   if { [regexp "Tolerance Reached=0\n has no 3d curve" ${BOPLog}] != 1 } {
-      puts "CR23644: Error"
-   }
-} 
diff --git a/tests/bugs/moddata_2/bug237 b/tests/bugs/moddata_2/bug237
deleted file mode 100755 (executable)
index cdfb9c8..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-puts "================"
-puts "OCC237"
-puts "================"
-puts ""
-#######################################################
-## Hang-ups during the intersection of attached surfaces
-#######################################################
-
-restore [locate_data_file OCC236b.rle] su1 
-############### checkshape su1 # is not a topological shape
-restore [locate_data_file OCC237b.rle] su2
-############### checkshape su2 # is not a topological shape
-
-if [catch {intersect result su1 su2 }] {
-    set mistake 1
-} else {
-    set mistake 0
-}
-
-if { $mistake != 0} {
-    puts "Faulty OCC237: Intersection was made WRONGLY"
-} else {
-    puts "OCC237 OK  : Intersection command works properly"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug271 b/tests/bugs/moddata_2/bug271
deleted file mode 100755 (executable)
index d235965..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-puts "========================"
-puts " OCC271 "
-puts "========================"
-puts ""
-
-restore [locate_data_file OCC271a.rle] su1 
-restore [locate_data_file OCC271b.rle] su2
-
-set U1 2.315721254379057e-16
-set U2 0.01131870392278708
-set V1 226.9760100729095
-set V2 203.7283534809051
-
-intersect result su1 su2 $U1 $V1 $U2 $V2
-
-set che [whatis result]
-
-if { ![regexp {3d} $che] || ![regexp {curve} $che]} {
-    puts "Faulty OCC271: command INTERSECT works wrongly"
-} else {
-    puts "OCC271 OK : command INTERSECT works properly"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug286 b/tests/bugs/moddata_2/bug286
deleted file mode 100755 (executable)
index 1f95128..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-puts "TODO OCC12345 ALL: Faulty OCC286: Attempt to project the point on surface gives wrong result."
-puts "========================"
-puts " OCC286 "
-puts "========================"
-puts ""
-
-restore [locate_data_file OCC286a.draw] a 
-restore [locate_data_file OCC286b.draw] b
-
-intersect i a b
-cvalue i 0.31 x y z
-point p x y z
-proj b x y z
-
-set err1 ""
-set err2 ""
-set err3 ""
-regexp {Point +: +([-0-9.+eE]+, +[-0-9.+eE]+, +[-0-9.+eE]+)} [dump ext_1] full err1
-regexp {Point +: +([-0-9.+eE]+, +[-0-9.+eE]+, +[-0-9.+eE]+)} [dump ext_2] full err2
-regexp {Point +: +([-0-9.+eE]+, +[-0-9.+eE]+, +[-0-9.+eE]+)} [dump ext_3] full err3
-
-if { $err1 == $err2  || $err1 == $err3 || $err2 == $err3 } {
-    puts "Faulty OCC286: Attempt to project the point on surface gives wrong result."
-} else {
-    puts "OCC286 OK : Attempt to project the point on surface gives correct result"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_2/bug324 b/tests/bugs/moddata_2/bug324
deleted file mode 100755 (executable)
index 0593ea2..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-puts "========================"
-puts " OCC324 "
-puts "========================"
-puts ""
-#################################################################
-## The command "intersect" applied to the given arguments "s1" (plane) and "s2" (cylinder) leads 
-## to the program hang-up.
-#################################################################
-
-restore [locate_data_file OCC324a.draw] s1 
-restore [locate_data_file OCC324b.draw] s2
-
-if [catch {intersect result s1 s2} catch_result] {
-    puts "Faulty OCC324: function INTERSECT works wrongly"
-} else {
-    puts "OCC324 OK: function INTERSECT works properly"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
diff --git a/tests/bugs/moddata_2/bug333 b/tests/bugs/moddata_2/bug333
deleted file mode 100755 (executable)
index d80400f..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-puts "================"
-puts "OCC333: Superimposed curves during intersection two surfaces "
-puts "================"
-puts ""
-
-set GoodNbCurv 14
-
-restore [locate_data_file OCC333a.draw] s1 
-restore [locate_data_file OCC333b.draw] s2
-
-intersect result s1 s2
-
-set che [whatis result]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "result" exists
-  renamevar result result_1
-}
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis result_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    display result_$ic
-    
-    bounds result_$ic U1 U2
-    
-    dump U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs result_$ic s1 U1 U2 10 2.0e-7
-    xdistcs result_$ic s2 U1 U2 10 2.0e-7
-    
-    for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
-      mkedge e1 result_$ic
-      mkedge e2 result_$ip
-
-      set coe [checkoverlapedges e1 e2 5.0e-5]
-
-      puts "result_$ic <-> result_$ip: $coe"
-      if { [regexp "Edges is not overlaped" $coe] != 1 } {
-        puts "Error: result_$ic and result_$ip are overlaped"
-      }
-    }
-     
-    incr ic
-  }
-}
-
-incr ic -1
-
-if {$ic == $GoodNbCurv} {
-  puts "OK: Number of curves is good!"
-} else {
-  puts "Error: $GoodNbCurv curves are expected but $ic ones are found!"
-}
-
-smallview
-don result*
-fit
-clear
-don s1 s2 result*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug370 b/tests/bugs/moddata_2/bug370
deleted file mode 100755 (executable)
index 9dbc8e5..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-puts "========================"
-puts "BUC61033"
-puts " OCC370 "
-puts "========================"
-puts ""
-#################################################################
-##Intersection between a sphere and trimmed plane, using IntPatch_Intersection, lead to infinite cycle. 
-#################################################################
-
-sphere gs1 1
-plane gs2 0 0 0 1 0 0
-trim trgs2 gs2 0 1.000001 -1 0.000001
-
-intersect result gs1 trgs2
-
-cpulimit 300
-
-puts "OCC370 OK: function INTERSECT works properly"
-
-erase gs2
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
diff --git a/tests/bugs/moddata_2/bug371 b/tests/bugs/moddata_2/bug371
deleted file mode 100755 (executable)
index 0d424b7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-
-puts "========================"
-puts "BUC61034"
-puts " OCC371 "
-puts "========================"
-puts ""
-#################################################################
-##Intersection between two BSplineSurfaces, using IntPatch_Intersection, lead to infinite cycle.
-#################################################################
-
-restore [locate_data_file OCC371a.brep] a 
-restore [locate_data_file OCC371b.brep] b
-
-mksurface gs1 a
-mksurface gs2 b
-trim trgs1 gs1 0.0 1.0 0.9698725179864 1.0
-trim trgs2 gs2 0.0 1.0 0.24333094700742 0.92374551772989
-
-#cpulimit 300
-intersect result trgs1 trgs2
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
diff --git a/tests/bugs/moddata_2/bug429 b/tests/bugs/moddata_2/bug429
deleted file mode 100755 (executable)
index e1a320d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-puts "========================"
-puts " OCC429 "
-puts "========================"
-puts ""
-#######################################
-## Projection for a point on a surface works wrong
-#######################################
-
-restore [locate_data_file OCC429a.draw] a 
-restore [locate_data_file OCC429b.draw] b
-
-intersect i a b
-
-cvalue i_2 0.43213918 x y z
-point p x y z
-proj b x y z
-
-set err1 [string range [dump ext_1] 55 64]
-set err2 [string range [dump ext_2] 55 64]
-set err3 [string range [dump ext_3] 55 64]
-set err4 [string range [dump ext_4] 55 64]
-set err5 [string range [dump ext_5] 55 64]
-set err6 [string range [dump ext_6] 55 64]
-
-if { $err1 != "Parameters" || $err2 != "Parameters" || $err3 != "Parameters" || $err4 != "Parameters" || $err5 != "Parameters" || $err6 != "Parameters" } {
-    puts " OCC286 OK : Projection for a point on a surface works properly"
-} else {
-    puts "Faulty OCC429 : Attempt to project the point on surface gives incorrect result"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug431 b/tests/bugs/moddata_2/bug431
deleted file mode 100755 (executable)
index 4b5f75d..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-puts "========================"
-puts " OCC431 "
-puts "========================"
-puts ""
-#####################################
-## Intersection of two surfaces is not compleate curve. 
-#####################################
-
-restore [locate_data_file OCC431a.draw] su1 
-restore [locate_data_file OCC431b.draw] su2
-
-intersect result su1 su2
-
-set che [whatis result]
-
-if { ![regexp {curve} $che] || ![regexp {3d} $che]} {
-    puts "Faulty OCC431 : Command INTERSECT works WRONGLY"
-} else {
-    puts "OCC431 OK  :  Command INTERSECT works properly"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug504 b/tests/bugs/moddata_2/bug504
deleted file mode 100755 (executable)
index 2287b92..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-puts "========="
-puts " OCC504 "
-puts "========="
-puts ""
-###############################
-## AllocMemory while intersection command 
-###############################
-
-restore [locate_data_file OCC504a.draw] su1 
-# checkshape su1
-
-restore [locate_data_file OCC504b.draw] su2
-# checkshape su2
-
-if [catch {intersect result su1 su2} catch_result] {
-    puts "Faulty OCC504 : A solution takes all memory and crach with AllocMemory"
-} else {
-    puts "OCC504 OK: function intersection works ok"
-}
-
-if { [regexp {curve} [whatis result_1]] && [regexp {curve} [whatis result_2]] } {
-    puts "OCC504 OK : Result shape is CORRECT !!! "
-} else {
-    puts " Faulty OCC504: Result shape is INcorrect !!! "
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug513 b/tests/bugs/moddata_2/bug513
deleted file mode 100755 (executable)
index ce2c849..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-puts "========"
-puts "OCC513"
-puts "========"
-puts ""
-
-######################################
-## Can not intersect plane and conical surfaces
-## The ">intersect" command hangs up the computer.
-######################################
-
-# cpulimit 9000
-
-restore [locate_data_file OCC513a.draw] sa23 
-restore [locate_data_file OCC513b.draw] sb8 
-
-if { [catch {intersect result sa23 sb8} catch_result] } {
-    puts "Faulty OCC513: function INTERSECTION works wrongly"
-} else {
-    puts "OCC513 OK: function INTERSECTION works properly"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug531 b/tests/bugs/moddata_2/bug531
deleted file mode 100755 (executable)
index 59a55f1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-puts "======="
-puts "OCC531"
-puts "======="
-puts ""
-##########################################################
-## Can not intersect plane and cone.The ">intersect" command hangs up the computer
-##########################################################
-
-restore [locate_data_file OCC531_1.draw] a 
-restore [locate_data_file OCC531_2.draw] b 
-
-intersect result a b
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug537 b/tests/bugs/moddata_2/bug537
deleted file mode 100755 (executable)
index 3d192fc..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-puts "TODO OCC12345 ALL: Error : OCC537"
-
-puts "======="
-puts "OCC537"
-puts "======="
-puts ""
-#######################################################################
-##Application do something in intersection operation for long time and eat much memory (This may be the
-##  reason of BUS ERROR that happens in application). Intersection operation invokes for conical and plane
-## surfaces.
-#######################################################################
-
-restore [locate_data_file OCC537_CONE.draw] c 
-restore [locate_data_file OCC537_PLANE.draw] p 
-
-intersect result c p
-
-set wt_is [whatis result]
-
-if { [regexp {WIRE} ${wt_is}] } {
-    puts " OCC537 OK"
-} else {
-    puts "Error : OCC537"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_2/bug565 b/tests/bugs/moddata_2/bug565
deleted file mode 100755 (executable)
index 67a147a..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-puts "========"
-puts "OCC565: Can not intersect two trimmed conical surfaces"
-puts "========"
-puts ""
-
-set GoodNbCurv 1
-
-foreach c [directory result*] {
-  unset $c
-}
-
-foreach c [directory inf*] {
-  unset $c
-}
-
-restore [locate_data_file OCC565a.draw] s1 
-restore [locate_data_file OCC565b.draw] s2 
-
-puts "Preliminary check: intersection work with infinite cones:"
-if { [catch {intersect inf s1 s2 } catch_result] } {
-  puts "Faulty OCC565: function intersection works wrongly with infinite cones"
-} else {
-  set isFound 0
-  foreach c [directory inf*] {
-    set ind [string first "3d curve" [whatis $c]]
-    if {${ind} < 0} {
-      dump $c
-      puts "Error: Intersection result (with infinite cones) is not 3D-curve"
-    } else {
-      set isFound 1
-    }
-  }
-  
-  if { !$isFound } {
-    puts "Error: Empty intersection result (with infinite cones)"    
-  }
-}
-
-trim s1x s1 0 2*pi 0 2.8
-trim s2x s2 0 2*pi 0 2.8
-
-if { [catch {intersect result s1x s2x } catch_result] } {
-  puts "Faulty OCC565 exception: function intersection works wrongly with trimmed cones"
-} else {
-  foreach c [directory result*] {
-    bounds $c U1 U2
-    
-    if {[dval U2-U1] < 1.0e-9} {
-      puts "Error: Wrong curve's range!"
-    }
-    
-    xdistcs $c s1 U1 U2 10 1.0e-7
-    xdistcs $c s2 U1 U2 10 1.0e-7
-  }
-
-  set NbCurv [llength [directory result*]]
-
-  if { $NbCurv == $GoodNbCurv } {
-    puts "OK: Number of curves is good!"
-  } else {
-    puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
-  }
-
-  smallview
-  don result*
-  fit
-  disp s1x s2x
-  checkview -screenshot -2d -path ${imagedir}/${test_image}.png
-}
-
-
diff --git a/tests/bugs/moddata_2/bug567_1 b/tests/bugs/moddata_2/bug567_1
deleted file mode 100644 (file)
index 223b725..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-puts "========"
-puts "OCC567: Can not intersect two Rectangular Trimmed Surfaces ."
-puts "========"
-puts ""
-
-# Different result between Debian 7 and Debian 8 and between MSVC 2010 and 2017.
-puts "TODO ?OCC30012 Linux: Error: 10 curves are expected but 9 ones are found."
-puts "TODO ?OCC30012 Linux: Error: 10 curves are expected but 8 ones are found."
-puts "TODO ?OCC29910 Windows: Error: 10 curves are expected but 11 ones are found."
-puts "TODO ?OCC29910 Windows: Error :  is WRONG because number of EDGE entities in shape \"rs\" is 15"
-puts "TODO ?OCC29910 Linux: Error :  is WRONG because number of EDGE entities in shape \"rs\" is 8"
-puts "TODO ?OCC29910 Windows: Error: 0 vertices are expected but 2 are found"
-
-set GoodNbCurves 10
-
-foreach a [directory res*] {unset $a}
-
-restore [locate_data_file OCC567a.draw] s1 
-restore [locate_data_file OCC567b.draw] s2 
-
-if { [catch {intersect res s1 s2 } catch_result] } {
-    puts "Faulty OCC567: function intersection works wrongly with infinite Surfaces"
-} else {
-  set che [whatis res]
-  set ind [string first "3d curve" $che]
-  if {${ind} >= 0} {
-    #Only variable "res" exists
-    renamevar res res_1
-  }
-
-  bclearobjects
-  bcleartools
-  
-  set ic 1
-  set AllowRepeat 1
-  while { $AllowRepeat != 0 } {
-    set che [whatis res_$ic]
-    set ind [string first "3d curve" $che]
-    if {${ind} < 0} {
-      set AllowRepeat 0
-    } else {
-     
-      bounds res_$ic U1 U2
-      
-      if {[dval U2-U1] < 1.0e-9} {
-        puts "Error: Wrong curve's range!"
-      }
-      
-      xdistcs res_$ic s1 U1 U2 100 2.0e-7
-      xdistcs res_$ic s2 U1 U2 100 2.0e-7
-      
-      for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
-        mkedge e1 res_$ic
-        mkedge e2 res_$ip
-
-        set coe [checkoverlapedges e1 e2 5.0e-5]
-
-        puts "res_$ic <-> res_$ip: $coe"
-        if { [regexp "Edges is not overlaped" $coe] != 1 } {
-          puts "Error: res_$ic and res_$ip are overlaped"
-        }
-      }
-      
-      mkedge ee res_$ic
-      baddobjects ee
-      
-      incr ic
-    }
-  }
-
-  incr ic -1
-  
-  if {$ic != $GoodNbCurves} {
-    puts "Error: $GoodNbCurves curves are expected but $ic ones are found."
-  }
-  
-  if {$ic != 1} {
-    # Check of gaps between intersection curves
-    bfillds
-    bbuild rs
-
-    checknbshapes rs -edge 14
-    checksection rs -r 0
-  }
-}
-
-smallview
-don res_*
-
-fit
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_2/bug567_2 b/tests/bugs/moddata_2/bug567_2
deleted file mode 100644 (file)
index 21286d5..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-puts "========"
-puts "OCC567: Can not intersect two Rectangular Trimmed Surfaces ."
-puts "========"
-puts ""
-
-set GoodNbCurves 1
-
-restore [locate_data_file OCC567a.draw] s1 
-restore [locate_data_file OCC567b.draw] s2 
-
-foreach a [directory res*] {unset $a}
-
-trim s1x s1 0 2*pi 0 2*pi/13
-trim s2x s2 0 2*pi 0 2*pi/13
-
-if { [catch {intersect res s1x s2x } catch_result] } {
-    puts "Faulty OCC565 exception: function intersection works wrongly with trimmed Surfaces"
-} else {
-  set che [whatis res]
-  set ind [string first "3d curve" $che]
-  if {${ind} >= 0} {
-    #Only variable "res" exists
-    renamevar res res_1
-  }
-
-  bclearobjects
-  bcleartools
-  
-  set ic 1
-  set AllowRepeat 1
-  while { $AllowRepeat != 0 } {
-    set che [whatis res_$ic]
-    set ind [string first "3d curve" $che]
-    if {${ind} < 0} {
-      set AllowRepeat 0
-    } else {
-     
-      bounds res_$ic U1 U2
-      
-      if {[dval U2-U1] < 1.0e-9} {
-        puts "Error: Wrong curve's range!"
-      }
-      
-      xdistcs res_$ic s1 U1 U2 100 2.0e-7
-      xdistcs res_$ic s2 U1 U2 100 2.0e-7
-      
-      for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
-        mkedge e1 res_$ic
-        mkedge e2 res_$ip
-
-        set coe [checkoverlapedges e1 e2 5.0e-5]
-
-        puts "res_$ic <-> res_$ip: $coe"
-        if { [regexp "Edges is not overlaped" $coe] != 1 } {
-          puts "Error: res_$ic and res_$ip are overlaped"
-        }
-      }
-      
-      mkedge ee res_$ic
-      baddobjects ee
-      
-      incr ic
-    }
-  }
-
-  incr ic -1
-  
-  if {$ic != $GoodNbCurves} {
-    puts "Error: $GoodNbCurves curves are expected but $ic ones are found."
-  }
-  
-  if {$ic != 1} {
-    # Check of gaps between intersection curves
-    bfillds
-    bbuild rs
-  
-    checknbshapes rs -edge 1
-    checksection rs -r 2
-  }
-}
-
-smallview
-don res_*
-
-fit
-don s1 s2
-disp res_*
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_2/bug604 b/tests/bugs/moddata_2/bug604
deleted file mode 100755 (executable)
index 276b632..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-puts "TODO OCC12345 ALL: Faulty OCC604: Result of intersection operation is INcorrect !!!"
-
-puts "========================"
-puts " OCC604"
-puts "========================"
-puts ""
-############################
-## Wrong intersection between two tores.
-############################
-
-restore [locate_data_file OCC604a.draw] a 
-restore [locate_data_file OCC604b.draw] b 
-
-if { [catch { intersect result a b } catch_result] } {
-    puts "Faulty OCC604: function INTERSECTION works with exception"
-} else {
-    set nom 0
-    set j 1
-    repeat 10 {
-       set err [lindex [whatis res_$j] 5]
-       if { $err != "curve"} {
-           break
-        } else {
-           set nom [expr $nom + 1]
-        }
-       incr j
-    }
-    if { $nom != 1 } {
-       puts "Faulty OCC604: Result of intersection operation is INcorrect !!!"
-    } else {
-       puts "OCC604 OK : Result of intersection operation is CORRECT !!! "
-    }
-}
-
-checkview -display result -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_2/bug6474 b/tests/bugs/moddata_2/bug6474
deleted file mode 100755 (executable)
index 321dfe0..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-puts "============"
-puts "OCC6474"
-puts "============"
-puts ""
-######################################################
-# Incorrect result of intersection of a plane and an extrusion surface
-######################################################
-
-set BugNumber OCC6474
-
-restore [locate_data_file OCC6474-s1.draw] s1 
-restore [locate_data_file OCC6474-s2.draw] s2 
-
-intersect res s1 s2
-
-if {[llength [directory res*]] != 1} {
-    puts "Faulty ${BugNumber}: more than 1 intersection line is got"
-} else {
-    puts "OK ${BugNumber}"
-}
diff --git a/tests/bugs/moddata_2/ger61235 b/tests/bugs/moddata_2/ger61235
deleted file mode 100755 (executable)
index cf56c2a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-puts "==========="
-puts "GER61235"
-puts "==========="
-
-restore [locate_data_file ger61235a.brep] tool 
-checkshape tool
-restore [locate_data_file ger61235b.brep] object 
-checkshape object
-
-bsection result object tool 
-
-puts "Result of section :"
-checkshape result
-#To check geometry part 
-mksurface s1 tool 
-mksurface s2 object 
-
-puts "Result of intersect :"
-intersect result s1 s2 
-puts [checksection result]
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
diff --git a/tests/bugs/moddata_3/bug23471 b/tests/bugs/moddata_3/bug23471
deleted file mode 100755 (executable)
index 97eab65..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-puts "TODO OCC26190 ALL: Error: Curve Number is bad"
-puts "TODO OCC26190 ALL: Error: Length of intersection line is bad!"
-
-puts "============"
-puts "CR23471"
-puts "============"
-puts ""
-#######################################################################
-# Intersection algorithm produces overlapping intersection curves
-#######################################################################
-
-# Attention!!!!
-# Change these values is strictly forbidden (see bug #26190)
-set GoodNbCurv 1
-set GoodLength 79655.615367318111
-
-restore [locate_data_file OCC22790-cx.brep] b
-
-explode b
-mksurface s1 b_1
-mksurface s2 b_3
-intersect res s1 s2
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  copy res res_1
-}
-
-set SumLength 0
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    set log [length res_$ic]
-    set exp_string "The length res_$ic is +(\[-0-9.+eE\]+)"
-    regexp ${exp_string} ${log} full len
-    set SumLength [expr $SumLength+$len]
-
-    incr ic
-  }
-}
-
-set NbCurv [expr {$ic - 1}]
-if {$NbCurv == $GoodNbCurv} {
-  puts "OK: Curve Number is good!"
-} else {
-  puts "Error: Curve Number is bad ($NbCurv curve(s) found, but $GoodNbCurv expected)!"
-}
-
-if { abs($SumLength - $GoodLength) < 0.01*$GoodLength } {
-  puts "OK: Length of intersection line is good!"
-} else {
-  puts "Error: Length of intersection line is bad!"
-  puts "Expected length is: $GoodLength"
-  puts "Found length is:    $SumLength"
-}
\ No newline at end of file
diff --git a/tests/bugs/moddata_3/bug23981 b/tests/bugs/moddata_3/bug23981
deleted file mode 100755 (executable)
index 2c69254..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "========="
-puts "CR23981"
-puts "========="
-puts ""
-###############################
-## Wrong section curves
-###############################
-
-restore [locate_data_file bug23981_s1.draw] s1
-restore [locate_data_file bug23981_s2.draw] s2
-
-intersect i s1 s2
-
-puts "First test"
-xdistcs i_1 s1 0 1 100 1e-7
-
-puts "Second test"
-xdistcs i_2 s1 0 1 100 1e-7
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_3/bug24142 b/tests/bugs/moddata_3/bug24142
deleted file mode 100755 (executable)
index d6b1985..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-puts "================"
-puts "OCC24142"
-puts "================"
-puts ""
-#################################################################
-## Wrong section curve
-#################################################################
-
-restore [locate_data_file OCC152.brep] sh
-explode sh f
-
-mksurface s1 sh_3
-mksurface s2 sh_5
-
-trim st1 s1 0 6.28318530717959 0 74.9999999999999
-trim st2 s2 0 6.28318530717959 -74.0551172696384 125.944882730362
-
-intersect cur st1 st2
-
-if { [regexp -nocase "curve" [whatis cur]] } {
-  puts "Error: intersection curve is built while it should not"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_3/bug24427_2 b/tests/bugs/moddata_3/bug24427_2
deleted file mode 100644 (file)
index 7e6d03d..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-puts "========="
-puts "CR24427"
-puts "========="
-puts ""
-###############################
-## Wrong section curves
-###############################
-
-restore [locate_data_file bug24427_b1.brep] b1
-restore [locate_data_file bug24427_b2.brep] b2
-
-mksurface s1 b1
-mksurface s2 b2
-
-trim s1t s1 0 3.1415926535897931 3.3684854563490672 3.9269908169872507
-trim s2t s2 0 3.1415926535897931 -1.0598124096115453e-015 0.013271150216666670
-
-intersect i s1t s2t
-don s1t s2t i
-
-puts "First test"
-xdistcs i s1 0 1 10 1e-7
-
-puts "Second test"
-xdistcs i s2 0 1 10 1e-7
-
-donly i s1t s2t
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_3/bug25095 b/tests/bugs/moddata_3/bug25095
deleted file mode 100644 (file)
index e505648..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-puts "============"
-puts "OCC25095"
-puts "============"
-puts ""
-#######################################################################
-# Wrong result obtained by projection algorithm
-#######################################################################
-
-restore [locate_data_file bug25095_fz639.brep] b1
-restore [locate_data_file bug25095_fz5075.brep] b2
-
-mksurface s1 b1
-bopcurves b1 b2
-
-trim ct1 c_1 0.79929107016766299 7.0824763773472492
-trim ct2 c_1 0.79929107016766343 7.0824763773472501
-
-project cp1 ct1 s1
-project cp2 ct2 s1
-checklength cp1 -l 7.2783309522
-checklength cp2 -l 7.2783309522
-
-#v2d2
-view 1 -2D-  728 20 400 400
-
-2dfit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_3/bug25782_1 b/tests/bugs/moddata_3/bug25782_1
deleted file mode 100755 (executable)
index 879676d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-puts "========"
-puts "OCC25782"
-puts "========"
-puts ""
-######################################################
-# The result of intersection between two cylinders is incorrect
-# Algorithm must find one curves only
-######################################################
-
-set GoodNbCurv 1
-
-restore [locate_data_file bug25782_fz19.brep] b1
-restore [locate_data_file bug25782_fz53.brep] b2
-
-mksurface s1 b1
-mksurface s2 b2
-
-intersect res s1 s2
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  
-  copy res res_1
-}
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    xdistcs res_$ic s1 0 100 10 1e-7
-    xdistcs res_$ic s2 0 100 10 1e-7
-    
-    incr ic
-  }
-}
-  
-if {[expr {$ic - 1}] == $GoodNbCurv} {
-  puts "OK: Curve Number is good!"
-} else {
-  puts "Error: Curves Number is bad!"
-}
-
-set log [bopcurves b1 b2]
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
-set MaxTol 1.e-7
-if {${Toler} > ${MaxTol}} {
-   puts "Error: Tolerance is too big!"
-}
-
-if {$NbCurv != $GoodNbCurv} {
-  puts "Error: Curves Number is bad!"
-}
-
-for {set i 1} {$i <= ${NbCurv}} {incr i} {
-  bounds c_$i U1 U2
-  
-  if {[dval U2-U1] < 1.0e-9} {
-    puts "Error: Wrong curve's range!"
-  }
-
-  xdistcs c_$i s1 U1 U2 10 1e-7
-  xdistcs c_$i s2 U1 U2 10 1e-7
-}
diff --git a/tests/bugs/moddata_3/bug25782_2 b/tests/bugs/moddata_3/bug25782_2
deleted file mode 100755 (executable)
index a54a291..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-puts "========"
-puts "OCC25782"
-puts "========"
-puts ""
-######################################################
-# The result of intersection between two cylinders is incorrect
-######################################################
-
-set GoodNbCurv 2
-
-cylinder s1 0 0 0 12 35 47 5
-cylinder s2 3 2 8 12 35 47 4
-
-set bug_info [intersect res s1 s2]
-
-set che [whatis res]
-set ind [string first "3d curve" $che]
-if {${ind} >= 0} {
-  #Only variable "res" exists
-  
-  copy res res_1
-}
-
-if {[llength ${bug_info}] != $GoodNbCurv} {
-  puts "Error: The result of intersection between two cylinders is incorrect"
-}
-
-set Tolerance 1.e-7
-set D_good 0.
-set Limit_Tol 1.0e-7
-
-set ic 1
-set AllowRepeate 1
-while { $AllowRepeate != 0 } {
-  set che [whatis res_$ic]
-  set ind [string first "3d curve" $che]
-  if {${ind} < 0} {
-    set AllowRepeate 0
-  } else {
-    if { [regexp {\*\*\nLine} [dump res_$ic]] } {
-      #puts "OK : Correct intersection"
-    } else {
-      puts "Error : Bad intersection"
-    }
-  
-    xdistcs res_$ic s1 0 100 10 1e-7
-    xdistcs res_$ic s2 0 100 10 1e-7
-    
-    incr ic
-  }
-}
index c3848ca3b32044ba455dbe401e215c85e4e237ff..5d4e4d5ba4b3663e9f30dece79cbc4216afd7708 100644 (file)
@@ -2,4 +2,5 @@
 002 bnd
 003 extcs
 004 extcc
-005 2dgcc
\ No newline at end of file
+005 2dgcc
+006 intss
\ No newline at end of file
diff --git a/tests/lowalgos/intss/begin b/tests/lowalgos/intss/begin
new file mode 100644 (file)
index 0000000..b9d0598
--- /dev/null
@@ -0,0 +1,30 @@
+# Checks whether theCurve has a loop/bend
+# Use: CheckLoops curve CosMaxAngle [theNbPoints]}
+# theNbPoints sets the interval of discretization;
+# theCosMaxAngle sets the maximal rotation angle between two adjacent segments. This value must be equal to the cosine of this angle.
+
+help CheckLoops {curve CosMaxAngle theNbPoints }
+proc CheckLoops {theCurve theCosMaxAngle {theNbPoints 1000.0}} {
+  upvar #0 $theCurve aCurve
+  bounds aCurve U1 U2
+    
+  set delta [dval (U2-U1)/$theNbPoints]
+  cvalue aCurve [dval U1] xp yp zp dx1 dy1 dz1
+  
+  for {set p [dval U1]} {$p <= [dval U2]} {set p [expr $p + $delta]} {
+    cvalue aCurve $p xp yp zp dx2 dy2 dz2
+    
+    #Check if the angle between the vectors {dx1 dy1 dz1} and {dx2 dy2 dz2} is less than 30deg.
+    set nv1 [ dval dx1*dx1+dy1*dy1+dz1*dz1 ] 
+    set nv2 [ dval dx2*dx2+dy2*dy2+dz2*dz2 ] 
+    set dp [ dval dx1*dx2+dy2*dy2+dz1*dz2 ] 
+    
+    if {$dp < [ expr $theCosMaxAngle * sqrt($nv1 * $nv2) ] } {
+      puts "Error: The curve aCurve is possible to have a bend at parameter $p. Please check carefully"
+    }      
+    
+    dset dx1 dx2
+    dset dy1 dy2
+    dset dz1 dz2
+  }
+}
diff --git a/tests/lowalgos/intss/buc60623_3 b/tests/lowalgos/intss/buc60623_3
new file mode 100644 (file)
index 0000000..b490834
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========================"
+puts "BUC60623"
+puts "========================"
+
+restore [locate_data_file buc60623a.brep] a
+checkshape a
+restore [locate_data_file buc60623b.brep] b
+checkshape b
+
+mksurface S1 a
+mksurface S2 b
+
+intersect I1 S1 S2
+regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection I1] full cs2
+if { $cs2 != 0 } {
+    puts " Faulty : Intersection is not correct"
+} else {
+    puts "Intersection of S1 and S2 is correct"
+}
+
+intersect I2 S2 S1
+regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection I2] full cs2
+if { $cs2 != 0 } {
+    puts " Faulty : Intersection is not correct"
+} else {
+    puts "Intersection of S2 and S1 is correct"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/buc60815 b/tests/lowalgos/intss/buc60815
new file mode 100644 (file)
index 0000000..993fe67
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC12345 ALL: Faulty BUC60815: NO EXCEPTION."
+puts "=========="
+puts "BUC60815"
+puts "=========="
+
+plane p1 1 0 0
+plane p2 0 0 0 1 0 0
+trim p1 p1 -50 50 -50 50
+trim p2 p2 -75 75 -75 75 
+intersect r2 p1 p2
+extsurf e1 r2 10 10 10
+extsurf e3 r2 10 10 10
+
+if [catch { intersect result e1 e3 } catch_result] {
+    puts "Faulty BUC60815: NO EXCEPTION."
+    puts "INTERSECTION BETWEEN TWO SURFACES LYING ON THE SAME PLANE UNDEFINED"
+} else {
+    puts "BUC60815 OK: suitable except"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug106 b/tests/lowalgos/intss/bug106
new file mode 100644 (file)
index 0000000..031266e
--- /dev/null
@@ -0,0 +1,78 @@
+
+puts "================"
+puts "BUC61032"
+puts "OCC106"
+puts "================"
+puts ""
+
+restore [locate_data_file OCC106-1.draw] sh1 
+####          checkshape sh1 # - not a topological shape
+restore [locate_data_file OCC106-2.draw] sh2
+####          checkshape sh2 # - not a topological shape
+
+trimv s1 sh1 -1000 1000
+trimv s2 sh2 -1000 1000
+
+if [catch {intersect res s1 s2} result] {
+set mistake 1
+} else {
+set  mistake 0
+}
+
+if { $mistake == 0 } {
+ puts ""
+ set nom 0
+   set j 1
+   repeat 10 {
+     set che [whatis res_$j]
+      set che1 [whatis res_$j]
+       set err [lindex $che [expr [llength $che] - 1]]
+        set err1 [lindex $che1 [expr [llength $che1] - 2]]
+
+          if { $err != "curve" && $err1 != "3d"} {
+               break
+              } else {
+              set nom [expr $nom + 1]
+              }
+    incr j}
+ if { $nom == 0} {
+    puts "1) Faulty OCC106: Intersection was made WRONGLY"
+} else {
+  puts [format "1) OCC106 OK : Intersection command works properly: %s curves" $nom]
+  puts ""
+} 
+} else {
+    puts "1) Faulty OCC106: Intersection was made WRONGLY"
+}
+
+if [catch {intersect rrs sh1 sh2} result] {
+set mistake 1
+} else {
+set  mistake 0
+}
+
+if { $mistake == 0 } {
+ puts ""
+ set nom 0
+   set j 1
+   repeat 10 {
+     set che [whatis rrs_$j]
+      set che1 [whatis rrs_$j]
+       set err [lindex $che [expr [llength $che] - 1]]
+        set err1 [lindex $che1 [expr [llength $che1] - 2]]
+
+          if { $err != "curve" && $err1 != "3d"} {
+               break
+              } else {
+              set nom [expr $nom + 1]
+              }
+    incr j}
+ if { $nom == 0} {
+    puts "2) Faulty OCC106: Intersection was made WRONGLY"
+} else {
+  puts [format "2) OCC106 OK : Intersection command works properly: %s curves" $nom]
+}
+} else {
+    puts "2) Faulty OCC106: Intersection was made WRONGLY"
+}
+
diff --git a/tests/lowalgos/intss/bug139 b/tests/lowalgos/intss/bug139
new file mode 100644 (file)
index 0000000..957a3c2
--- /dev/null
@@ -0,0 +1,25 @@
+puts "================"
+puts "OCC139"
+puts "================"
+puts ""
+#######################################
+## The intersection must be closed . So the curve is wrong.
+#######################################
+
+restore [locate_data_file OCC139-1.draw] sh1 
+restore [locate_data_file OCC139-2.draw] sh2
+
+if { ![catch {intersect result sh1 sh2} catch_result] } {
+    puts "OCC139 OK : intersection found"
+    regexp { nb alone Vertices : +([-0-9.+eE]+)} [checksection result] full num
+    if { $num != 0 } {
+       puts "Faulty OCC139: Intersection was made WRONGLY. The curve must be closed ."
+    } else {
+       puts "OCC139 OK : Intersection command works properly. The curve is closed"
+    }
+} else {
+    puts "Faulty OCC139 : NO intersection found"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug20524 b/tests/lowalgos/intss/bug20524
new file mode 100644 (file)
index 0000000..ae86c3c
--- /dev/null
@@ -0,0 +1,22 @@
+puts "========================"
+puts "OCC20524"
+puts "========================"
+puts ""
+#######################################################################
+# Wrong intersection
+#######################################################################
+
+set BugNumber OCC20524
+
+restore [locate_data_file OCC20524-surf1.draw] surf1 
+restore [locate_data_file OCC20524-surf2.draw] surf2 
+
+intersect result surf1 surf2
+
+set che [whatis result]
+if { ![regexp {3d curve} $che] } {
+    puts "Faulty ${BugNumber}: command INTERSECT works wrongly"
+} else {
+  puts "${BugNumber} OK : command INTERSECT works properly"
+}
+
diff --git a/tests/lowalgos/intss/bug20766 b/tests/lowalgos/intss/bug20766
new file mode 100644 (file)
index 0000000..fe634b3
--- /dev/null
@@ -0,0 +1,34 @@
+pload QAcommands
+
+puts "============"
+puts "OCC20766"
+puts "============"
+puts ""
+#######################################################################
+# Intersection of cone with plane in apex point crashes
+#######################################################################
+
+set BugNumber OCC20766
+
+OCC20766 plane 1 0 0 3522.4299999999998
+
+set x -3522.4299999999998
+set y 2540
+set z -1461.4300000000001
+set dx 5449.7857099692965
+set dy 0
+set dz 5537.6938973109054
+set PI180 0.017453292519943295
+set semi-angle [expr 0.46689346637921703 / ${PI180}]
+set radius 0.
+
+cone c ${x} ${y} ${z} ${dx} ${dy} ${dz} ${semi-angle} ${radius}
+
+if [catch { intersect result plane c } ] {
+  puts "Faulty ${BugNumber} : intersect is wrong"
+} else {
+  puts "OK ${BugNumber}"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug21494 b/tests/lowalgos/intss/bug21494
new file mode 100644 (file)
index 0000000..f91ce16
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC21494 ALL: Error: Intersection between cone and sphere fails"
+
+puts "========"
+puts "OCC21494"
+puts "========"
+puts ""
+############################################
+# Intersection between cone and sphere fails
+############################################
+
+pcone c 15 0 10
+psphere s 10
+explode c f
+explode s f
+mksurface sc c_1
+mksurface ss s_1
+
+intersect i sc ss
+
+if { [info exist i_1] == 0 } {
+  puts "Error: Intersection between cone and sphere fails"
+}
diff --git a/tests/lowalgos/intss/bug21750 b/tests/lowalgos/intss/bug21750
new file mode 100644 (file)
index 0000000..b0fe0d1
--- /dev/null
@@ -0,0 +1,26 @@
+puts "============"
+puts "OCC21750"
+puts "============"
+puts ""
+##################################
+#  Intersection of two cylindrical surfaces fails
+##################################
+
+cylinder c1 1031.3339148728076 -113.25868616662650 56.152387686082520 -0.86602540378443815 0.50000000000000089 0.0 -0.50000000000000089 -0.86602540378443815 0.0 76.499999999999986
+cylinder c2 1017.0706583606553 -103.24955863669388 56.152387686082548 0.86602540378443915 -0.49999999999999933 0.0 0.49999999999999933 0.86602540378443915 0.0 76.499999999999986
+
+if { [catch {set info [intersect r c1 c2 1e-7]} catch_result] } {
+    puts "Error: The intersection of two cylindrical surfaces causes an exception"
+}
+
+# Number of solutions check. 
+# There should be only 2 solution.
+if {[llength $info] != 2} {
+  Error: Incorrect number of solutions.
+} 
+
+smallview
+
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug22720 b/tests/lowalgos/intss/bug22720
new file mode 100644 (file)
index 0000000..bca0d27
--- /dev/null
@@ -0,0 +1,20 @@
+puts "============"
+puts "OCC22720"
+puts "============"
+puts ""
+#######################################################################
+# Wrong intersection point for the case of intersection between sphere and plane
+#######################################################################
+
+set BugNumber OCC22720
+
+restore [locate_data_file OCC22720-f1.brep] f1 
+restore [locate_data_file OCC22720-f2.brep] f2 
+
+mksurface s1 f1
+mksurface s2 f2
+
+trim s1t s1 0 2 0 2
+intersect result s1t s2
+
+checkview -display result -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug22723 b/tests/lowalgos/intss/bug22723
new file mode 100644 (file)
index 0000000..5fe0cf1
--- /dev/null
@@ -0,0 +1,32 @@
+puts "============"
+puts "OCC22723"
+puts "============"
+puts ""
+#######################################################################
+# Wrong intersection curve for the case of intersection between cylinder and plane
+#######################################################################
+
+set BugNumber OCC22723 
+
+restore [locate_data_file bug22723_fz44.brep] b1 
+restore [locate_data_file bug22723_fz7.brep] b2 
+mksurface s1 b1
+mksurface s2 b2
+intersect result s1 s2
+
+regexp {Parameters : ([-0-9.+eE]+) ([-0-9.+eE]+)} [dump result] full a1 a2
+set status 0
+
+if { ${a1}>=0 } {
+    if { ${a2}<6.29 } {
+       set status 1
+    }
+}
+
+if { ${status}==1 } {
+    puts "OK ${BugNumber}"
+} else {
+    puts "Faulty ${BugNumber}"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug22766 b/tests/lowalgos/intss/bug22766
new file mode 100644 (file)
index 0000000..73118ab
--- /dev/null
@@ -0,0 +1,15 @@
+puts "============"
+puts "CR22766"
+puts "============"
+puts ""
+#####################################################################################################################
+# Wrong results done by several algorithms for the case of intersection between a surface of revolution and a plane
+#####################################################################################################################
+
+restore [locate_data_file bug22766_f1] f1
+restore [locate_data_file bug22766_f2] f2
+
+mksurface s1 f1
+mksurface s2 f2
+
+intersect result s1 s2
diff --git a/tests/lowalgos/intss/bug22851 b/tests/lowalgos/intss/bug22851
new file mode 100644 (file)
index 0000000..a02d0d1
--- /dev/null
@@ -0,0 +1,29 @@
+puts "============"
+puts "OCC22851"
+puts "============"
+puts ""
+#######################################################################
+# No intersection curve between two surfaces
+#######################################################################
+
+set BugNumber OCC22851
+
+restore [locate_data_file bug22851_fz1.brep] b1 
+restore [locate_data_file bug22851_fz8.brep] b2 
+mksurface s1 b1
+mksurface s2 b2
+intersect i s1 s2
+
+set dump_info  [dump i]
+
+set lst [split ${dump_info}]
+set dump_length [llength $lst]
+
+set find_BSCurve [regexp {BSplineCurve} $dump_info]
+set find_Degree_Poles_Knots [regexp {Degree +[-0-9.+eE]+, +[-0-9.+eE]+ +Poles, +[-0-9.+eE]+ +Knots} $dump_info]
+
+if { $dump_length == 0 && !$find_BSCurve && !$find_Degree_Poles_Knots } {
+    puts "Faulty ${BugNumber}"
+} else {
+    puts "OK ${BugNumber}"
+}
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug22923 b/tests/lowalgos/intss/bug22923
new file mode 100644 (file)
index 0000000..024e571
--- /dev/null
@@ -0,0 +1,28 @@
+puts "============"
+puts "OCC22923"
+puts "============"
+#######################################################################
+# The command "intersect" throws an exception
+#######################################################################
+
+set BugNumber OCC22923
+
+restore [locate_data_file bug22923_Face-2_7.brep] b1 
+restore [locate_data_file bug22923_Face-7_0.brep] b2 
+
+set exception_status 0
+
+mksurface s1 b1
+mksurface s2 b2
+
+set msg [ intersect i s1 s2 ]
+set index [ lsearch $msg Exception ]
+
+if {$index > -1} {
+  set exception_status 1 }   
+
+if { ${exception_status} != 0 } {
+   puts "Faulty ${BugNumber}"
+} else {
+   puts "OK ${BugNumber}"
+}
diff --git a/tests/lowalgos/intss/bug23163_1 b/tests/lowalgos/intss/bug23163_1
new file mode 100644 (file)
index 0000000..4840526
--- /dev/null
@@ -0,0 +1,28 @@
+puts "TODO OCC23163 ALL: Error: No resulting circle of radius 5 at the intersection of tori, only b-splines"
+
+puts "================"
+puts "OCC23163"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of tori fails to produce results
+#######################################################################
+
+torus t1 20 5
+torus t2 40 0 0 20 5
+
+intersect result t1 t2
+
+set NbCurv [llength [directory result*]]
+
+if { $NbCurv > 4 } {
+  puts "OK: Number of curves is good"
+} else {
+  puts "Error: No resulting circle of radius 5 at the intersection of tori, only b-splines"
+}
+
+smallview
+donly result*
+fit
+display t1 t2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23163_2 b/tests/lowalgos/intss/bug23163_2
new file mode 100644 (file)
index 0000000..a487b7f
--- /dev/null
@@ -0,0 +1,28 @@
+puts "TODO OCC23163 ALL: Error: No resulting circle at the intersection of tori, only b-splines"
+
+puts "================"
+puts "OCC23163"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of tori fails to produce results
+#######################################################################
+
+restore [locate_data_file bug23163_surface1_draw_b.draw] s1
+restore [locate_data_file bug23163_surface2_draw_b.draw] s2
+
+intersect result s1 s2
+
+set NbCurv [llength [directory result*]]
+
+if { $NbCurv > 6 } {
+  puts "OK: Number of curves is good"
+} else {
+  puts "Error: No resulting circle at the intersection of tori, only b-splines"
+}
+
+smallview
+donly result*
+fit
+display s1 s2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23163_3 b/tests/lowalgos/intss/bug23163_3
new file mode 100644 (file)
index 0000000..3b1a86a
--- /dev/null
@@ -0,0 +1,28 @@
+puts "TODO OCC23163 ALL: Error: No resulting circle at the intersection of tori, only b-splines"
+
+puts "================"
+puts "OCC23163"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of tori fails to produce results
+#######################################################################
+
+restore [locate_data_file bug23163_surface1_draw_b.draw] ss1
+restore [locate_data_file bug23163_surface2_draw_b.draw] ss2
+
+intersect result ss1 ss2
+
+set NbCurv [llength [directory result*]]
+
+if { $NbCurv > 6 } {
+  puts "OK: Number of curves is good"
+} else {
+  puts "Error: No resulting circle at the intersection of tori, only b-splines"
+}
+
+smallview
+donly result*
+fit
+display ss1 ss2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23166 b/tests/lowalgos/intss/bug23166
new file mode 100644 (file)
index 0000000..f6e698d
--- /dev/null
@@ -0,0 +1,32 @@
+puts "================"
+puts "OCC23166"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of plane and cone produces wrong result
+#######################################################################
+
+restore [locate_data_file bug23166_surface1_draw.draw] s1
+restore [locate_data_file bug23166_surface2_draw.draw] s2
+
+intersect result s1 s2
+
+set log [dump result_1]
+if { [regexp {Parameters} ${log}] } {
+  puts "Error: untrimmed first hyperbola"
+} else {
+  puts "OK: untrimmed first hyperbola"
+}
+
+set log [dump result_2]
+if { [regexp {Parameters} ${log}] } {
+  puts "Error: untrimmed second hyperbola"
+} else {
+  puts "OK: untrimmed second hyperbola"
+}
+
+smallview
+donly result*
+fit
+display s1 s2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23176 b/tests/lowalgos/intss/bug23176
new file mode 100644 (file)
index 0000000..614eaf8
--- /dev/null
@@ -0,0 +1,61 @@
+puts "================"
+puts "OCC23176"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of cylinder and cone produces open curve
+#######################################################################
+
+restore [locate_data_file bug23176_surface1_draw.draw] s1
+restore [locate_data_file bug23176_surface2_draw.draw] s2
+
+intersect result s1 s2
+
+set che [whatis result]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "result" exists
+  renamevar result result_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  set che [whatis result_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeat 0
+  } else {
+   
+    bounds result_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-20} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs result_$ic s1 U1 U2 10 2.0e-7
+    xdistcs result_$ic s2 U1 U2 10 2.0e-7
+    
+    mkedge ee result_$ic
+    baddobjects ee
+    incr ic
+  }
+}
+
+# Check gaps in result
+bfillds
+bbuild rw
+
+checksection rw -r 0
+checkmaxtol rw -min_tol 2.0e-7
+
+checknbshapes rw -edge 4 -vertex 4
+
+smallview
+don result*
+fit
+display s1 s2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23177_1 b/tests/lowalgos/intss/bug23177_1
new file mode 100644 (file)
index 0000000..17efcb1
--- /dev/null
@@ -0,0 +1,58 @@
+puts "========"
+puts "OCC23177"
+puts "========"
+puts ""
+####################################################################
+# Intersection of plane and torus misses a result and never produces analytical result
+####################################################################
+
+set GoodNbCurv 2
+
+torus s1 100 10
+plane s2 0 0 0 0 1 0
+intersect res s1 s2
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+    break;
+  } else {
+    if { ![regexp "Circle" [dump res_$ic]] } {
+      puts "Error: Intersection result must be circle"
+    }
+    
+    bounds res_$ic U1 U2
+    
+    checkreal CurveBoundaries [dval U2-U1] [dval 2*pi] 1.0e-10 0.0
+    
+    xdistcs res_$ic s1 U1 U2 10 1.0e-7
+    xdistcs res_$ic s2 U1 U2 10 1.0e-7
+    incr ic    
+  }  
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
+}
+  
+  
+smallview
+don res_*
+fit
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug23177_2 b/tests/lowalgos/intss/bug23177_2
new file mode 100644 (file)
index 0000000..12f1991
--- /dev/null
@@ -0,0 +1,58 @@
+puts "========"
+puts "OCC23177"
+puts "========"
+puts ""
+####################################################################
+# Intersection of plane and torus misses a result and never produces analytical result
+####################################################################
+
+set GoodNbCurv 2
+
+torus s1 100 10
+plane s2  0 0 0 1 0 0
+intersect res s1 s2
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+    break;
+  } else {
+    if { ![regexp "Circle" [dump res_$ic]] } {
+      puts "Error: Intersection result must be circle"
+    }
+    
+    bounds res_$ic U1 U2
+    
+    checkreal CurveBoundaries [dval U2-U1] [dval 2*pi] 1.0e-10 0.0
+    
+    xdistcs res_$ic s1 U1 U2 10 1.0e-7
+    xdistcs res_$ic s2 U1 U2 10 1.0e-7
+    incr ic    
+  }  
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
+}
+  
+  
+smallview
+don res_*
+fit
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug23178 b/tests/lowalgos/intss/bug23178
new file mode 100644 (file)
index 0000000..a16ee98
--- /dev/null
@@ -0,0 +1,43 @@
+puts "================"
+puts "OCC23178"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of cylinders fails to produce results
+#######################################################################
+
+set GoodNbCurv 6
+
+foreach c [directory result*] {
+  unset $c
+}
+
+cylinder s1 4.999999999813, 1.35836143386791, 0.20975890778078 -1, 0, 0 0, 0, 1 10
+cylinder s2 9.999999999813, 9.1401960568287, 0.11837300583107 0, -0.75870713028692, 0.651431877061437 0, -0.651431877061437, -0.75870713028692 5 
+
+intersect result s1 s2
+
+foreach c [directory result*] {
+  bounds $c U1 U2
+  
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  xdistcs $c s1 U1 U2 10 2.0e-7
+  xdistcs $c s2 U1 U2 10 2.0e-7    
+}
+
+set NbCurv [llength [directory result*]]
+
+if { $NbCurv == $GoodNbCurv } {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
+}
+
+smallview
+don result*
+fit
+disp s1 s2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23218 b/tests/lowalgos/intss/bug23218
new file mode 100644 (file)
index 0000000..f76240a
--- /dev/null
@@ -0,0 +1,26 @@
+puts "TODO OCC25597 ALL: Error: Reached tolerance"
+puts "============"
+puts "OCC23218"
+puts "============"
+puts ""
+#######################################################################
+# Wrong value of tolerance for the intersection curve.
+#######################################################################
+
+set BugNumber OCC23218
+
+puts "Load first shape ..."
+restore [locate_data_file bug23218_b1] b1 
+
+puts "Load second shape ..."
+restore [locate_data_file bug23218_b4] b2 
+
+puts "Start project operation ..."
+set result [bopcurves b1 b2]
+puts $result
+puts "Finish project operation ..."
+
+set GoodToleranceReached 6.3315853638232248e-007
+regexp {Tolerance Reached=([-0-9.+eE]+)} $result full ToleranceReached
+
+checkreal "Reached tolerance" ${ToleranceReached} ${GoodToleranceReached} 0 0.001
diff --git a/tests/lowalgos/intss/bug23471 b/tests/lowalgos/intss/bug23471
new file mode 100644 (file)
index 0000000..97eab65
--- /dev/null
@@ -0,0 +1,63 @@
+puts "TODO OCC26190 ALL: Error: Curve Number is bad"
+puts "TODO OCC26190 ALL: Error: Length of intersection line is bad!"
+
+puts "============"
+puts "CR23471"
+puts "============"
+puts ""
+#######################################################################
+# Intersection algorithm produces overlapping intersection curves
+#######################################################################
+
+# Attention!!!!
+# Change these values is strictly forbidden (see bug #26190)
+set GoodNbCurv 1
+set GoodLength 79655.615367318111
+
+restore [locate_data_file OCC22790-cx.brep] b
+
+explode b
+mksurface s1 b_1
+mksurface s2 b_3
+intersect res s1 s2
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  copy res res_1
+}
+
+set SumLength 0
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    set log [length res_$ic]
+    set exp_string "The length res_$ic is +(\[-0-9.+eE\]+)"
+    regexp ${exp_string} ${log} full len
+    set SumLength [expr $SumLength+$len]
+
+    incr ic
+  }
+}
+
+set NbCurv [expr {$ic - 1}]
+if {$NbCurv == $GoodNbCurv} {
+  puts "OK: Curve Number is good!"
+} else {
+  puts "Error: Curve Number is bad ($NbCurv curve(s) found, but $GoodNbCurv expected)!"
+}
+
+if { abs($SumLength - $GoodLength) < 0.01*$GoodLength } {
+  puts "OK: Length of intersection line is good!"
+} else {
+  puts "Error: Length of intersection line is bad!"
+  puts "Expected length is: $GoodLength"
+  puts "Found length is:    $SumLength"
+}
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug23576 b/tests/lowalgos/intss/bug23576
new file mode 100644 (file)
index 0000000..d77f252
--- /dev/null
@@ -0,0 +1,33 @@
+puts "============"
+puts "OCC23576"
+puts "============"
+puts ""
+#######################################################################
+# Intersection algorithm produces trimmed circle with illegal parametric range.
+#######################################################################
+
+restore [locate_data_file bug23576_ff_b1_4_z564.brep] b1
+
+explode b1
+bopcurves b1_1 b1_2
+copy c_1 result
+
+set log [dump result]
+
+regexp {Parameters : +([-0-9.+eE]+) +([-0-9.+eE]+)} ${log} full rc1 rc2
+puts "rc1=${rc1}"
+puts "rc2=${rc2}"
+set 2_PI [expr 2. * 2. * asin(1.0)]
+puts "2_PI=${2_PI}"
+puts ""
+
+if {${rc1} < 0.} {
+  puts "Error: Bad value of parametric range rc1"
+} else {
+  puts "Good value of parametric range rc1"
+}
+if {${rc2} < ${2_PI}} {
+  puts "Error: Bad value of parametric range rc2"
+} else {
+  puts "Good value of parametric range rc2"
+}
diff --git a/tests/lowalgos/intss/bug236 b/tests/lowalgos/intss/bug236
new file mode 100644 (file)
index 0000000..9c16476
--- /dev/null
@@ -0,0 +1,40 @@
+puts "TODO OCC12345 ALL: Faulty OCC236"
+
+puts "================"
+puts "OCC236"
+puts "================"
+puts ""
+#######################################################
+##Result of intersection of two surfaces of linear extrusion is incorrect.
+#######################################################
+
+restore [locate_data_file OCC236a.rle] su1 
+############### checkshape su1 # is not a topological shape
+restore [locate_data_file OCC236b.rle] su2
+############### checkshape su2 # is not a topological shape
+
+intersect result su1 su2
+
+set che [directory]
+set err [lindex $che [expr [llength $che] - 1]]
+if { $err != "result_2"} {
+    puts "Faulty OCC236"
+} else {
+    puts "OCC236 OK (first checking) : Intersection command works properly"
+    regexp {nb +alone +Vertices +: +([-0-9.+eE]+)} [checksection result_1] full num
+    if { $num != 0 } {
+       puts " Faulty OCC236 (second checking): Result result_1 is UNclosed !!! " 
+    } else {
+       puts " OCC236 OK (second checking): Result result_1 is closed !!! " 
+        puts ""
+    }
+    regexp {nb +alone +Vertices +: +([-0-9.+eE]+)} [checksection result_2] full num
+    if { $num != 0 } {
+       puts " Faulty OCC236 (second checking): Result result_2 is UNclosed !!! " 
+    }  else {
+       puts " OCC236 OK (second checking): Result result_2 is closed !!! " 
+    }
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug23643 b/tests/lowalgos/intss/bug23643
new file mode 100644 (file)
index 0000000..18d74e4
--- /dev/null
@@ -0,0 +1,29 @@
+puts "========================"
+puts "OCC23643"
+puts "========================"
+puts ""
+#######################################################################
+# Intersection algorithm produces B-Spline curve in case of coaxial cones
+#######################################################################
+
+restore [locate_data_file bug23643_qf3.brep] b
+
+explode b
+copy b_1 f1
+copy b_2 f2
+
+mksurface s1 f1
+mksurface s2 f2
+
+trim s1t s1 0 2*pi -18 10
+trim s2t s2 0 2*pi -18 10
+
+intersect result s1t s2t
+
+set log [dump result]
+
+if {[regexp {Trimmed +curve} ${log}]} {
+  puts "Intersection algorithm work OK"
+} else {
+  puts "Error: Intersection algorithm work bad"
+}
diff --git a/tests/lowalgos/intss/bug23644 b/tests/lowalgos/intss/bug23644
new file mode 100644 (file)
index 0000000..b4fd0ca
--- /dev/null
@@ -0,0 +1,20 @@
+puts "========"
+puts "CR23644"
+puts "========"
+
+##########################################
+## Intersection between coaxial cones produces exception
+##########################################
+
+pcone cn1 10 0 20
+pcone cn2 20 0 20
+explode cn1 f
+explode cn2 f
+copy cn1_1 f1
+copy cn2_1 f2
+
+if [catch {bopcurves f1 f2} BOPLog] {
+   if { [regexp "Tolerance Reached=0\n has no 3d curve" ${BOPLog}] != 1 } {
+      puts "CR23644: Error"
+   }
+} 
diff --git a/tests/lowalgos/intss/bug23699 b/tests/lowalgos/intss/bug23699
new file mode 100644 (file)
index 0000000..873dff1
--- /dev/null
@@ -0,0 +1,18 @@
+puts "========="
+puts "CR23699"
+puts "========="
+puts ""
+###############################
+## Exception reaised during intersection between two surfaces
+###############################
+
+restore [locate_data_file bug23699_Compound_sigsegv.brep] b1
+
+explode b1 f
+
+mksurface s1 b1_1
+mksurface s2 b1_2
+
+intersect result s1 s2
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug237 b/tests/lowalgos/intss/bug237
new file mode 100644 (file)
index 0000000..cdfb9c8
--- /dev/null
@@ -0,0 +1,27 @@
+puts "================"
+puts "OCC237"
+puts "================"
+puts ""
+#######################################################
+## Hang-ups during the intersection of attached surfaces
+#######################################################
+
+restore [locate_data_file OCC236b.rle] su1 
+############### checkshape su1 # is not a topological shape
+restore [locate_data_file OCC237b.rle] su2
+############### checkshape su2 # is not a topological shape
+
+if [catch {intersect result su1 su2 }] {
+    set mistake 1
+} else {
+    set mistake 0
+}
+
+if { $mistake != 0} {
+    puts "Faulty OCC237: Intersection was made WRONGLY"
+} else {
+    puts "OCC237 OK  : Intersection command works properly"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug23732 b/tests/lowalgos/intss/bug23732
new file mode 100644 (file)
index 0000000..91159d7
--- /dev/null
@@ -0,0 +1,17 @@
+puts "========="
+puts "CR23722"
+puts "========="
+puts ""
+###############################
+## Exception reaised during intersection between two surfaces
+###############################
+
+restore [locate_data_file bug23732_fx1.brep] b1
+restore [locate_data_file bug23732_fx2.brep] b2
+
+mksurface s1 b1
+mksurface s2 b2
+
+intersect result s1 s2
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23948_1 b/tests/lowalgos/intss/bug23948_1
new file mode 100644 (file)
index 0000000..e4bf6e9
--- /dev/null
@@ -0,0 +1,45 @@
+puts "========="
+puts "OCC23948"
+puts "========="
+puts ""
+###########################################################
+# Wrong intersection between a surface of revolution and a plane.
+###########################################################
+
+set MaxTol 1.0e-6
+set NbCurv_OK 2
+
+restore [locate_data_file bug22766_f1] f1
+restore [locate_data_file bug22766_f2] f2
+
+set log [bopcurves f1 f2 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${NbCurv} != ${NbCurv_OK}} {
+  puts "Error: ${NbCurv_OK} curve(s) expected, but ${NbCurv} found."
+}
+
+checkreal TolReached ${Toler} ${MaxTol} 0.0 0.1
+
+bclearobjects
+bcleartools
+
+for { set i 1 } { $i <= $NbCurv } { incr i } {
+  mkedge ee c_$i
+  baddobjects ee
+}
+
+if { $NbCurv > 1 } {
+  bfillds
+  bbuild rs
+  checksection rs -r 2
+  checkmaxtol rs -ref $MaxTol
+  checkprops rs -l 111.803
+}
+
+smallview
+don c_*
+fit
+disp f1 f2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23948_2 b/tests/lowalgos/intss/bug23948_2
new file mode 100644 (file)
index 0000000..26a2a44
--- /dev/null
@@ -0,0 +1,36 @@
+puts "========="
+puts "OCC23948"
+puts "========="
+puts ""
+###########################################################
+# Wrong intersection between a surface of revolution and a plane.
+###########################################################
+
+foreach a [directory c_*] {unset $a}
+
+restore [locate_data_file bug22766_f1] f1
+restore [locate_data_file bug22766_f2] f2
+
+mksurface s1 f1
+mksurface s2 f2
+
+set log [bopcurves f1 f2]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+for { set i 1 } { $i <= $NbCurv } { incr i } {
+  bounds c_$i U1 U2
+
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  xdistcs c_$i s1 0 1 10 2.0e-7
+  xdistcs c_$i s2 0 1 10 2.0e-7
+}
+
+smallview
+don c_*
+fit
+disp s1 s2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug23972 b/tests/lowalgos/intss/bug23972
new file mode 100644 (file)
index 0000000..b9d919b
--- /dev/null
@@ -0,0 +1,52 @@
+puts "=========="
+puts "OCC23972: Excep-tion thrown when intersecting two cones"
+puts "=========="
+puts ""
+
+pload QAcommands
+
+set GoodNbCurv 2
+
+OCC23972 s1 s2
+
+intersect res s1 s2
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeat 0
+  } else {
+   
+    bounds res_$ic U1 U2
+    
+    # Hyperbola is expected as intersection result.
+    # So, all bounds are adjusted to allow correct computation.
+    if { [dval U1] < -20.0 } { dset U1 -20.0 }
+    if { [dval U2] > 20.0 }  { dset U2 20.0 }
+    
+    if {[dval U2-U1] < 1.0e-20} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 10 3.0e-7
+    xdistcs res_$ic s2 U1 U2 10 3.0e-7
+    
+    incr ic
+  }
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: Number of curves is bad!"
+}
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug23981 b/tests/lowalgos/intss/bug23981
new file mode 100644 (file)
index 0000000..2c69254
--- /dev/null
@@ -0,0 +1,22 @@
+puts "========="
+puts "CR23981"
+puts "========="
+puts ""
+###############################
+## Wrong section curves
+###############################
+
+restore [locate_data_file bug23981_s1.draw] s1
+restore [locate_data_file bug23981_s2.draw] s2
+
+intersect i s1 s2
+
+puts "First test"
+xdistcs i_1 s1 0 1 100 1e-7
+
+puts "Second test"
+xdistcs i_2 s1 0 1 100 1e-7
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug24142 b/tests/lowalgos/intss/bug24142
new file mode 100644 (file)
index 0000000..d6b1985
--- /dev/null
@@ -0,0 +1,24 @@
+puts "================"
+puts "OCC24142"
+puts "================"
+puts ""
+#################################################################
+## Wrong section curve
+#################################################################
+
+restore [locate_data_file OCC152.brep] sh
+explode sh f
+
+mksurface s1 sh_3
+mksurface s2 sh_5
+
+trim st1 s1 0 6.28318530717959 0 74.9999999999999
+trim st2 s2 0 6.28318530717959 -74.0551172696384 125.944882730362
+
+intersect cur st1 st2
+
+if { [regexp -nocase "curve" [whatis cur]] } {
+  puts "Error: intersection curve is built while it should not"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug24299 b/tests/lowalgos/intss/bug24299
new file mode 100644 (file)
index 0000000..ec6ce1b
--- /dev/null
@@ -0,0 +1,22 @@
+puts "========="
+puts "CR24299"
+puts "========="
+puts ""
+###############################
+## Wrong section curve
+###############################
+
+restore [locate_data_file pro19653a.brep] b1
+restore [locate_data_file pro19653b.brep] b2
+
+explode b1 f
+explode b2 f
+mksurface s1 b1_1
+mksurface s2 b2_1
+intersect i s1 s2
+
+xdistcs i_2 s1 0 1 10 1e-5
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug24313 b/tests/lowalgos/intss/bug24313
new file mode 100644 (file)
index 0000000..5a27988
--- /dev/null
@@ -0,0 +1,14 @@
+puts "============"
+puts "OCC24313"
+puts "============"
+puts ""
+#######################################################################
+# BRepAlgoAPI_Section and IntTools_FaceFace aren't written to handle Geom_SurfaceOfLinearExtrusion
+#######################################################################
+
+circle c 0 0 0 0 0 1 1 0 0 100
+extsurf s1 c 0 0 1
+plane s2 0 0 0 1 0 0 0 1 0
+mkface b1 s1
+mkface b2 s2
+bopcurves b1 b2
diff --git a/tests/lowalgos/intss/bug24418_1 b/tests/lowalgos/intss/bug24418_1
new file mode 100644 (file)
index 0000000..6c05861
--- /dev/null
@@ -0,0 +1,25 @@
+puts "TODO OCC24418 ALL: Error in ii_2: T="
+
+puts "========"
+puts "OCC24418"
+puts "========"
+puts ""
+############################################################
+# Wrong section curves when intersecting analytical surfaces
+############################################################
+
+restore [locate_data_file OCC20964_revsolid.brep] b1 
+restore [locate_data_file OCC20964_sphere.brep] b2 
+
+explode b1 f; copy b1_7 b1
+explode b2 f; copy b2_1 b2
+mksurface s1 b1
+mksurface s2 b2
+trimv s1t s1 0 230.14184397163115
+
+intersect ii s1t s2
+
+bounds ii_2 u1 u2
+
+xdistcs ii_2 s1 u1 u2 10 2.0e-7
+xdistcs ii_2 s2 u1 u2 10 2.0e-7
diff --git a/tests/lowalgos/intss/bug24418_2 b/tests/lowalgos/intss/bug24418_2
new file mode 100644 (file)
index 0000000..c3c8001
--- /dev/null
@@ -0,0 +1,26 @@
+puts "TODO OCC24418 ALL: Error in ii_1: T="
+
+puts "========"
+puts "OCC24418"
+puts "========"
+puts ""
+############################################################
+# Wrong section curves when intersecting analytical surfaces
+############################################################
+
+ptorus b1 25 24 90
+plane p 20 20 10 0 0 1
+pcone b2 p 10 8 40
+explode b1 f; copy b1_1 b1
+explode b2 f; copy b2_1 b2
+mksurface s1 b1
+mksurface s2 b2
+trimu s1t s1 0 1.5707963267948966
+trimv s2t s2 0 40.049968789001575
+
+intersect ii s1t s2t
+
+bounds ii_1 u1 u2
+
+xdistcs ii_1 s1 u1 u2 10 2.0e-7
+xdistcs ii_1 s2 u1 u2 10 2.0e-7
diff --git a/tests/lowalgos/intss/bug24427_2 b/tests/lowalgos/intss/bug24427_2
new file mode 100644 (file)
index 0000000..7e6d03d
--- /dev/null
@@ -0,0 +1,31 @@
+puts "========="
+puts "CR24427"
+puts "========="
+puts ""
+###############################
+## Wrong section curves
+###############################
+
+restore [locate_data_file bug24427_b1.brep] b1
+restore [locate_data_file bug24427_b2.brep] b2
+
+mksurface s1 b1
+mksurface s2 b2
+
+trim s1t s1 0 3.1415926535897931 3.3684854563490672 3.9269908169872507
+trim s2t s2 0 3.1415926535897931 -1.0598124096115453e-015 0.013271150216666670
+
+intersect i s1t s2t
+don s1t s2t i
+
+puts "First test"
+xdistcs i s1 0 1 10 1e-7
+
+puts "Second test"
+xdistcs i s2 0 1 10 1e-7
+
+donly i s1t s2t
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug24429 b/tests/lowalgos/intss/bug24429
new file mode 100644 (file)
index 0000000..8386a6a
--- /dev/null
@@ -0,0 +1,59 @@
+puts "========"
+puts "OCC24429: Cylinder-torus intersection throws an ex-ception and produces no result"
+puts "========"
+puts ""
+
+puts "TODO OCC24429 ALL: Error: 0 vertices are expected but 2 are found."
+
+set GoodNbCurves 8
+
+restore [locate_data_file bug24429_s1.draw] s1
+restore [locate_data_file bug24429_s2.draw] s2
+
+intersect res s1 s2
+
+if { [info exists res] } {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  if { ![info exists res_$ic] } {
+    set AllowRepeat 0
+  } else {
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 2.0e-6
+    xdistcs res_$ic s2 U1 U2 100 2.0e-6
+    
+    mkedge ee res_$ic
+    baddobjects ee
+    
+    incr ic
+  }
+}
+
+# Check of gaps between intersection curves
+bfillds
+bbuild rs
+
+checknbshapes rs -edge $GoodNbCurves
+checksection rs -r 0
+
+smallview
+don res_*
+
+fit
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug24472 b/tests/lowalgos/intss/bug24472
new file mode 100644 (file)
index 0000000..83b6143
--- /dev/null
@@ -0,0 +1,79 @@
+puts "========="
+puts "CR24472"
+puts "========="
+puts ""
+###############################
+## Wrong section curves
+###############################
+
+puts "TODO OCC29501 ALL: Error in ii12_22"
+
+set MaxToler 1.5e-4
+
+restore [locate_data_file bug24472_Pipe_1.brep] b1
+
+explode b1 f
+copy b1_2 f1
+copy b1_3 f2
+copy b1_6 f3
+mksurface s1 f1
+mksurface s2 f2
+mksurface s3 f3
+
+puts ""
+puts "First test"
+# 1.1 geometry
+intersect ii12 s1 s2
+
+foreach c [directory ii12*] {
+  bounds $c U1 U2
+  
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  # cos(~75.5deg)
+  CheckLoops $c 0.25
+  
+  xdistcs $c s1 U1 U2 10 $MaxToler
+  xdistcs $c s2 U1 U2 10 $MaxToler
+}
+
+puts ""
+puts "Second test"
+# 1.2 topology
+bsection r12 f1 f2
+bopcheck r12
+# OK
+
+regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance r12] full toler
+if { $toler > $MaxToler } { puts "Error: Tolerance of the section r12 is too large" }
+
+puts ""
+puts "Third test"
+# 2.1 geometry
+intersect ii13 s1 s3
+
+foreach c [directory ii13*] {
+  bounds $c U1 U2
+  
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  # cos(~75.5deg)
+  CheckLoops $c 0.25
+
+  xdistcs $c s1 U1 U2 10 $MaxToler
+  xdistcs $c s2 U1 U2 10 $MaxToler
+}
+
+puts ""
+puts "Fourth test"
+# 2.2 topology
+bsection r13 f1 f3
+bopcheck r13
+# OK
+
+regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance r13] full toler
+if { $toler > $MaxToler } { puts "Error: Tolerance of the section r13 is too large" }
diff --git a/tests/lowalgos/intss/bug24505 b/tests/lowalgos/intss/bug24505
new file mode 100644 (file)
index 0000000..83d686b
--- /dev/null
@@ -0,0 +1,20 @@
+puts "==========="
+puts "OCC24505"
+puts "==========="
+puts ""
+##############################################################
+# Wrong section curves between Cone and Cylinder with collinear axes
+##############################################################
+
+restore [locate_data_file bug24505_f1.brep] f1
+restore [locate_data_file bug24505_f2.brep] f2
+
+bopcurves f1 f2
+
+set info [dump c_1]
+
+if { [regexp "Circle" $info] != 1 } {
+    puts "Error : Wrong section curves"
+} else {
+    puts "OK : Good section curves"
+}
diff --git a/tests/lowalgos/intss/bug24585_1 b/tests/lowalgos/intss/bug24585_1
new file mode 100644 (file)
index 0000000..9c85984
--- /dev/null
@@ -0,0 +1,67 @@
+puts "========="
+puts "OCC24585"
+puts "========="
+puts ""
+###########################################################
+# Wrong pcurve of the section curve
+###########################################################
+
+set NbCurv_OK 1
+
+restore [locate_data_file bug24585_b1.brep] b1
+restore [locate_data_file bug24585_b2.brep] b2
+
+mksurface s1 b1
+bounds s1 U1f_exp U1l_exp V1f_exp V1l_exp
+
+set log [bopcurves b1 b2 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${NbCurv} != ${NbCurv_OK}} {
+  puts "Error: ${NbCurv_OK} curve(s) expected, but ${NbCurv} found."
+}
+
+if { ${Toler} > 5.e-5} {
+   puts "Error: bad tolerance of result"
+}
+
+bounds c2d1_1 U1 U2
+2dcvalue c2d1_1 U1 U_begin V_begin
+2dcvalue c2d1_1 U2 U_end V_end
+
+#Theoretically, c2d1_1 must cover U-diapason of surface s1 fully.
+
+set delta_f [dval U1f_exp-U_begin]
+
+#ATTENTION!!! U_begin must be strictly equal U1f_exp (without any tolerance)
+if {${delta_f} != 0} {
+  puts "Error: Bad value. U_begin = [dval U_begin], Ufirst = [dval U1f_exp]."
+} else {
+  puts "OK: Good value. U_begin matches with Ufirst of surface."
+}
+
+puts ""
+
+set delta_l [dval U1l_exp-U_end]
+
+#ATTENTION!!! U_end must be strictly equal U1l_exp (without any tolerance)
+if {${delta_l} != 0} {
+  puts "Error: Bad value. U_end = [dval U_end], Ulast = [dval U1l_exp]."
+} else {
+  puts "OK: Good value. U_end matches with Ulast of surface."
+}
+
+puts ""
+puts "Check if tangents in first and last point of line have the same directions"
+
+#See bug#26752
+cvalue c_1 U1 xx yy zz dx1 dy1 dz1
+cvalue c_1 U2 xx yy zz dx2 dy2 dz2
+
+set DP [dval dx1*dx2+dy1*dy2+dz1*dz2]
+if {${DP} < 0} {
+  puts "Error: Tangents are reversed. Bug 26752 is reproduced."
+} else {
+  puts "OK: Tangents are not reversed."
+}
diff --git a/tests/lowalgos/intss/bug24612 b/tests/lowalgos/intss/bug24612
new file mode 100644 (file)
index 0000000..6a3357b
--- /dev/null
@@ -0,0 +1,82 @@
+puts "========="
+puts "OCC24612"
+puts "========="
+puts ""
+###########################################################
+# Wrong pcurve of the section curve
+###########################################################
+
+set MaxTol 7.0e-5
+set NbCurv_OK 1
+restore [locate_data_file bug24612_b1.brep] b1
+restore [locate_data_file bug24612_b2.brep] b2
+
+mksurface s1 b1
+bounds s1 U1f_exp U1l_exp V1f_exp V1l_exp
+
+dval U1f_exp
+dval U1l_exp
+dval V1f_exp
+dval V1l_exp
+
+set log [bopcurves b1 b2 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${NbCurv} != ${NbCurv_OK}} {
+  puts "Error: ${NbCurv_OK} curve(s) expected, but ${NbCurv} found."
+}
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+#Theoretically, c2d1_1 must cover V-diapason of surface s1 fully.
+
+set log [dump c2d1_1]
+
+regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
+puts "Degree=${Degree}"
+puts "Poles=${Poles}"
+puts "KnotsPoles=${KnotsPoles}"
+puts ""
+
+set Pole 1
+set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
+regexp ${exp_string} ${log} full U_begin V_begin
+
+puts "Pole=${Pole}"
+puts "U_begin=${U_begin}"
+puts "V_begin=${V_begin}"
+dset V_begin ${V_begin}
+puts ""
+
+set Pole ${Poles}
+set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
+regexp ${exp_string} ${log} full U_end V_end
+
+puts "Pole=${Pole}"
+puts "U_end=${U_end}"
+puts "V_end=${V_end}"
+dset V_end ${V_end}
+puts ""
+
+set delta_f [dval V1l_exp-V_begin]
+
+#ATTENTION!!! V_begin must be strictly equal V1l_exp (without any tolerance)
+if {${delta_f} != 0} {
+  puts "Error: Bad value. V_begin = [dval V_begin], Vlast = [dval V1l_exp]."
+} else {
+  puts "OK: Good value. V_begin matches with Vlast of surface."
+}
+
+puts ""
+
+set delta_l [dval V1f_exp-V_end]
+
+#ATTENTION!!! V_end must be strictly equal V1f_exp (without any tolerance)
+if {${delta_l} != 0} {
+  puts "Error: Bad value. V_end = [dval V_end], Vfirst = [dval V1f_exp]."
+} else {
+  puts "OK: Good value. V_end matches with Vfirst of surface."
+}
diff --git a/tests/lowalgos/intss/bug24643 b/tests/lowalgos/intss/bug24643
new file mode 100644 (file)
index 0000000..0fedc97
--- /dev/null
@@ -0,0 +1,25 @@
+puts "================"
+puts "OCC24643"
+puts "================"
+puts ""
+#######################################################################
+# No section curve between plane and cone
+#######################################################################
+
+restore [locate_data_file bug24643_b1.brep] b1
+restore [locate_data_file bug24643_b2.brep] b2
+bopcurves b1 b2
+checklength c_1 -l 107.39085794960783
+
+set log [dump c_1]
+if {[regexp {Trimmed +curve} ${log}]} {
+  puts "OK: section curve is good"
+} else {
+  puts "Error: section curve is bad"
+}
+
+smallview
+donly c_1 b1 b2
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug24648 b/tests/lowalgos/intss/bug24648
new file mode 100644 (file)
index 0000000..8f6b7dc
--- /dev/null
@@ -0,0 +1,36 @@
+puts "==========="
+puts "OCC24648"
+puts "==========="
+puts ""
+##############################################################
+# Different types of intersection curves between Cone and Torus with a different order of arguments
+##############################################################
+
+cone s1 60 0
+torus s2 30 20
+
+intersect i1 s1 s2
+set info1 [dump i1_1]
+
+intersect i2 s2 s1
+set info2 [dump i2_1]
+
+set type_of_curve "Circle"
+
+if { [regexp ${type_of_curve} ${info1}] != 1 } {
+    puts "Error : Wrong type of intersection curve #1"
+} else {
+    puts "OK : Good type of intersection curve #1"
+}
+
+if { [regexp ${type_of_curve} ${info2}] != 1 } {
+    puts "Error : Wrong type of intersection curve #2"
+} else {
+    puts "OK : Good type of intersection curve #2"
+}
+
+smallview
+donly i1_1 i2_1
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug24650 b/tests/lowalgos/intss/bug24650
new file mode 100644 (file)
index 0000000..4b33f5f
--- /dev/null
@@ -0,0 +1,64 @@
+puts "==========="
+puts "OCC24650"
+puts "==========="
+puts ""
+##############################################################
+# Wrong intersection curves obtained for a surface of revolution and a plane.
+##############################################################
+
+set GoodNbCurv 1
+
+restore [locate_data_file bug24650_fz1365.brep] b1
+restore [locate_data_file bug24650_fz2495.brep] b2
+
+mksurface sb1 b1
+mksurface sb2 b2
+trimu sb1tu sb1 0.242 0.291
+
+clear
+
+set N [intersect res sb1tu sb2]
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    display res_$ic
+    
+    bounds res_$ic U1 U2
+    
+    dval U1
+    dval U2
+    
+    if {[dval U2-U1] < 1.0e-20} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic sb1tu U1 U2 10 1e-7    
+    xdistcs res_$ic sb2 U1 U2 10 1e-7
+    
+    incr ic
+  }
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Curve Number is good!"
+} else {
+  puts "Error: Curve Number is bad!"
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug24676 b/tests/lowalgos/intss/bug24676
new file mode 100644 (file)
index 0000000..4f5630c
--- /dev/null
@@ -0,0 +1,13 @@
+puts "========"
+puts "0024676: Wrong result done by intersection algorithm"
+puts "========"
+puts ""
+
+restore [locate_data_file bug24676_b2.brep] b2
+
+for {set i 1} { $i <= 6} {incr i} {
+  restore [locate_data_file bug24676_b1_${i}.brep] b1_$i
+  if {![regexp "no 3d curves\n has no 3d points" [ bopcurves b1_$i b2 ]]} {
+    puts "Error: Non-empty intersection result between b1_$i and b2, while empty is expected"
+  }
+}
diff --git a/tests/lowalgos/intss/bug24772 b/tests/lowalgos/intss/bug24772
new file mode 100644 (file)
index 0000000..fa20fad
--- /dev/null
@@ -0,0 +1,45 @@
+puts "========"
+puts "OCC24772"
+puts "========"
+puts ""
+################################################################
+# Intersection of cylinder and cone produces incorrect results
+################################################################
+
+restore [locate_data_file bug24772_s1.draw] s1
+restore [locate_data_file bug24772_s2.draw] s2
+
+smallview +X+Y
+fit
+zoom 6
+
+set bug_info [intersect r s1 s2]
+
+if {[llength $bug_info] != 4} {
+#  puts "ERROR: OCC24722 is reproduced."
+} else {
+  # snapshot r_1
+  clear
+  display s1
+  display s2
+  display r_1
+  xwd $imagedir/${casename}_r_1.png
+  # snapshot r_2
+  clear
+  display s1
+  display s2
+  display r_2
+  xwd $imagedir/${casename}_r_2.png
+  # snapshot r_3
+  clear
+  display s1
+  display s2
+  display r_3
+  xwd $imagedir/${casename}_r_3.png
+  # snapshot r_4
+  clear
+  display s1
+  display s2
+  display r_4
+  xwd $imagedir/${casename}_r_4.png
+}
diff --git a/tests/lowalgos/intss/bug24915 b/tests/lowalgos/intss/bug24915
new file mode 100644 (file)
index 0000000..2c25dd4
--- /dev/null
@@ -0,0 +1,50 @@
+puts "TODO OCC26927 ALL: Error: Tolerance is too big!"
+
+puts "========="
+puts "CR24915"
+puts "========="
+puts ""
+###############################
+## Wrong intersection curves between two cylinders
+###############################
+
+puts "##############################"
+puts "#!!!Searh \"Attention\" keyword on this web-page for additinal checking!!!"
+puts "##############################"
+
+restore [locate_data_file bug24915_ft2.brep] b1
+restore [locate_data_file bug24915_ft3.brep] b2
+
+# 1. topology
+bclearobjects
+bcleartools
+baddobjects b1 b2
+bfillds
+bbuild r
+checkshape r
+
+# 2. geometry
+set MaxTol 1.0e-7
+set GoodNBCurv 3
+
+set log [bopcurves b1 b2 -2d]
+
+if { ! [regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv] } {
+  puts "Error: Cannot find tolerance value in output of bopcurve command"
+}
+
+if { $NbCurv != $GoodNBCurv } {
+  puts "Error: Number of curves is wrong!"  
+}
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+smallview
+
+for {set i 1} {$i <= $GoodNBCurv} {incr i} {
+  donly b2 c_$i
+  fit
+  checkview -screenshot -2d -path ${imagedir}/${test_image}_$i.png
+}
diff --git a/tests/lowalgos/intss/bug25095 b/tests/lowalgos/intss/bug25095
new file mode 100644 (file)
index 0000000..e505648
--- /dev/null
@@ -0,0 +1,27 @@
+puts "============"
+puts "OCC25095"
+puts "============"
+puts ""
+#######################################################################
+# Wrong result obtained by projection algorithm
+#######################################################################
+
+restore [locate_data_file bug25095_fz639.brep] b1
+restore [locate_data_file bug25095_fz5075.brep] b2
+
+mksurface s1 b1
+bopcurves b1 b2
+
+trim ct1 c_1 0.79929107016766299 7.0824763773472492
+trim ct2 c_1 0.79929107016766343 7.0824763773472501
+
+project cp1 ct1 s1
+project cp2 ct2 s1
+checklength cp1 -l 7.2783309522
+checklength cp2 -l 7.2783309522
+
+#v2d2
+view 1 -2D-  728 20 400 400
+
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25193 b/tests/lowalgos/intss/bug25193
new file mode 100644 (file)
index 0000000..e401b25
--- /dev/null
@@ -0,0 +1,105 @@
+puts "TODO OCC27116 ALL: Error: Summary length  ="
+puts "TODO OCC27116 ALL: Error: 1 intersection curve\\(s\\) expected but"
+
+puts "================"
+puts "OCC25193"
+puts "================"
+puts ""
+#######################################################################
+# Bad Intersection curveobtained by Surface/Surface Intersection Algorithm.
+#######################################################################
+
+puts ""
+
+pload QAcommands
+
+set GoodNbCurv 1
+set GoodTol 3.6570868343352305e-005
+set NbControlPts 10
+
+restore [locate_data_file bug25193_s1t.draw] s1
+restore [locate_data_file bug25193_s4t.draw] s4
+
+#Ethalon of intersection curve
+bounds s1 us1 us2 vs1 vs2
+uiso cc s1 us1
+
+regexp {is ([-0-9.+eE]+)} [length cc 1.0e-4] full ExpLength
+puts "Expected length = $ExpLength"
+
+intersect res s1 s4 $GoodTol
+set che [whatis res]
+set ind [string first "3d curve" $che]
+
+set AllowRepeate 1
+set ic 1
+
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+set SumLength 0
+
+while { $AllowRepeate != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+    break
+  }
+  
+  for {set jc 1} {$jc < $ic} {incr jc} {
+    mkedge e1 res_$ic
+    mkedge e2 res_$jc
+    set coe [checkoverlapedges e1 e2]
+
+    puts "res_$ic <-> res_$jc: $coe"
+    if { [regexp "Edges is not overlaped" $coe] != 1 } {
+      puts "Error: Overlapped intersection curves"
+    }
+  }
+
+  regexp {is ([-0-9.+eE]+)} [length res_$ic 1.0e-4] full ll
+
+  set SumLength [ expr $SumLength+$ll ]
+  
+  bounds res_$ic U1 U2
+  
+  set step [ dval (U2-U1)/$NbControlPts ]
+  
+  if { $step < 1.0e-9*$NbControlPts } {
+    puts "Error: Wrong curve's range!"
+  }
+
+  set DPPrev 0
+  for {set par [dval U1]} {$par <= [dval U2]} {set par [expr $par+$step]} {
+    cvalue res_$ic $par xx yy zz dx1 dy1 dz1
+    regexp " parameter 1 = +(\[-0-9*\.+eE\]+)" [proj cc xx yy zz] full cpar
+    cvalue cc $cpar xx yy zz dx2 dy2 dz2
+    
+    set DP [dval dx1*dx2+dy1*dy2+dz1*dz2]
+    
+    if {$DPPrev*$DP < 0.0} {
+      puts "Error: Curve res_$ic changes its direction"
+    }
+    
+    set DPPrev $DP
+  }
+  
+  incr ic
+}
+  
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Good number of intersection curve(s) obtained by Surface/Surface Intersection Algorithm"
+} else {
+  puts "Error: $GoodNbCurv intersection curve(s) expected but [expr {$ic - 1}] found"
+}
+
+checkreal "Summary length " ${SumLength} $ExpLength 0.0 1.0e-6
+
+smallview
+donly res_* s1 s4
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25224 b/tests/lowalgos/intss/bug25224
new file mode 100644 (file)
index 0000000..6937dd2
--- /dev/null
@@ -0,0 +1,37 @@
+puts "================"
+puts "OCC25224"
+puts "================"
+puts ""
+#######################################################################
+# The section curve between two cylindrical faces is incomplete
+#######################################################################
+
+restore [locate_data_file bug25224_Input_5.brep]  b1
+restore [locate_data_file bug25224_Input_21.brep] b2
+
+# 1. bopcurves
+explode b1 f
+explode b2 f
+
+set log [bopcurves b1_1 b2_1]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+set MaxTol 1.e-7
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+checklength c_1 -l 0.52377379499528021
+
+# 2. BOP
+bclearobjects
+bcleartools
+baddobjects b1
+baddtools b2
+bfillds
+bbuild result
+
+checkprops result -s 21.4983 
+checkshape result
+
+checknbshapes result -vertex 10 -edge 19 -wire 13 -face 13 -shell 3 -solid 3 -compsolid 0 -compound 1 -shape 62
+checkview -display result -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25248 b/tests/lowalgos/intss/bug25248
new file mode 100644 (file)
index 0000000..1d924cf
--- /dev/null
@@ -0,0 +1,12 @@
+puts "========="
+puts "CR25248"
+puts "========="
+puts ""
+###############################
+## Curve-Surface intersection algorithm raises exception
+###############################
+
+restore [locate_data_file bug25248_c.draw] c
+restore [locate_data_file bug25111_s2.draw] s
+
+intersect i c s
diff --git a/tests/lowalgos/intss/bug25292_11 b/tests/lowalgos/intss/bug25292_11
new file mode 100644 (file)
index 0000000..de9171d
--- /dev/null
@@ -0,0 +1,68 @@
+puts "================"
+puts "OCC25292"
+puts "================"
+puts ""
+#######################################################################
+# Face/Face intersection algorithm gives different results for different order of the arguments
+#######################################################################
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+# bopcurves command
+
+restore [locate_data_file bug25292_Input_0.brep] b1
+restore [locate_data_file bug25292_Input_1.brep] b2
+
+explode b1 f
+copy b1_2 f1
+explode b2 f
+copy b2_2 f2
+
+#############################
+set log [bopcurves f1 f2 -2d]
+#############################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+#This value must be equal to the analogical value in bug25292_11 and bug25292_12 of "bugs modalg_5" testgrid. 
+set MaxTol 2.0e-7
+
+#This value must be equal to the analogical value in bug25292_11, bug25292_12, bug25292_15 and bug25292_16 of "bugs modalg_5" testgrid. 
+set GoodNbCurv 4
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+#-------------
+
+puts ""
+
+mksurface s1 f1
+mksurface s2 f2
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+
+  puts "U2=[dval U1]"
+  puts "U2=[dval U2]"
+  
+  if {[dval U2-U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+
+  xdistcs c_$i s1 U1 U2 10 ${Toler}
+  xdistcs c_$i s2 U1 U2 10 ${Toler}
+}
+
+v2d
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25292_12 b/tests/lowalgos/intss/bug25292_12
new file mode 100644 (file)
index 0000000..61e028a
--- /dev/null
@@ -0,0 +1,68 @@
+puts "================"
+puts "OCC25292"
+puts "================"
+puts ""
+#######################################################################
+# Face/Face intersection algorithm gives different results for different order of the arguments
+#######################################################################
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+# bopcurves command
+
+restore [locate_data_file bug25292_Input_0.brep] b1
+restore [locate_data_file bug25292_Input_1.brep] b2
+
+explode b1 f
+copy b1_2 f1
+explode b2 f
+copy b2_2 f2
+
+#############################
+set log [bopcurves f2 f1 -2d]
+#############################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+#This value must be equal to the analogical value in bug25292_11 and bug25292_12 of "bugs modalg_5" testgrid. 
+set MaxTol 2.0e-7
+
+#This value must be equal to the analogical value in bug25292_11, bug25292_12, bug25292_15 and bug25292_16 of "bugs modalg_5" testgrid. 
+set GoodNbCurv 4
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+#-------------
+
+puts ""
+
+mksurface s1 f1
+mksurface s2 f2
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+
+  puts "U2=[dval U1]"
+  puts "U2=[dval U2]"
+  
+  if {[dval U2-U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+
+  xdistcs c_$i s1 U1 U2 10 ${Toler}
+  xdistcs c_$i s2 U1 U2 10 ${Toler}
+}
+
+v2d
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25292_21 b/tests/lowalgos/intss/bug25292_21
new file mode 100644 (file)
index 0000000..516f96d
--- /dev/null
@@ -0,0 +1,68 @@
+puts "================"
+puts "OCC25292"
+puts "================"
+puts ""
+#######################################################################
+# Face/Face intersection algorithm gives different results for different order of the arguments
+#######################################################################
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+# bopcurves command
+
+restore [locate_data_file bug25292_Input_3.brep] b1
+restore [locate_data_file bug25292_Input_11.brep] b2
+
+explode b1 f
+copy b1_1 f1
+explode b2 f
+copy b2_1 f2
+
+#########################
+set log [bopcurves f1 f2 -2d]
+#########################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+#This value must be equal to the analogical value in bug25292_21 and bug25292_22 of "bugs modalg_5" testgrid. 
+set MaxTol 1.e-7
+
+#This value must be equal to the analogical value in bug25292_21, bug25292_22, bug25292_25 and bug25292_26 of "bugs modalg_5" testgrid. 
+set GoodNbCurv 2
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+#-------------
+
+puts ""
+
+mksurface s1 f1
+mksurface s2 f2
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+
+  puts "U2=[dval U1]"
+  puts "U2=[dval U2]"
+  
+  if {[dval U2-U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+
+  xdistcs c_$i s1 U1 U2 10 ${Toler}
+  xdistcs c_$i s2 U1 U2 10 ${Toler}
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25292_22 b/tests/lowalgos/intss/bug25292_22
new file mode 100644 (file)
index 0000000..b641b0a
--- /dev/null
@@ -0,0 +1,68 @@
+puts "================"
+puts "OCC25292"
+puts "================"
+puts ""
+#######################################################################
+# Face/Face intersection algorithm gives different results for different order of the arguments
+#######################################################################
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+# bopcurves command
+
+restore [locate_data_file bug25292_Input_3.brep] b1
+restore [locate_data_file bug25292_Input_11.brep] b2
+
+explode b1 f
+copy b1_1 f1
+explode b2 f
+copy b2_1 f2
+
+#########################
+set log [bopcurves f2 f1 -2d]
+#########################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+#This value must be equal to the analogical value in bug25292_21 and bug25292_22 of "bugs modalg_5" testgrid. 
+set MaxTol 1.e-7
+
+#This value must be equal to the analogical value in bug25292_21, bug25292_22, bug25292_25 and bug25292_26 of "bugs modalg_5" testgrid. 
+set GoodNbCurv 2
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+#-------------
+
+puts ""
+
+mksurface s1 f1
+mksurface s2 f2
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+
+  puts "U2=[dval U1]"
+  puts "U2=[dval U2]"
+  
+  if {[dval U2-U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+
+  xdistcs c_$i s1 U1 U2 10 ${Toler}
+  xdistcs c_$i s2 U1 U2 10 ${Toler}
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25292_31 b/tests/lowalgos/intss/bug25292_31
new file mode 100644 (file)
index 0000000..b807823
--- /dev/null
@@ -0,0 +1,62 @@
+puts "================"
+puts "OCC25292"
+puts "================"
+puts ""
+#######################################################################
+# Face/Face intersection algorithm gives different results for different order of the arguments
+#######################################################################
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+# bopcurves command
+
+restore [locate_data_file bug25292_f1.brep] f1
+restore [locate_data_file bug25292_f2.brep] f2
+
+#############################
+set log [bopcurves f1 f2 -2d]
+#############################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
+set MaxTol 1.3e-7
+
+#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
+set GoodNbCurv 1
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!!"
+}
+
+#-------------
+
+puts ""
+
+mksurface s1 f1
+mksurface s2 f2
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+
+  puts "U2=[dval U1]"
+  puts "U2=[dval U2]"
+  
+  if {[dval U2-U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+
+  xdistcs c_$i s1 U1 U2 10 ${Toler}
+  xdistcs c_$i s2 U1 U2 10 ${Toler}
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25292_32 b/tests/lowalgos/intss/bug25292_32
new file mode 100644 (file)
index 0000000..04a5a0e
--- /dev/null
@@ -0,0 +1,62 @@
+puts "================"
+puts "OCC25292"
+puts "================"
+puts ""
+#######################################################################
+# Face/Face intersection algorithm gives different results for different order of the arguments
+#######################################################################
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+# bopcurves command
+
+restore [locate_data_file bug25292_f1.brep] f1
+restore [locate_data_file bug25292_f2.brep] f2
+
+#############################
+set log [bopcurves f2 f1 -2d]
+#############################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
+set MaxTol 1.3e-7
+
+#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
+set GoodNbCurv 1
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!!"
+}
+
+#-------------
+
+puts ""
+
+mksurface s1 f1
+mksurface s2 f2
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+
+  puts "U2=[dval U1]"
+  puts "U2=[dval U2]"
+  
+  if {[dval U2-U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+
+  xdistcs c_$i s1 U1 U2 10 ${Toler}
+  xdistcs c_$i s2 U1 U2 10 ${Toler}
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25380 b/tests/lowalgos/intss/bug25380
new file mode 100644 (file)
index 0000000..c668905
--- /dev/null
@@ -0,0 +1,26 @@
+puts "================"
+puts "OCC25380"
+puts "================"
+puts ""
+#######################################################################
+# Intersection curve cannot reach boundary of surface
+#######################################################################
+
+restore [locate_data_file bug25380_b1.brep] b1
+restore [locate_data_file bug25380_b2.brep] b2
+
+set log [bopcurves b1 b2]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+set MaxTol 1.e-11
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+checklength c_1 -l 1.614
+
+smallview
+donly c_1 b1
+fit
+display b2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25416_1 b/tests/lowalgos/intss/bug25416_1
new file mode 100644 (file)
index 0000000..c42dc9d
--- /dev/null
@@ -0,0 +1,59 @@
+puts "================"
+puts "OCC25416"
+puts "================"
+puts ""
+#######################################################################
+# Wrong section curve
+#######################################################################
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+# bopcurves command
+
+restore [locate_data_file bug25416_f1.brep] f1
+restore [locate_data_file bug25416_f2.brep] f2
+
+#############################
+set log [bopcurves f1 f2 -2d]
+#############################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+set MaxTol 1.e-7
+
+set GoodNbCurv 1
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+#-------------
+
+mksurface s1 f1
+mksurface s2 f2
+
+erase s1 s2
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+  
+  dump U1 U2
+  
+  if {[dval $U2-$U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+
+  xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
+  xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25416_2 b/tests/lowalgos/intss/bug25416_2
new file mode 100644 (file)
index 0000000..a6b31c9
--- /dev/null
@@ -0,0 +1,65 @@
+puts "================"
+puts "OCC25416"
+puts "================"
+puts ""
+#######################################################################
+# Wrong section curve
+#######################################################################
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+# bopcurves command
+
+restore [locate_data_file bug25416_f3.brep] f1
+restore [locate_data_file bug25416_f4.brep] f2
+
+mksurface s1 f1
+mksurface s2 f2
+
+#Trim according to "xbounds f1"
+trim s1 s1 -55.44 150.554 -98.1087 79.1766
+
+mkface ff1 s1
+donly ff1 f2
+
+#############################
+set log [bopcurves ff1 f2 -2d]
+#############################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
+set MaxTol 1.e-7
+
+#This value must be equal to the analogical value in bug25292_31 and bug25292_32 of "bugs modalg_5" testgrid. 
+set GoodNbCurv 2
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+#-------------
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+  
+  dump U1 U2
+  
+  if {[dval $U2-$U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
+  xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25416_3 b/tests/lowalgos/intss/bug25416_3
new file mode 100644 (file)
index 0000000..39c7676
--- /dev/null
@@ -0,0 +1,40 @@
+puts "================"
+puts "OCC25416"
+puts "================"
+puts ""
+#######################################################################
+# Wrong section curve
+#######################################################################
+
+#Check if intersection algorithm produces overlapped curves
+
+restore [locate_data_file bug25416_s1.draw] s1
+restore [locate_data_file bug25416_s2.draw] s2
+
+set ll [intersect ii s1 s2]
+
+set status 0
+if { [llength $ll] < 1 } {
+    set status 1
+}
+
+foreach i $ll {
+   foreach j $ll {
+      if { $i >= $j } continue
+
+      mkedge e1 $i
+      mkedge e2 $j
+      set coe [checkoverlapedges e1 e2]
+
+      puts "$i<->$j: $coe"
+      if { [regexp "Edges is not overlaped" $coe] != 1 } {
+         set status 2
+      }
+   }
+}
+
+if { $status != 0 } {
+    puts "Wrong section. Error with code $status"
+} else {
+    puts "OK: Good section"
+}
diff --git a/tests/lowalgos/intss/bug25465_1 b/tests/lowalgos/intss/bug25465_1
new file mode 100644 (file)
index 0000000..be9fd47
--- /dev/null
@@ -0,0 +1,22 @@
+puts "========"
+puts "OCC25465"
+puts "========"
+puts ""
+################################################
+# Excess vertex in the result of CUT operation
+################################################
+
+restore [locate_data_file OCC25465_Gorivo.brep] b1
+restore [locate_data_file OCC25465_Translation_1.brep] b2
+
+explode b1 f
+explode b2 f
+set bug_info [bopcurves b1_3 b2_4]
+bop b1 b2
+bopcut result
+
+# It is strictly forbidden to change reference values of vertexes and edges (see OCC25465)
+checknbshapes result -vertex 11 -edge 17 -wire 8 -face 8 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 47
+if {[lindex $bug_info 2] != 3} {
+  puts "ERROR: OCC25465 is reproduced."
+}
diff --git a/tests/lowalgos/intss/bug25465_2 b/tests/lowalgos/intss/bug25465_2
new file mode 100644 (file)
index 0000000..884a8cf
--- /dev/null
@@ -0,0 +1,22 @@
+puts "========"
+puts "OCC25465"
+puts "========"
+puts ""
+################################################
+# Excess vertex in the result of CUT operation
+################################################
+
+restore [locate_data_file OCC25465_t_boite1.brep] b1
+restore [locate_data_file OCC25465_c_cyl.brep] b2
+
+explode b1 f
+explode b2 f
+set bug_info [bopcurves b1_6 b2_1]
+bop b1 b2
+bopcut result
+
+# It is strictly forbidden to change reference values of vertexes and edges (see OCC25465)
+checknbshapes result -vertex 13 -edge 20 -wire 11 -face 8 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 55
+if {[lindex $bug_info 2] != 2} {
+  puts "ERROR: OCC25465 is reproduced."
+}
diff --git a/tests/lowalgos/intss/bug25488 b/tests/lowalgos/intss/bug25488
new file mode 100644 (file)
index 0000000..3437ecd
--- /dev/null
@@ -0,0 +1,31 @@
+puts "========"
+puts "OCC25488"
+puts "========"
+puts ""
+######################################################
+# Wrong result of two trimmed cylinders intersection
+######################################################
+
+set Tolerance 1.1e-7
+set Limit_Tol 1.0e-7
+
+puts "##############################"
+puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
+puts "##############################"
+puts ""
+puts ""
+
+restore [locate_data_file OCC25488_sb1_1t.draw] sb1
+restore [locate_data_file OCC25488_sb2_1t.draw] sb2
+
+set bug_info [intersect res sb1 sb2]
+
+set i 0
+while {$i != [llength $bug_info]} {
+  set res_i [lindex $bug_info $i]
+
+  xdistcs ${res_i} sb1 0 1 10 ${Tolerance} ${Limit_Tol}
+  xdistcs ${res_i} sb2 0 1 10 ${Tolerance} ${Limit_Tol}
+
+  set i [expr {$i + 1}]
+}
diff --git a/tests/lowalgos/intss/bug25697_2 b/tests/lowalgos/intss/bug25697_2
new file mode 100644 (file)
index 0000000..bb25efa
--- /dev/null
@@ -0,0 +1,44 @@
+puts "=========="
+puts "OCC25697"
+puts "=========="
+puts ""
+########################################################################################
+# Regression : Section obtained after command "bsection" in Test Harness is incorrect.
+########################################################################################
+
+restore [locate_data_file bug25697_shell_for_seam.brep] b1
+restore [locate_data_file bug25697_prism.brep] b2
+explode b1 f
+copy b1_1 b1
+explode b2 f
+copy b2_1 b2
+
+#################################
+set log [bopcurves b1 b2 -2d1]
+#################################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+set GoodNbCurv 3
+
+checkreal TolReached ${Toler} 0.00027763280312203317 0.0 0.01
+
+if { ${NbCurv} != ${GoodNbCurv} } {
+  puts "Error: Curve Number is bad!"
+}
+
+#---------------
+mksurface s1 b1
+mksurface s2 b2
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i u1 u2
+  dump u1 u2
+
+  xdistcs c_$i s1 u1 u2 10 1e-7
+  xdistcs c_$i s2 u1 u2 10 1e-7
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25782_1 b/tests/lowalgos/intss/bug25782_1
new file mode 100644 (file)
index 0000000..879676d
--- /dev/null
@@ -0,0 +1,70 @@
+puts "========"
+puts "OCC25782"
+puts "========"
+puts ""
+######################################################
+# The result of intersection between two cylinders is incorrect
+# Algorithm must find one curves only
+######################################################
+
+set GoodNbCurv 1
+
+restore [locate_data_file bug25782_fz19.brep] b1
+restore [locate_data_file bug25782_fz53.brep] b2
+
+mksurface s1 b1
+mksurface s2 b2
+
+intersect res s1 s2
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  
+  copy res res_1
+}
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    xdistcs res_$ic s1 0 100 10 1e-7
+    xdistcs res_$ic s2 0 100 10 1e-7
+    
+    incr ic
+  }
+}
+  
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Curve Number is good!"
+} else {
+  puts "Error: Curves Number is bad!"
+}
+
+set log [bopcurves b1 b2]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+set MaxTol 1.e-7
+if {${Toler} > ${MaxTol}} {
+   puts "Error: Tolerance is too big!"
+}
+
+if {$NbCurv != $GoodNbCurv} {
+  puts "Error: Curves Number is bad!"
+}
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+  
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+  }
+
+  xdistcs c_$i s1 U1 U2 10 1e-7
+  xdistcs c_$i s2 U1 U2 10 1e-7
+}
diff --git a/tests/lowalgos/intss/bug25782_2 b/tests/lowalgos/intss/bug25782_2
new file mode 100644 (file)
index 0000000..a54a291
--- /dev/null
@@ -0,0 +1,51 @@
+puts "========"
+puts "OCC25782"
+puts "========"
+puts ""
+######################################################
+# The result of intersection between two cylinders is incorrect
+######################################################
+
+set GoodNbCurv 2
+
+cylinder s1 0 0 0 12 35 47 5
+cylinder s2 3 2 8 12 35 47 4
+
+set bug_info [intersect res s1 s2]
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  
+  copy res res_1
+}
+
+if {[llength ${bug_info}] != $GoodNbCurv} {
+  puts "Error: The result of intersection between two cylinders is incorrect"
+}
+
+set Tolerance 1.e-7
+set D_good 0.
+set Limit_Tol 1.0e-7
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    if { [regexp {\*\*\nLine} [dump res_$ic]] } {
+      #puts "OK : Correct intersection"
+    } else {
+      puts "Error : Bad intersection"
+    }
+  
+    xdistcs res_$ic s1 0 100 10 1e-7
+    xdistcs res_$ic s2 0 100 10 1e-7
+    
+    incr ic
+  }
+}
diff --git a/tests/lowalgos/intss/bug25818 b/tests/lowalgos/intss/bug25818
new file mode 100644 (file)
index 0000000..e8a2353
--- /dev/null
@@ -0,0 +1,18 @@
+puts "============"
+puts "OCC25818"
+puts "============"
+puts ""
+#######################################################################
+# IntTools_FaceFace throws Standard_ConstructionError with two unbounded planes
+#######################################################################
+
+plane pn1 0 0 0 0 0 1 1 0 0 
+plane pn2 0 0 0 1 0 0 0 1 0
+mkface f1 pn1 
+mkface f2 pn2
+bopcurves f1 f2
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25820_1 b/tests/lowalgos/intss/bug25820_1
new file mode 100644 (file)
index 0000000..782dea8
--- /dev/null
@@ -0,0 +1,35 @@
+puts "========"
+puts "OCC25820"
+puts "========"
+puts ""
+###################################################################
+# No Intersection Curves between surface of revolution and planes
+###################################################################
+
+restore [locate_data_file OCC25820-Revolution_5.brep] b1
+explode b1 f
+copy b1_4 b1
+
+restore [locate_data_file OCC25820-Translation_1.brep] b2
+explode b2 f
+copy b2_2 b2
+
+smallview
+clear
+display b1
+display b2
+fit
+
+set info [bopcurves b1 b2]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
+regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
+
+if {$bug_info_tol > 1.0e-7} {
+  puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."
+}
+
+if {$bug_info_cur != 1} {
+  puts "ERROR: OCC25820 is reproduced. Too many curves were found."
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25820_2 b/tests/lowalgos/intss/bug25820_2
new file mode 100644 (file)
index 0000000..2ac5382
--- /dev/null
@@ -0,0 +1,35 @@
+puts "========"
+puts "OCC25820"
+puts "========"
+puts ""
+###################################################################
+# No Intersection Curves between surface of revolution and planes
+###################################################################
+
+restore [locate_data_file OCC25820-Revolution_5.brep] b1
+explode b1 f
+copy b1_4 b1
+
+restore [locate_data_file OCC25820-Translation_2.brep] b2
+explode b2 f
+copy b2_4 b2
+
+smallview
+clear
+display b1
+display b2
+fit
+
+set info [bopcurves b1 b2]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
+regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
+
+if {$bug_info_tol > 1.0e-7} {
+  puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."
+}
+
+if {$bug_info_cur != 1} {
+  puts "ERROR: OCC25820 is reproduced. Too many curves were found."
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25820_3 b/tests/lowalgos/intss/bug25820_3
new file mode 100644 (file)
index 0000000..3ed68e2
--- /dev/null
@@ -0,0 +1,35 @@
+puts "========"
+puts "OCC25820"
+puts "========"
+puts ""
+###################################################################
+# No Intersection Curves between surface of revolution and planes
+###################################################################
+
+restore [locate_data_file OCC25820-Revolution_5.brep] b1
+explode b1 f
+copy b1_4 b1
+
+restore [locate_data_file OCC25820-Translation_3.brep] b2
+explode b2 f
+copy b2_3 b2
+
+smallview
+clear
+display b1
+display b2
+fit
+
+set info [bopcurves b1 b2]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
+regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
+
+if {$bug_info_tol > 1.0e-7} {
+  puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."
+}
+
+if {$bug_info_cur != 1} {
+  puts "ERROR: OCC25820 is reproduced. Too many curves were found."
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25828_3 b/tests/lowalgos/intss/bug25828_3
new file mode 100644 (file)
index 0000000..9d6b704
--- /dev/null
@@ -0,0 +1,37 @@
+puts "========"
+puts "OCC25828"
+puts "========"
+puts ""
+##########################################
+## BRepAlgoAPI_Section fails for a solid and a face depending on order of arguments
+##########################################
+
+set BugNumber OCC25828
+
+restore [locate_data_file bug25828_intersectionproblem.brep] b
+
+explode b
+copy b_1 b1
+copy b_2 b2
+explode b1 f; copy b1_1 b1
+explode b2 f; copy b2_6 b2
+set log [bopcurves b1 b2 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+set MaxTol 5.5e-6
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != 1} {
+  puts "Error: NbCurv is bad!"
+}
+
+smallview
+donly b1 b2
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25828_4 b/tests/lowalgos/intss/bug25828_4
new file mode 100644 (file)
index 0000000..03c236c
--- /dev/null
@@ -0,0 +1,37 @@
+puts "========"
+puts "OCC25828"
+puts "========"
+puts ""
+##########################################
+## BRepAlgoAPI_Section fails for a solid and a face depending on order of arguments
+##########################################
+
+set BugNumber OCC25828
+
+restore [locate_data_file bug25828_intersectionproblem.brep] b
+
+explode b
+copy b_1 b1
+copy b_2 b2
+explode b1 f; copy b1_1 b1
+explode b2 f; copy b2_6 b2
+set log [bopcurves b2 b1 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+set MaxTol 5.5e-6
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != 1} {
+  puts "Error: NbCurv is bad!"
+}
+
+smallview
+donly b1 b2
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25842 b/tests/lowalgos/intss/bug25842
new file mode 100644 (file)
index 0000000..ca7dcc0
--- /dev/null
@@ -0,0 +1,18 @@
+puts "================"
+puts "OCC25842"
+puts "================"
+puts ""
+#######################################################################
+# Wrong intersection 2D-curves obtained for pair of faces.
+#######################################################################
+
+restore [locate_data_file bug25842_f1.brep] f1
+restore [locate_data_file bug25842_f2.brep] f2
+
+bopcurves f1 f2 -2d
+
+v2d
+donly c2d2_1 c2d2_2
+2dfit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug25890 b/tests/lowalgos/intss/bug25890
new file mode 100644 (file)
index 0000000..4c3dad3
--- /dev/null
@@ -0,0 +1,55 @@
+puts "============"
+puts "OCC25890"
+puts "============"
+puts ""
+###############################
+## Intersection algorithm produces curves overlaped
+###############################
+
+set ExpToler 1.5361108163989659e-007
+set ExpLen 5.036361740755879
+
+restore [locate_data_file bug25890_f1.brep] f1
+restore [locate_data_file bug25890_f2.brep] f2
+
+set log [ bopcurves f1 f2 -2d ]
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+checkreal TolReached $Toler $ExpToler 0.0 0.1
+
+if { ${NbCurv} != 1 } {
+  puts "Error : NbCurv is bad"
+  
+  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
+  "
+
+  set SumLen 0.0
+  
+  # Check for overlapping
+  for {set i 1} {$i <= $NbCurv} {incr i} {
+    regexp "The +length+ c_$i +is +(\[-0-9.+eE\]+)" [ length c_$i ] full m
+    set SumLen [ expr $SumLen + $m]
+    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"
+    }
+  }
+
+  checkreal Length $SumLen $ExpLen 1.0e-7 0.0
+} else {
+  checklength c_1 -l $ExpLen
+}
+
diff --git a/tests/lowalgos/intss/bug25898 b/tests/lowalgos/intss/bug25898
new file mode 100644 (file)
index 0000000..343274e
--- /dev/null
@@ -0,0 +1,25 @@
+puts "================"
+puts "OCC25898"
+puts "================"
+puts ""
+#######################################################################
+# Wrong result obtained by intersection algorithm.
+#######################################################################
+
+# Before fix intersection algorithm threw an exception.
+
+restore [locate_data_file bug25898_x001_1.draw] s1
+restore [locate_data_file bug25898_x001_2.draw] s2
+
+set CurveNumb [intersect i s1 s2]
+
+if { [llength ${CurveNumb}] != 2 } {
+    puts "Error : Wrong result obtained by intersection algorithm."
+} else {
+    puts "OK : Good result obtained by intersection algorithm."
+}
+
+smallview
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26008 b/tests/lowalgos/intss/bug26008
new file mode 100644 (file)
index 0000000..4c24bf0
--- /dev/null
@@ -0,0 +1,20 @@
+puts "================"
+puts "OCC26008"
+puts "================"
+puts ""
+#######################################################################
+# [OCCT 6.8.0 regression] BRepFeat_SplitShape returns invalid shapes
+#######################################################################
+
+sphere ss1 78.4160443343, 8.94293392454, 70.9553808628 6.5
+sphere ss2 82.5593917073, 4.52613090823, 76.3299967 3.5
+
+mkface f1 ss1
+mkface f2 ss2
+
+bopcurves f1 f2 -2d
+
+view 1 -2D- 465 20 400 400
+2dfit
+
+xwd $imagedir/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26151_1 b/tests/lowalgos/intss/bug26151_1
new file mode 100644 (file)
index 0000000..8f64483
--- /dev/null
@@ -0,0 +1,33 @@
+puts "============"
+puts "OCC26151"
+puts "============"
+puts ""
+###############################
+## Wrong result obtained by intersection algorithm.
+###############################
+
+restore [locate_data_file bug26132_shape.brep] q
+
+explode q
+copy q_1 b1
+copy q_2 b2
+
+explode b1 f
+explode b2 
+explode b2_10 f
+
+set log [bopcurves b1_1 b2_10_4 -2d]
+
+#Faces almost coincide. Therefore, there is no point in
+#returning some intersection line.
+#Theoretically, the intersection result is some region (tangent zone).
+
+if { [regexp "has no 3d curve" ${log}] != 1 } {
+   puts "Error : Wrong result obtained by intersection algorithm"
+} else {
+   puts "OK : Good result obtained by intersection algorithm"
+}
+
+smallview
+fit
+xwd $imagedir/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26151_2 b/tests/lowalgos/intss/bug26151_2
new file mode 100644 (file)
index 0000000..92b986b
--- /dev/null
@@ -0,0 +1,33 @@
+puts "============"
+puts "OCC26151"
+puts "============"
+puts ""
+###############################
+## Wrong result obtained by intersection algorithm.
+###############################
+
+restore [locate_data_file bug26132_shape.brep] q
+
+explode q
+copy q_1 b1
+copy q_2 b2
+
+explode b1 f
+explode b2 
+explode b2_11 f
+
+set log [bopcurves b1_1 b2_11_2 -2d]
+
+#Faces almost coincide. Therefore, there is no point in
+#returning some intersection line.
+#Theoretically, the intersection result is some region (tangent zone).
+
+if { [regexp "has no 3d curve" ${log}] != 1 } {
+   puts "Error : Wrong result obtained by intersection algorithm"
+} else {
+   puts "OK : Good result obtained by intersection algorithm"
+}
+
+smallview
+fit
+xwd $imagedir/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26251 b/tests/lowalgos/intss/bug26251
new file mode 100644 (file)
index 0000000..d498eb9
--- /dev/null
@@ -0,0 +1,45 @@
+puts "============"
+puts "OCC26251"
+puts "============"
+puts ""
+###############################
+## Section curve cannot be found
+###############################
+
+restore [locate_data_file bug26251_b31_3.brep] b1
+restore [locate_data_file bug26251_tank31.brep] b2
+
+bsection result b1 b2
+
+checkprops result -l 2.49934 
+checkshape result 
+checksection result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX    : 3
+ EDGE      : 2
+ WIRE      : 0
+ FACE      : 0
+ SHELL     : 0
+ SOLID     : 0
+ COMPSOLID : 0
+ COMPOUND  : 1
+ SHAPE     : 6
+"
+
+checknbshapes result -ref ${nbshapes_expected} -t -m "Section curve"
+
+explode b2 f
+copy b2_5 b2
+
+set NbCurves 0
+
+set log [bopcurves b1 b2 -2d]
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurves
+
+if {$NbCurves == 0} {
+  puts "Error: Intersection curve is not found"
+}
+
+checkview -display result -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26352 b/tests/lowalgos/intss/bug26352
new file mode 100644 (file)
index 0000000..9590d13
--- /dev/null
@@ -0,0 +1,44 @@
+puts "========"
+puts "OCC26352"
+puts "========"
+puts ""
+#############################################################################
+# Wrong intersection points found
+#############################################################################
+
+restore [locate_data_file bug26316_shape1.brep] b1
+restore [locate_data_file bug26316_shape2.brep] b2
+
+explode b1 f
+explode b2 f
+
+set log1 [bopcurves b1_10 b2_3]
+set log2 [bopcurves b1_10 b2_10]
+set log3 [bopcurves b1_11 b2_1]
+set log4 [bopcurves b1_11 b2_7]
+
+set search_str "has no 3d points"
+
+if { [regexp ${search_str} ${log1}] != 1 } {
+   puts "Error : Wrong intersection point found (1)"
+} else {
+   puts "OK : Good result obtained by intersection algorithm (1)"
+}
+
+if { [regexp ${search_str} ${log2}] != 1 } {
+   puts "Error : Wrong intersection point found (2)"
+} else {
+   puts "OK : Good result obtained by intersection algorithm (2)"
+}
+
+if { [regexp ${search_str} ${log3}] != 1 } {
+   puts "Error : Wrong intersection point found (3)"
+} else {
+   puts "OK : Good result obtained by intersection algorithm (3)"
+}
+
+if { [regexp ${search_str} ${log4}] != 1 } {
+   puts "Error : Wrong intersection point found (4)"
+} else {
+   puts "OK : Good result obtained by intersection algorithm (4)"
+}
diff --git a/tests/lowalgos/intss/bug26431_1 b/tests/lowalgos/intss/bug26431_1
new file mode 100644 (file)
index 0000000..201859a
--- /dev/null
@@ -0,0 +1,21 @@
+puts "============"
+puts "OCC26431"
+puts "============"
+puts ""
+###############################
+## Can't cut a sphere from a cylinder
+###############################
+
+restore [locate_data_file bug26431_Body.brep] b1
+restore [locate_data_file bug26431_Sphere.brep] b2
+
+explode b1 f
+explode b2 f
+
+set log [bopcurves b1_3 b2_1 -2d]
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
+
+set expected_Tolerance_Reached 6.1899285293702062e-006
+set tol_abs_Tolerance_Reached 1.0e-7
+set tol_rel_Tolerance_Reached 0.0
+checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
diff --git a/tests/lowalgos/intss/bug26509_1 b/tests/lowalgos/intss/bug26509_1
new file mode 100644 (file)
index 0000000..3398637
--- /dev/null
@@ -0,0 +1,42 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 3} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug26509_2 b/tests/lowalgos/intss/bug26509_2
new file mode 100644 (file)
index 0000000..3470a53
--- /dev/null
@@ -0,0 +1,43 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p1_2 0 0 0 1.22464679914735e-16 1 0 -1.57079632679489655800*180/pi
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 1} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug26509_3 b/tests/lowalgos/intss/bug26509_3
new file mode 100644 (file)
index 0000000..67f4309
--- /dev/null
@@ -0,0 +1,43 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p1_2 0 0 0 1.22464679914735e-16 1 0 1.57079632679489655800*180/pi
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug26509_4 b/tests/lowalgos/intss/bug26509_4
new file mode 100644 (file)
index 0000000..780af19
--- /dev/null
@@ -0,0 +1,44 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p1_2 0 0 0 1.22464679914735e-16 1 0 1.57079632679489655800*180/pi
+tmirror p1_2 0 -500 0 0 1 0
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug26509_5 b/tests/lowalgos/intss/bug26509_5
new file mode 100644 (file)
index 0000000..c9c6830
--- /dev/null
@@ -0,0 +1,43 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p2_1 -49.9999999999998, 1448.74012957047, -449.90210868773 1.19325918102424e-16, 0.974370064785235, -0.224951054343865 -1.26610367277949897868*180/pi
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug26509_6 b/tests/lowalgos/intss/bug26509_6
new file mode 100644 (file)
index 0000000..bd6f305
--- /dev/null
@@ -0,0 +1,44 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p1_2 0 0 0 1.22464679914735e-16 1 0 -1.57079632679489655800*180/pi
+trotate p2_1 -49.9999999999998, 1448.74012957047, -449.90210868773 1.19325918102424e-16, 0.974370064785235, -0.224951054343865 -1.26610367277949897868*180/pi
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 1} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug26576_1 b/tests/lowalgos/intss/bug26576_1
new file mode 100644 (file)
index 0000000..40e3086
--- /dev/null
@@ -0,0 +1,56 @@
+puts "============"
+puts "OCC26576"
+puts "============"
+puts ""
+###############################
+## Wrong result obtained by intersection algorithm.
+###############################
+
+pload DCAF
+
+Open [locate_data_file bug26576_study1_new_geom.cbf] D
+
+GetShape D 0:1:484:1:1:2 b1
+GetShape D 0:1:478:1:1:2 b2
+
+explode b1 f
+explode b2 f
+copy b1_1 b1
+copy b2_2 b2
+donly b1 b2
+
+#Wrong value of Tolerance Reached. 
+
+set log [bopcurves b1 b2 -2d]
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
+
+set GoodNbCurv 2
+
+set expected_Tolerance_Reached 1.2482990218170969e-007
+set tol_abs_Tolerance_Reached 1.0e-7
+set tol_rel_Tolerance_Reached 0.0
+checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
+}
+
+#Overlapping intersection curves.
+
+for {set i 1} {$i < ${NbCurv}} {incr i} {
+  for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
+    mkedge e1 c_$i
+    mkedge e2 c_$j
+
+    set coe [checkoverlapedges e1 e2 $Tolerance_Reached]
+
+    puts "c_$i<->c_$j: $coe"
+    if { [regexp "Edges is not overlaped" $coe] != 1 } {
+      puts "Error: c_$i and c_$j are overlaped"
+    }
+  }
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26576_3 b/tests/lowalgos/intss/bug26576_3
new file mode 100644 (file)
index 0000000..21467cc
--- /dev/null
@@ -0,0 +1,61 @@
+puts "============"
+puts "OCC26576"
+puts "============"
+puts ""
+###############################
+## Wrong result obtained by intersection algorithm.
+###############################
+
+pload DCAF
+
+Open [locate_data_file bug26576_study1_new_geom.cbf] D
+
+GetShape D 0:1:484:1:1:2 b1_src
+GetShape D 0:1:478:1:1:2 b2_src
+
+save b1_src $imagedir/bug26576_b1.brep
+save b2_src $imagedir/bug26576_b2.brep
+
+restore $imagedir/bug26576_b1.brep b1
+restore $imagedir/bug26576_b2.brep b2
+
+explode b1 f
+explode b2 f
+copy b1_1 b2
+copy b2_2 b1
+
+#Wrong value of Tolerance Reached. 
+
+set log [bopcurves b1 b2 -2d]
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
+
+set GoodNbCurv 2
+
+set expected_Tolerance_Reached 1.2482990218170969e-007
+set tol_abs_Tolerance_Reached 1.0e-7
+set tol_rel_Tolerance_Reached 0.0
+checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
+}
+
+#Overlapping intersection curves.
+
+for {set i 1} {$i < ${NbCurv}} {incr i} {
+  for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
+    mkedge e1 c_$i
+    mkedge e2 c_$j
+
+    set coe [checkoverlapedges e1 e2 $Tolerance_Reached]
+
+    puts "$i<->$j: $coe"
+    if { [regexp "Edges is not overlaped" $coe] != 1 } {
+      puts "Error: c_$i and c_$j are overlaped"
+    }
+  }
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26576_4 b/tests/lowalgos/intss/bug26576_4
new file mode 100644 (file)
index 0000000..86edaba
--- /dev/null
@@ -0,0 +1,74 @@
+puts "============"
+puts "OCC26576"
+puts "============"
+puts ""
+###############################
+## Wrong result obtained by intersection algorithm.
+###############################
+
+set GoodNbCurv 2
+
+circle cc 1.5 3.125 0 0 0 1 1 0 0 0.25
+trim cc cc 0 3.14159265358979
+revsurf ss1 cc 1.5 3.125 0 -1 0 0
+
+plane ss2 3.48352775473762 1.7282347013387 0 0 0 -1 -1 0 0
+
+set IntCurv [intersect intres ss1 ss2]
+set NbIntCurv [llength ${IntCurv}]
+
+if { ${NbIntCurv} != ${GoodNbCurv} } {
+    puts "Error in geometric intersection: ${GoodNbCurv} curves are expected but ${NbIntCurv} are found!"
+} else {
+    puts "OK : Geometric intersection is good."
+}
+
+# For getting tolerance value
+mkface b1 ss1
+mkface b2 ss2
+donly b1
+
+set log [bopcurves b1 b2 -2d]
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
+
+set expected_Tolerance_Reached 1.9321146113460029e-008
+set tol_abs_Tolerance_Reached 1.0e-7
+set tol_rel_Tolerance_Reached 0.0
+checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
+}
+
+#Overlapping intersection curves.
+
+if { $Tolerance_Reached < 1.0e-7 } { set Tolerance_Reached 1.0e-7 }
+
+for {set i 1} {$i < ${NbCurv}} {incr i} {
+  for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
+    mkedge eb1 c_$i
+    mkedge eb2 c_$j
+    
+    mkedge ei1 intres_$i
+    mkedge ei2 intres_$j
+
+    set coeb [checkoverlapedges eb1 eb2 $Tolerance_Reached]
+    set coei [checkoverlapedges ei1 ei2 $Tolerance_Reached]    
+
+    puts "$i<->$j: $coeb"
+    puts "$i<->$j: $coei"
+    if { [regexp "Edges is not overlaped" $coeb] != 1 } {
+      puts "Error: c_$i and c_$j are overlaped"
+    }
+    
+    if { [regexp "Edges is not overlaped" $coei] != 1 } {
+      puts "Error: intres_$i and intres_$j are overlaped"
+    }
+    
+    erase eb1 eb2 ei1 ei2
+  }
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26675 b/tests/lowalgos/intss/bug26675
new file mode 100644 (file)
index 0000000..20141ba
--- /dev/null
@@ -0,0 +1,58 @@
+puts "============"
+puts "OCC26675"
+puts "============"
+puts ""
+###############################
+## 0026675: Eliminate normalization of coordinates in ApproxInt package
+###############################
+
+set GoodNbCurv 1
+
+pload QAcommands
+OCC26675_1 ss
+
+intersect res ss_1 ss_2
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    display res_$ic
+    
+    bounds res_$ic U1 U2
+    
+    dval U1
+    dval U2
+    
+    if {[dval U2-U1] < 1.0e-20} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic ss_1 U1 U2 10 4.6e-6
+    xdistcs res_$ic ss_2 U1 U2 10 4.3e-6
+    
+    incr ic
+  }
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Curve Number is good!"
+} else {
+  puts "Error: Curve Number is bad!"
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26684_1 b/tests/lowalgos/intss/bug26684_1
new file mode 100644 (file)
index 0000000..b79fe1d
--- /dev/null
@@ -0,0 +1,31 @@
+puts "============"
+puts "OCC26684"
+puts "============"
+puts ""
+###################################################
+## Big tolerance values of the intersection curves
+###################################################
+
+brestore [locate_data_file CTO909_IR2_TuyoPipe20.brep] b1
+brestore [locate_data_file CTO909_IR2_sphere1_20.brep] b2
+
+explode b1 f; copy b1_1 f1
+explode b2 f; copy b2_1 f2
+
+smallview
+donly f1 f2
+fit
+
+# 1 case
+set bop_info [bopcurves f1 f2]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $bop_info full Tolerance
+
+checkreal "Reached tolerance" ${Tolerance} 5.8654166482879483e-009 1.e-7 0
+
+# 2 case
+set bop_info_2d [bopcurves f1 f2 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $bop_info_2d full Tolerance_2d
+
+checkreal "Reached tolerance" ${Tolerance_2d} 1.4569392656749484e-008 1.e-7 0
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26684_2 b/tests/lowalgos/intss/bug26684_2
new file mode 100644 (file)
index 0000000..d5028b7
--- /dev/null
@@ -0,0 +1,31 @@
+puts "============"
+puts "OCC26684"
+puts "============"
+puts ""
+###################################################
+## Big tolerance values of the intersection curves
+###################################################
+
+brestore [locate_data_file IR2_TuyoPipeBSpline_20_draw2.brep] b1
+brestore [locate_data_file IR2_sphere2_20.brep] b2
+
+explode b1 f; copy b1_1 f1
+explode b2 f; copy b2_1 f2
+
+smallview
+donly f1 f2
+fit
+
+# 1 case
+set bop_info [bopcurves f1 f2]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $bop_info full Tolerance
+
+checkreal "Reached tolerance" ${Tolerance} 1.2530391548405894e-008 1.e-7 0
+
+# 2 case
+set bop_info_2d [bopcurves f1 f2 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $bop_info_2d full Tolerance_2d
+
+checkreal "Reached tolerance" ${Tolerance_2d} 1.4134494834137484e-005 0 1.e-2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26699 b/tests/lowalgos/intss/bug26699
new file mode 100644 (file)
index 0000000..9237b63
--- /dev/null
@@ -0,0 +1,32 @@
+puts "================"
+puts "OCC26699"
+puts "================"
+puts ""
+#######################################################################
+# Wrong section curves
+#######################################################################
+
+set MaxTol 1.e-7
+set GoodNbCurv 2
+
+restore [locate_data_file bug26699_f1.brep] f1
+restore [locate_data_file bug26699_f2.brep] f2
+
+set log [bopcurves f1 f2 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+checklength c_1 -l 3.0
+checklength c_2 -l 3.0
+
+axo
+donly f* c_*
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug26748 b/tests/lowalgos/intss/bug26748
new file mode 100644 (file)
index 0000000..0d7a342
--- /dev/null
@@ -0,0 +1,33 @@
+puts "========"
+puts "OCC26748"
+puts "========"
+puts ""
+#################################################
+# Section between cylindrical and planar faces is not found
+#################################################
+
+set ExpTol 5.0e-8
+set GoodNbCurv 1
+
+restore [locate_data_file bug26745_BodyA.brep] a
+restore [locate_data_file bug26745_BodyB.brep] b
+
+explode a f
+explode b f
+
+set log [bopcurves a_9 b_1 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+}
+
+checkreal TolReached $Toler $ExpTol 5.0e-8 0.0
+
+smallview
+don c_*
+fit
+disp a_9 b_1
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug26894 b/tests/lowalgos/intss/bug26894
new file mode 100644 (file)
index 0000000..306b44c
--- /dev/null
@@ -0,0 +1,67 @@
+puts "================"
+puts "OCC26894"
+puts "================"
+puts ""
+#######################################################################
+# Intersection algorithm between two infinite cylinders is hanging
+#######################################################################
+
+# Attention!!!
+# The test on performance meter.
+# On the MASTER it takes:
+# Elapsed time: 0 Hours 0 Minutes 6.3723911111 Seconds
+# CPU user time: 6.15625 seconds
+# CPU system time: 0.0625 seconds
+
+# The intersection curve is almost infinite.
+# Therefore, we must have failed to return
+# any section curve (see comments to the issue #26894).
+set GoodNbCurv 0
+
+restore [locate_data_file bug26884-f1.brep] f1
+restore [locate_data_file bug26884-f2.brep] f2
+
+mksurface ss1 f1
+mksurface ss2 f2
+
+if { ![ catch {intersect result ss1 ss2 } ] } {
+  puts "Error: intersection algorithm must return fail status. But it is not."
+}
+
+set che [whatis result]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "result" exists
+  renamevar result result_1
+}
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis result_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    display result_$ic
+    
+    bounds result_$ic U1 U2
+    
+    dump U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs result_$ic ss1 U1 U2 10 1.0e-7
+    xdistcs result_$ic ss2 U1 U2 10 1.0e-7
+    
+    incr ic
+  }
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
+}
diff --git a/tests/lowalgos/intss/bug27079_1 b/tests/lowalgos/intss/bug27079_1
new file mode 100644 (file)
index 0000000..121b0eb
--- /dev/null
@@ -0,0 +1,23 @@
+puts "============"
+puts "OCC27079"
+puts "============"
+puts ""
+##################################################################
+# Bad approximation of intersection curves with variable curvature
+##################################################################
+
+restore [locate_data_file bug27079_s1.draw] s1
+restore [locate_data_file bug27079_s2.draw] s2
+
+clpoles s2
+
+smallview
+donly s2
+fit
+
+intersect result s1 s2
+
+checklength result_1 -l 6.8873540591440428
+checklength result_2 -l 6.8873330997321212
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug27079_2 b/tests/lowalgos/intss/bug27079_2
new file mode 100644 (file)
index 0000000..99ea9b7
--- /dev/null
@@ -0,0 +1,21 @@
+puts "============"
+puts "OCC27079"
+puts "============"
+puts ""
+##################################################################
+# Bad approximation of intersection curves with variable curvature
+##################################################################
+
+restore [locate_data_file bug27079_s3.draw] s3
+restore [locate_data_file bug27079_s4.draw] s4
+
+smallview
+donly s4
+fit
+
+intersect result s3 s4
+
+checklength result_1 -l 4.2844275555620923
+checklength result_2 -l 4.2844275531269931
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug271 b/tests/lowalgos/intss/bug271
new file mode 100644 (file)
index 0000000..d235965
--- /dev/null
@@ -0,0 +1,26 @@
+
+puts "========================"
+puts " OCC271 "
+puts "========================"
+puts ""
+
+restore [locate_data_file OCC271a.rle] su1 
+restore [locate_data_file OCC271b.rle] su2
+
+set U1 2.315721254379057e-16
+set U2 0.01131870392278708
+set V1 226.9760100729095
+set V2 203.7283534809051
+
+intersect result su1 su2 $U1 $V1 $U2 $V2
+
+set che [whatis result]
+
+if { ![regexp {3d} $che] || ![regexp {curve} $che]} {
+    puts "Faulty OCC271: command INTERSECT works wrongly"
+} else {
+    puts "OCC271 OK : command INTERSECT works properly"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug27175 b/tests/lowalgos/intss/bug27175
new file mode 100644 (file)
index 0000000..7b4c645
--- /dev/null
@@ -0,0 +1,29 @@
+puts "================"
+puts "OCC27175"
+puts "================"
+puts ""
+#######################################################################
+# Intersection algorithm with increased tolerance works incorrect with some shapes
+#######################################################################
+
+set ExpectTol 3.002046539399851e-006
+set GoodNbCurv 2
+
+plane pl 0.195808075898442 -0.229262227170656 4.05546403129991 0 0 1
+psphere s1 pl 0.03101752454
+restore [locate_data_file bug27128-Helix_Pipe.brep] s2
+
+explode s1 f
+explode s2 f
+
+settolerance s1_1 2.0e-6
+settolerance s2_2 2.0e-6
+bopcurves s1_1 s2_2 -2d
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves s1_1 s2_2 -2d] full Toler NbCurv
+
+checkreal "Tolerance Reached" ${Toler} ${ExpectTol} 0.0 0.1
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
diff --git a/tests/lowalgos/intss/bug27190 b/tests/lowalgos/intss/bug27190
new file mode 100644 (file)
index 0000000..c93004f
--- /dev/null
@@ -0,0 +1,66 @@
+puts "================"
+puts "OCC27190"
+puts "================"
+puts ""
+#######################################################################
+# IntPatch_ImpPrmIntersection algorithm does not split intersection curve by the seam-edge of the quadric
+#######################################################################
+
+set MaxTol 1.e-3
+set GoodNbCurv 11
+
+restore [locate_data_file bug27167_pipe.brep] a1
+pcylinder a2 100 300
+
+explode a1 f
+explode a2 f
+
+set log [bopcurves a1_2 a2_1 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+set Period [dval 2*pi]
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c2d2_$i u1 u2
+  
+  2dcvalue c2d2_$i u1 x1 y
+  2dcvalue c2d2_$i u2 x2 y
+  
+  set X1 [dval x1/$Period]
+  set X2 [dval x2/$Period]
+  
+  # Example: x1 = 5.3*pi, x2 = 12.8*pi ==> [x1, x2] intersects seam
+  if { [expr abs($X1 - $X2) > 1.0] } {
+    puts "Error: c2d2_$i intersects seam (0.0 or $Period): x1=[dval x1], x2=[dval x2]"
+    continue;
+  }
+
+  set iX1 [expr floor($X1)]
+  set iX2 [expr floor($X2)]
+  
+  # Examples:
+  #   1. x1 = 5*pi/2, x2 = 3*pi ==> [x1, x2] does not intersect seam and
+  #     ($iX1 == $iX2 == 0). I.e. if ($iX1 == $iX2) then seam is not intersected.
+  #   2. x1 = 3*pi, x2 = 5*pi ==> [x1, x2] intersects seam and
+  #     ($iX1 == 1, $iX2 == 2) ==> ($iX1 != $iX2).
+  #   3. x1 = pi/4, x2 = 2*pi ==> [x1, x2] does not intersect seam and
+  #     ($iX1 == 0, $iX2 == 1) ==> ($iX1 != $iX2) and ($X2 == $iX2 = 1)
+  if { ($iX1 != $iX2) && ($X2 != $iX2) } {
+    puts "Error: c2d2_$i intersects seam (0.0 or $Period): x1=[dval x1], x2=[dval x2]"
+  }
+}
+
+smallview
+don c_*
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug27227 b/tests/lowalgos/intss/bug27227
new file mode 100644 (file)
index 0000000..9cfe04c
--- /dev/null
@@ -0,0 +1,68 @@
+puts "============"
+puts "OCC27227"
+puts "============"
+puts ""
+#############################################################
+# Intersection curve is not continued to the surface boundary
+#############################################################
+
+ptorus a0 100 20
+tcopy a0 a1
+trotate a1 0 0 0 1 0 0 90
+
+explode a0 f
+explode a1 f
+
+smallview
+donly a0_1 a1_1
+
+bopcurves a0_1 a1_1 -2d
+
+disp c_5
+
+set log [dump c_5]
+
+regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
+puts "Degree=${Degree}"
+puts "Poles=${Poles}"
+puts "KnotsPoles=${KnotsPoles}"
+puts ""
+
+set Pole 1
+set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
+regexp ${exp_string} ${log} full X_first Y_first Z_first
+
+puts "Pole=${Pole}"
+puts "X_first=${X_first}"
+puts "Y_first=${Y_first}"
+puts "Z_first=${Z_first}"
+puts ""
+
+set Pole ${Poles}
+set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
+regexp ${exp_string} ${log} full X_end Y_end Z_end
+
+puts "Pole=${Pole}"
+puts "X_end=${X_end}"
+puts "Y_end=${Y_end}"
+puts "Z_end=${Z_end}"
+puts ""
+
+set tol_abs [checkmaxtol a0]
+set tol_rel 0.01
+
+set expected_X_first 80.
+checkreal "X_first" ${X_first} ${expected_X_first} ${tol_abs} ${tol_rel}
+set expected_Y_first 0.
+checkreal "Y_first" ${Y_first} ${expected_Y_first} ${tol_abs} ${tol_rel}
+set expected_Z_first 0.
+checkreal "Z_first" ${Z_first} ${expected_Z_first} ${tol_abs} ${tol_rel}
+puts ""
+
+set expected_X_end 120.
+checkreal "X_end" ${X_end} ${expected_X_end} ${tol_abs} ${tol_rel}
+set expected_Y_end 0.
+checkreal "Y_end" ${Y_end} ${expected_Y_end} ${tol_abs} ${tol_rel}
+set expected_Z_end 0.
+checkreal "Z_end" ${Z_end} ${expected_Z_end} ${tol_abs} ${tol_rel}
+puts ""
diff --git a/tests/lowalgos/intss/bug27252_1 b/tests/lowalgos/intss/bug27252_1
new file mode 100644 (file)
index 0000000..c2bf3c9
--- /dev/null
@@ -0,0 +1,37 @@
+puts "============"
+puts "OCC27252"
+puts "============"
+puts ""
+#######################################################################
+# Implicit-implicit intersection (Cylinder-Plane) loses intersection curve
+#######################################################################
+
+set GoodNbCurv 1
+set MaxTol 1.0e-7
+
+restore [locate_data_file bug27221.brep] a
+explode a
+mkplane f a_2
+prism p f -25 0 0 
+explode a_1 f
+explode p f
+don a_1_7 p_3
+
+set log [bopcurves a_1_7 p_3 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+smallview
+don c_*
+fit
+display a_1_7 p_3
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug27263 b/tests/lowalgos/intss/bug27263
new file mode 100644 (file)
index 0000000..f6c316e
--- /dev/null
@@ -0,0 +1,34 @@
+puts "================"
+puts "OCC27263"
+puts "================"
+puts ""
+#######################################################################
+# Regression vs 6.9.1: Exception is raised during intersection of two faces
+#######################################################################
+
+set MaxTol 1.e-7
+set GoodNbCurv 1
+
+restore [locate_data_file  bug27262_cmpd.brep] b
+explode b
+
+smallview
+explode b_1 f
+don b_1_27 b_2
+fit
+
+set log [bopcurves b_1_27 b_2 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+ee]+)\n+([-0-9.+ee]+)} ${log} full Toler NbCurv
+
+if {${Toler} > ${MaxTol}} {
+  puts "Error: Tolerance is too big!"
+}
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Curve Number is bad!"
+}
+
+checklength c_1 -l 2.9620641619623407
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug27269 b/tests/lowalgos/intss/bug27269
new file mode 100644 (file)
index 0000000..66f5e7e
--- /dev/null
@@ -0,0 +1,40 @@
+puts "============"
+puts "OCC27269"
+puts "============"
+puts ""
+###############################
+## Intersection algorithm produces null-length curve
+###############################
+
+
+restore [locate_data_file bug27267_cmpd.brep] a
+explode a f
+
+smallview
+don a_7; fit
+disp a_1
+
+#############################
+set log [bopcurves a_1 a_7 -2d]
+#############################
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+for {set i 1} {$i <= ${NbCurv}} {incr i} {
+  bounds c_$i U1 U2
+  
+  dump U1 U2
+  
+  if {[dval U2-U1] < 1.0e-20} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  set le [length c_$i]
+  regexp "The length c_$i is +(\[-0-9.+eE\]+)" ${le} full ll
+  
+  if { $ll < 1.0e-7 } {
+    puts "Error: Curve c_$i is too small!"
+  }
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug27282_2 b/tests/lowalgos/intss/bug27282_2
new file mode 100644 (file)
index 0000000..1d908cc
--- /dev/null
@@ -0,0 +1,45 @@
+puts "============"
+puts "OCC27282"
+puts "============"
+puts ""
+###############################
+## [Regression to 6.9.1] smesh/bugs_00/A6: Cut produces an empty shape
+###############################
+
+set MaxTol 2.9376013151287501e-006
+set GoodNbCurv 1
+
+restore [locate_data_file bug27282_cmpd.brep] a
+explode a f
+
+smallview
+don a_2 a_5
+fit
+
+set log [bopcurves a_2 a_5 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+checkreal ToleranceReached ${Toler} ${MaxTol} 0.0 0.1
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+  
+  for {set i 1} {$i < ${NbCurv}} {incr i} {
+    for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
+      mkedge e1 c_$i
+      mkedge e2 c_$j
+      
+      dset dd_val 100.0*${Toler}
+      distmini dd e1 e2
+      
+      if { [dval dd_val] > ${Toler} } {
+        puts "Error: Intersection result is not closed"
+      }
+    }
+  }
+} else {
+  checklength c_1 -l 833.56846557106064
+}
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug27302 b/tests/lowalgos/intss/bug27302
new file mode 100644 (file)
index 0000000..7617f18
--- /dev/null
@@ -0,0 +1,48 @@
+puts "============"
+puts "OCC27302"
+puts "============"
+puts ""
+###############################
+## Invalid curves number in intersection result
+###############################
+
+set MaxTol 6.5952839365451194e-008
+set GoodNbCurv 1
+
+restore [locate_data_file CTO900_pro12913a.rle] a
+restore [locate_data_file CTO900_pro12913b.rle] b
+
+explode a f
+explode b f
+
+smallview
+don a_34 b_9
+fit
+
+set log [bopcurves a_34 b_9 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+checkreal ToleranceReached ${Toler} ${MaxTol} 0.0 0.1
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+  
+  for {set i 1} {$i < ${NbCurv}} {incr i} {
+    for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
+      mkedge e1 c_$i
+      mkedge e2 c_$j
+      
+      dset dd_val 100.0*${Toler}
+      distmini dd e1 e2
+      
+      if { [dval dd_val] > ${Toler} } {
+        puts "Error: Intersection result is not closed"
+      }
+    }
+  }
+} else {
+  checklength c_1 -l 86.536841230136204
+}
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug27310_1 b/tests/lowalgos/intss/bug27310_1
new file mode 100644 (file)
index 0000000..146b73d
--- /dev/null
@@ -0,0 +1,25 @@
+puts "========"
+puts "OCC27310"
+puts "========"
+puts ""
+#################################################
+# Huge tolerance obtained in the result of intersection of two cylindrical faces
+#################################################
+
+# Number of intersection curves cannot be subject to anything (indeed, output result can be empty).
+# The main reason of the bug #27310 was a HUGE TOLERANCE VALUE (TolReached > 10).
+# See test "bugs moddata_2 bug496" in case of doubt.
+
+set ExpTol 1.0e-7
+
+restore [locate_data_file OCC496a.brep] a 
+restore [locate_data_file OCC496b.brep] b
+
+explode a f
+explode b f
+
+set log [bopcurves a_8 b_2 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+checkreal TolReached $Toler $ExpTol 0.0 0.1
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug27310_2 b/tests/lowalgos/intss/bug27310_2
new file mode 100644 (file)
index 0000000..80f3cc0
--- /dev/null
@@ -0,0 +1,25 @@
+puts "========"
+puts "OCC27310"
+puts "========"
+puts ""
+#################################################
+# Huge tolerance obtained in the result of intersection of two cylindrical faces
+#################################################
+
+# Number of intersection curves cannot be subject to anything (indeed, output result can be empty).
+# The main reason of the bug #27310 was a HUGE TOLERANCE VALUE (TolReached > 10).
+# See test "bugs moddata_2 bug496" in case of doubt.
+
+set ExpTol 9.9999999999999995e-08
+
+restore [locate_data_file OCC496a.brep] a 
+restore [locate_data_file OCC496b.brep] b
+
+explode a f
+explode b f
+
+set log [bopcurves a_10 b_4 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+checkreal TolReached $Toler $ExpTol 0.0 0.1
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug27431 b/tests/lowalgos/intss/bug27431
new file mode 100644 (file)
index 0000000..5d6cb90
--- /dev/null
@@ -0,0 +1,66 @@
+puts "============"
+puts "OCC27431"
+puts "============"
+puts ""
+###############################
+## [Regression to 6.9.1] Huge tolerance obtained during intersection of cylinder and sphere
+###############################
+
+pload ALL
+
+set GoodNbCurv 4
+
+restore [locate_data_file OCC13116_sh1.brep] b1
+restore [locate_data_file OCC13116_sh2.brep] b2
+
+explode b1 f
+explode b2 f
+
+set log1 [bopcurves b1_3 b2_1 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log1} full Toler NbCurv
+
+if { ${Toler} > 0.0005} {
+   puts "Error: bad tolerance of result"
+}
+
+smallview
+don b1_3 b2_1 c_*
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d_1.png
+
+v2d
+don c2d*
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d_1.png
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+}
+
+# increasing tolerance values of the faces on Precision::Confusion()
+# dramatically increased (before fixing) the tolerance of 
+# the produced section curves
+
+settolerance b1_3 2.34623727264857e-007
+settolerance b2_1 2.e-7
+
+set log2 [bopcurves b1_3 b2_1 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log2} full Toler NbCurv
+
+if { ${Toler} > 0.0005} {
+   puts "Error: bad tolerance of result"
+}
+
+smallview
+don b1_3 b2_1 c_*
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d_2.png
+
+v2d
+don c2d*
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d_2.png
diff --git a/tests/lowalgos/intss/bug27623 b/tests/lowalgos/intss/bug27623
new file mode 100644 (file)
index 0000000..8c9895d
--- /dev/null
@@ -0,0 +1,21 @@
+puts "TODO OCC27623 ALL: ERROR: OCC27623 is reproduced."
+
+puts "========"
+puts "OCC27623"
+puts "========"
+puts ""
+#####################################################################
+# Cannot find intersection line between two trimmed planar surfaces
+#####################################################################
+
+plane s1 0 0 0 0 0 1 1 0 0
+trim s1 s1 -10 10 -10 10
+plane s2 0 0 10 1 0 0 0 0 1
+trim s2 s2 -10+1.0e-5 10 -10+1.0e-5 10
+
+intersect ii s1 s2 4.0e-4
+
+set bug_info [string trim [whatis ii]]
+if {[string length $bug_info] == 7} {
+  puts "ERROR: OCC27623 is reproduced. Intersection of trimmed planar surface has not been detected."
+}
diff --git a/tests/lowalgos/intss/bug27664_1 b/tests/lowalgos/intss/bug27664_1
new file mode 100644 (file)
index 0000000..3cddf67
--- /dev/null
@@ -0,0 +1,56 @@
+puts "========"
+puts "OCC27664"
+puts "========"
+puts ""
+#################################################
+# Incomplete intersection curve from the attached shapes
+#################################################
+
+set ExpTol 1.1e-7
+set GoodNbCurv 3
+set GoodLength 0.6288896355727489
+
+restore [locate_data_file bug27664_pl0.brep] pl0
+restore [locate_data_file bug27664_nsh_8.brep] nsh_8
+explode nsh_8 f
+explode pl0 f
+
+set log [bopcurves pl0_1 nsh_8_4 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+}
+
+checkreal TolReached $Toler $ExpTol 0.0 0.1
+
+set clen 0.0
+
+for {set ic 1} { $ic <= ${NbCurv} } { incr ic} {
+  
+  set le [length c_$ic]
+  regexp "The length c_$ic is +(\[-0-9.+eE\]+)" ${le} full ll
+  
+  puts "ll = $ll"
+  
+  set clen [expr $clen+$ll]
+}
+
+puts "Summary length = $clen"
+
+checkreal Length $clen $GoodLength 0.0 1.0e-5
+
+smallview
+don c_*
+fit
+display pl0_1 nsh_8_4
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
+
+top
+don c_*
+fit
+display pl0_1 nsh_8_4
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
diff --git a/tests/lowalgos/intss/bug27747 b/tests/lowalgos/intss/bug27747
new file mode 100644 (file)
index 0000000..300aabb
--- /dev/null
@@ -0,0 +1,60 @@
+puts "========"
+puts "OCC27747"
+puts "========"
+puts ""
+#################################################
+# Incomplete section curves between faces
+#################################################
+
+set GoodNbCurv 1
+set ToleranceReachedf1f3 6.0605798668789834e-08
+set ToleranceReachedf2f3 7.0639332021089653e-08
+
+restore [locate_data_file bug27747_faces.brep] f
+explode f
+
+# ----
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f_1 f_3 -2d] full Toler NbCurv
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler $ToleranceReachedf1f3 0.0 0.1
+
+# ----
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f_2 f_3 -2d] full Toler NbCurv
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler $ToleranceReachedf2f3 0.0 0.1
+
+# ----
+
+settolerance f_1 1.e-7
+fixshape f1 f_1
+tolerance f1
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f_3 -2d] full Toler NbCurv
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler $ToleranceReachedf1f3 0.0 0.1
+
+# ----
+
+settolerance f_2 1.e-7
+fixshape f2 f_2
+tolerance f2
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f2 f_3 -2d] full Toler NbCurv
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler $ToleranceReachedf2f3 0.0 0.1
diff --git a/tests/lowalgos/intss/bug27766 b/tests/lowalgos/intss/bug27766
new file mode 100644 (file)
index 0000000..c039cd8
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "OCC27766"
+puts "========"
+puts ""
+#################################################
+# Incorrect section curves between attached cylinders
+#################################################
+
+set ExpTol 1.0e-7
+set GoodNbCurv 3
+
+restore [locate_data_file bug27761_c1.brep] c1
+restore [locate_data_file bug27761_c2.brep] c2
+
+set log [bopcurves c1 c2 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {${NbCurv} != ${GoodNbCurv}} {
+  puts "Error: Number of curves is bad!"
+}
+
+checkreal TolReached $Toler $ExpTol 0.0 0.1
+
+smallview
+don c_*
+fit
+disp c1 c2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug27780 b/tests/lowalgos/intss/bug27780
new file mode 100644 (file)
index 0000000..4df90be
--- /dev/null
@@ -0,0 +1,33 @@
+puts "============"
+puts "OCC27780"
+puts "============"
+puts ""
+######################################################
+# Face-face intersection produces 2D curve that has reversed derivative at its end
+######################################################
+
+restore [locate_data_file buc60532a.brep] p 
+restore [locate_data_file buc60532b.brep] t1
+explode t1 f
+
+bopcurves p t1_2 -2d -p 6.2406621764215551 0.23999999463558200 0.00034444887595448459 -5.0019657458625186
+
+pcurve p
+trim c c2d1_1 0 1
+2dcvalue c 0 u0 v0
+2dcvalue c 1 u1 v1 du dv
+dset u01 u1-u0
+dset v01 v1-v0
+dset dot u01*du+v01*dv
+
+if {[dval dot] < 0} {
+  puts "Error: p-curve has reversed direction at its end"
+} else {
+  puts "OK: p-curve has correct direction at its end"
+}
+
+view 1 -2D- 728 450 400 400
+don p_* c
+2dfit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug27842 b/tests/lowalgos/intss/bug27842
new file mode 100644 (file)
index 0000000..e55c77d
--- /dev/null
@@ -0,0 +1,29 @@
+puts "============"
+puts "OCC27842"
+puts "============"
+puts ""
+######################################################
+# Exception in intersection algorithm if FPE is switched on
+######################################################
+
+dsetsignal 1
+
+restore [locate_data_file bug27842_shape1_fix.brep] b1 
+restore [locate_data_file bug27842_shape2_fix.brep] b2
+
+explode b2 f
+
+bopcurves b1 b2_33 -2d
+
+bcommon result b1 b2
+
+checknbshapes result -wire 3 -face 1
+
+checkshape result
+
+checkprops result -s 10.8848
+
+smallview;
+donly result
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug27856_2 b/tests/lowalgos/intss/bug27856_2
new file mode 100644 (file)
index 0000000..aabc7a1
--- /dev/null
@@ -0,0 +1,118 @@
+puts "========"
+puts "OCC27856"
+puts "========"
+puts ""
+#################################################
+# Regression vs 6.7.1: General Fuse operation fails to fuse the solids
+#################################################
+
+# Before the fix, EMPTY result (no points, no curves)
+# was returned in every considered case.
+
+restore [locate_data_file bug27856_int_solids.brep] b
+
+explode b so
+
+# first pair of solids
+explode b_1 f
+explode b_2 f
+
+# ----
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_1_2 b_2_2 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler 0.00026207823091004516 0.0 1.0e-3
+
+# ----
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_1_4 b_2_4 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler 6.5053102894636701e-005 0.0 1.0e-2
+
+# ----
+
+# second pair of solids
+
+explode b_3 f
+explode b_4 f
+
+# ----
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_3_2 b_4_2 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler 0.00029706239430643614 0.0 1.0e-3
+
+# ----
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_3_4 b_4_4 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler 0.00029242389138280588 0.0 1.0e-3
+
+# ----
+
+# third pair of solids
+
+explode b_5 f
+explode b_6 f
+
+# ----
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_5_2 b_6_2 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler 1.4980089259007279e-005 0.0 1.0e-2
+
+# ----
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_5_4 b_6_4 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler 0.00023417493528435788 0.0 1.0e-3
+
+# ----
+
+# fourth pair of solids
+
+explode b_7 f
+explode b_8 f
+
+# ----
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_7_2 b_8_2 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler 0.00027445924390073518 0.0 1.0e-3
+
+# ----
+
+set Toler 0.0
+set NbCurv 0
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b_7_4 b_8_4 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+checkreal TolReached $Toler 1.867918118939262e-005 0.0 1.0e-2
+
diff --git a/tests/lowalgos/intss/bug27896 b/tests/lowalgos/intss/bug27896
new file mode 100644 (file)
index 0000000..427933f
--- /dev/null
@@ -0,0 +1,40 @@
+puts "============"
+puts "OCC27896"
+puts "============"
+puts ""
+###############################
+## Prm-Prm intersection algo returns wrong result if it is called with start
+## intersection point, which lies in the domain boundary
+###############################
+
+set tol_abs_Tolerance_Reached 1.0e-7
+set tol_rel_Tolerance_Reached 0.1
+set GoodNbCurves 2
+
+restore [locate_data_file bug25319_S1.brep] b1
+restore [locate_data_file bug25319_S2.brep] b2
+explode b1 f
+explode b2 f
+
+# GOOD result before the fix
+set log1 [bopcurves b1_8 b2_17 -2d -p +1.09444207768950010000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639710000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000]
+
+# BAD result before the fix
+set log2 [bopcurves b1_8 b2_17 -2d -p +1.09444207768949960000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639750000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log1} full Tolerance_Reached1 NbCurv1
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log2} full Tolerance_Reached2 NbCurv2
+
+set expected_Tolerance_Reached1 2.2611960020325053e-007
+set expected_Tolerance_Reached2 5.0364838664362801e-006
+
+checkreal "Tolerance Reached" ${Tolerance_Reached1} ${expected_Tolerance_Reached1} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
+checkreal "Tolerance Reached" ${Tolerance_Reached2} ${expected_Tolerance_Reached2} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
+
+if { $NbCurv1 != $GoodNbCurves } {
+  puts "Error in case 1: $GoodNbCurves curve(s) is expected but $NbCurv1 is found"
+}
+
+if { $NbCurv2 != $GoodNbCurves } {
+  puts "Error in case 2: $GoodNbCurves curve(s) is expected but $NbCurv2 is found"
+}
diff --git a/tests/lowalgos/intss/bug27937_1 b/tests/lowalgos/intss/bug27937_1
new file mode 100644 (file)
index 0000000..d4337ee
--- /dev/null
@@ -0,0 +1,76 @@
+puts "================"
+puts "OCC27937"
+puts "================"
+puts ""
+#######################################################################
+# 0027937: Intersector loops infinitely while proceeding two simple surfaces
+#######################################################################
+
+cpulimit 100
+
+# Attention!!!
+# The test on performance meter.
+# See issue #27937 for detail.
+set GoodNbCurv 4
+
+restore [locate_data_file bug27937_int1.draw] s1
+restore [locate_data_file bug27937_int2.draw] s2
+
+intersect result s1 s2
+
+set che [whatis result]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "result" exists
+  renamevar result result_1
+}
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis result_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    display result_$ic
+    
+    bounds result_$ic U1 U2
+    
+    dump U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs result_$ic s1 U1 U2 10 3.0e-5
+    xdistcs result_$ic s2 U1 U2 10 1.0e-5
+    
+    for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
+      mkedge e1 result_$ic
+      mkedge e2 result_$ip
+
+      set coe [checkoverlapedges e1 e2 5.0e-5]
+
+      puts "result_$ic <-> result_$ip: $coe"
+      if { [regexp "Edges is not overlaped" $coe] != 1 } {
+        puts "Error: result_$ic and result_$ip are overlaped"
+      }
+    }
+     
+    incr ic
+  }
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
+}
+
+smallview
+don result*
+fit
+clear
+don s1 s2 result*
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug27937_2 b/tests/lowalgos/intss/bug27937_2
new file mode 100644 (file)
index 0000000..00032ca
--- /dev/null
@@ -0,0 +1,77 @@
+puts "================"
+puts "OCC27937"
+puts "================"
+puts ""
+#######################################################################
+# 0027937: Intersector loops infinitely while proceeding two simple surfaces
+#######################################################################
+
+cpulimit 100
+
+# Attention!!!
+# The test on performance meter.
+# See issue #27937 for detail.
+set GoodNbCurv 4
+
+ellipse c1 0 0 0 0 0 1 6.03031367203927 3.11993062568844
+extsurf s1 c1 0 0 1
+cylinder s2 0 0 0 1 0 0 0.249128788767645
+
+intersect result s1 s2
+
+set che [whatis result]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "result" exists
+  renamevar result result_1
+}
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis result_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    display result_$ic
+    
+    bounds result_$ic U1 U2
+    
+    dump U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs result_$ic s1 U1 U2 10 4.0e-5
+    xdistcs result_$ic s2 U1 U2 10 1.0e-5
+    
+    for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
+      mkedge e1 result_$ic
+      mkedge e2 result_$ip
+
+      set coe [checkoverlapedges e1 e2 5.0e-5]
+
+      puts "result_$ic <-> result_$ip: $coe"
+      if { [regexp "Edges is not overlaped" $coe] != 1 } {
+        puts "Error: result_$ic and result_$ip are overlaped"
+      }
+    }
+     
+    incr ic
+  }
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
+}
+
+smallview
+don result*
+fit
+clear
+don s1 s2 result*
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug27950 b/tests/lowalgos/intss/bug27950
new file mode 100644 (file)
index 0000000..5c08e6c
--- /dev/null
@@ -0,0 +1,59 @@
+puts "TODO OCC27950 ALL: ERROR: OCC27950 is reproduced."
+
+puts "========"
+puts "OCC27950"
+puts "========"
+puts ""
+############################################################################
+# Result of intersection algorithm depends too much on surface trim bounds
+############################################################################
+
+restore [locate_data_file bug27950_s1.draw] s1
+restore [locate_data_file bug27950_s2.draw] s2
+
+set bug_info [string trim [intersect i1 s1 s2]]
+if {[llength $bug_info] != 4} {
+  puts "ERROR: OCC27950 is reproduced. Step #1. Result of intersection is [llength $bug_info]."
+}
+
+trimv s2t s2 200 300
+set bug_info [string trim [intersect i2 s1 s2t]]
+if {[llength $bug_info] != 4} {
+  puts "ERROR: OCC27950 is reproduced. Step #2. Result of intersection is [llength $bug_info]."
+}
+
+trimv s2t s2 200 220
+set bug_info [string trim [intersect i3 s1 s2t]]
+if {[llength $bug_info] != 4} {
+  puts "ERROR: OCC27950 is reproduced. Step #3. Result of intersection is [llength $bug_info]."
+}
+
+trimv s2t s2 205.38050051360744 210.55652011282123
+set bug_info [string trim [intersect i4 s1 s2t]]
+if {[llength $bug_info] != 4} {
+  puts "ERROR: OCC27950 is reproduced. Step #4. Result of intersection is [llength $bug_info]."
+}
+
+trimv s2t s2 205 211
+set bug_info [string trim [intersect i5 s1 s2t]]
+if {[llength $bug_info] != 4} {
+  puts "ERROR: OCC27950 is reproduced. Step #5. Result of intersection is [llength $bug_info]."
+}
+
+trimv s2t s2 206 210
+set bug_info [string trim [intersect i6 s1 s2t]]
+if {[llength $bug_info] != 4} {
+  puts "ERROR: OCC27950 is reproduced. Step #6. Result of intersection is [llength $bug_info]."
+}
+
+trimv s2t s2 205.4 210.575
+set bug_info [string trim [intersect i7 s1 s2t]]
+if {[llength $bug_info] != 4} {
+  puts "ERROR: OCC27950 is reproduced. Step #7. Result of intersection is [llength $bug_info]."
+}
+
+trimv s2t s2 205.353 210.529
+set bug_info [string trim [intersect i8 s1 s2t]]
+if {[llength $bug_info] != 4} {
+  puts "ERROR: OCC27950 is reproduced. Step #8. Result of intersection is [llength $bug_info]."
+}
diff --git a/tests/lowalgos/intss/bug28009_2 b/tests/lowalgos/intss/bug28009_2
new file mode 100644 (file)
index 0000000..ae76e71
--- /dev/null
@@ -0,0 +1,31 @@
+puts "================"
+puts "OCC28009"
+puts "================"
+puts ""
+#######################################################################
+# [Regression vs OCCT7.0.0] Cut produces not valid shape
+#######################################################################
+
+set NbCurvGood 1
+set ExpToler 5.441959818453312e-008
+
+restore [locate_data_file bug28009_shape.brep] a
+
+explode a
+
+explode a_1 f
+explode a_2 f
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves a_1_6 a_2_1 -2d] full Toler NbCurv
+if {${NbCurv} != 1} {
+  puts "Error: Number of curves is bad!"
+}
+
+checkreal TolReached $Toler $ExpToler 0.0 0.1
+
+smallview
+don c_*
+fit
+display a_1_6 a_2_1
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28012 b/tests/lowalgos/intss/bug28012
new file mode 100644 (file)
index 0000000..6b92339
--- /dev/null
@@ -0,0 +1,17 @@
+puts "========"
+puts "OCC28012"
+puts "========"
+puts ""
+#################################################
+# Exception while intersecting two surfaces
+#################################################
+
+restore [locate_data_file bug28012_s1.draw] s1
+restore [locate_data_file bug28012_s2.draw] s2
+
+intersect result s1 s2 0.00012162815337817315 0.0010404164685680738 0.99999999999999989 0.22068942273845651
+
+smallview
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28085_2 b/tests/lowalgos/intss/bug28085_2
new file mode 100644 (file)
index 0000000..a4ef28b
--- /dev/null
@@ -0,0 +1,33 @@
+puts "============"
+puts "OCC28085: Incorrect result of CUT operation"
+puts "============"
+puts ""
+
+foreach a [directory c_*] {unset $a}
+
+# enable FPE signals
+dsetsignal 1
+
+restore [locate_data_file bug28883_Prism.brep] b1
+restore [locate_data_file bug28883_LES_2d_shell.brep] b2
+
+explode b1 f
+explode b2 f
+
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_74 b2_13 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 0.0 1.0e-7 0.0
+
+if {$NbCurv != 1} {
+  puts "Error: Please check NbCurves for intersector"
+} else {
+  puts "OK: good number of curves!"
+  checklength c_1 -l 0.036019405388914391 -eps 1.0e-3
+}
+
+don c_*
+smallview; fit;
+disp b1_74 b2_13
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28222_1 b/tests/lowalgos/intss/bug28222_1
new file mode 100644 (file)
index 0000000..d6bf565
--- /dev/null
@@ -0,0 +1,45 @@
+puts "================"
+puts "OCC28222"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of two cylinders fails
+#######################################################################
+
+dsetsignal 1
+
+set GoodNbCurv 4
+
+foreach c [directory result*] {
+  unset $c
+}
+
+restore [locate_data_file bug28222_s1_cyl_read_d2.draw] s1
+restore [locate_data_file bug28222_s2_cyl_read_d2.draw] s2
+
+intersect result s1 s2
+
+foreach c [directory result*] {
+  bounds $c U1 U2
+  
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  xdistcs $c s1 U1 U2 10 2.0e-7
+  xdistcs $c s2 U1 U2 10 2.0e-7    
+}
+
+set NbCurv [llength [directory result*]]
+
+if { $NbCurv == $GoodNbCurv } {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
+}
+
+smallview
+don result*
+fit
+disp s1 s2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28222_2 b/tests/lowalgos/intss/bug28222_2
new file mode 100644 (file)
index 0000000..3fd838d
--- /dev/null
@@ -0,0 +1,45 @@
+puts "================"
+puts "OCC28222"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of two cylinders fails
+#######################################################################
+
+dsetsignal 1
+
+set GoodNbCurv 4
+
+foreach c [directory result*] {
+  unset $c
+}
+
+cylinder s1 -35 13.3706576198285 30.5814570420266 0 -0.258819045102521 -0.965925826289068 0 0.965925826289068 -0.258819045102521 11
+cylinder s2 0 0 0 1 0 0 0 0 -1 16.5
+
+intersect result s1 s2
+
+foreach c [directory result*] {
+  bounds $c U1 U2
+  
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  xdistcs $c s1 U1 U2 10 2.0e-7
+  xdistcs $c s2 U1 U2 10 2.0e-7    
+}
+
+set NbCurv [llength [directory result*]]
+
+if { $NbCurv == $GoodNbCurv } {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
+}
+
+smallview
+don result*
+fit
+disp s1 s2
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28222_3 b/tests/lowalgos/intss/bug28222_3
new file mode 100644 (file)
index 0000000..3e1f0ac
--- /dev/null
@@ -0,0 +1,46 @@
+puts "================"
+puts "OCC28222"
+puts "================"
+puts ""
+#######################################################################
+#  Intersection of two cylinders fails
+#######################################################################
+
+dsetsignal 1
+
+set GoodNbCurv 2
+
+foreach c [directory result*] {
+  unset $c
+}
+
+cylinder s1 -9 -5 -2.2058 0 -1 0 0.001
+cylinder s2 0 0 -2.2058 0 0 -1 9
+
+intersect result s1 s2
+
+foreach c [directory result*] {
+  bounds $c U1 U2
+  
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+  }
+  
+  xdistcs $c s1 U1 U2 10 2.0e-7
+  xdistcs $c s2 U1 U2 10 2.0e-7    
+}
+
+set NbCurv [llength [directory result*]]
+
+if { $NbCurv == $GoodNbCurv } {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
+}
+
+smallview
+don result*
+fit
+don  s1 s2
+disp result*
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28406 b/tests/lowalgos/intss/bug28406
new file mode 100644 (file)
index 0000000..db15b36
--- /dev/null
@@ -0,0 +1,31 @@
+puts "TODO 0028406 ALL: Error: MaxTolerance"
+
+puts "======="
+puts "0028406"
+puts "======="
+puts ""
+#######################################################
+# High tolerances after boolean operation on OCCT 6.9.1
+#######################################################
+
+restore [locate_data_file bug28406_ar_shape_to_cuts.brep]  b1
+restore [locate_data_file bug28406_ar_cutting_shapes.brep] b2
+
+explode b2 f
+
+set log_1 [bopcurves b1 b2_1 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $log_1 full tol_reached_1
+
+set log_2 [bopcurves b1 b2_7 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $log_2 full tol_reached_2
+
+set log_3 [maxtolerance b2]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $log_3 full MaxFaceTolerance
+
+
+set ToleranceReached-6-9-1_1 0.044936986074371126
+set ToleranceReached-6-9-1_2 0.024455156919182791
+set tol_rel_MaxTol 0.0001
+
+checkreal "MaxTolerance 2_1 " ${tol_reached_1} ${ToleranceReached-6-9-1_1} ${MaxFaceTolerance} ${tol_rel_MaxTol}
+checkreal "MaxTolerance 2_7 " ${tol_reached_2} ${ToleranceReached-6-9-1_2} ${MaxFaceTolerance} ${tol_rel_MaxTol}
diff --git a/tests/lowalgos/intss/bug28493 b/tests/lowalgos/intss/bug28493
new file mode 100644 (file)
index 0000000..f05c911
--- /dev/null
@@ -0,0 +1,36 @@
+puts "========"
+puts "0028493: Intersection algorithm produces curve with loop"
+puts "========"
+puts ""
+
+foreach a [directory c*] {unset $a}
+
+restore [locate_data_file bug28491_H0.brep] h0
+restore [locate_data_file bug28491_Prism.brep] s1
+explode h0 f
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves h0_57 s1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 1.2073645369286468e-08 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+#check whether the curves have a loop
+for { set ic 1 } { $ic <= $NbCurv } {incr ic} {
+  bounds c_$ic U1 U2
+  if {[dval U2-U1] < 1.0e-9} {
+    puts "Error: Wrong curve's range!"
+    continue
+  }
+  
+  CheckLoops c_$ic 0.86602540378443864676372317075294    
+}
+
+smallview
+don c_*
+fit
+disp h0_57 s1
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug28544_2 b/tests/lowalgos/intss/bug28544_2
new file mode 100644 (file)
index 0000000..2a6c66a
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC28544 ALL: Error: Big tolerance value is returned by Implicit-parametric algorithm"
+
+puts "========"
+puts "OCC28544"
+puts "========"
+puts ""
+##################################################################
+# Big tolerance value is returned by Implicit-parametric algorithm
+##################################################################
+
+restore [locate_data_file heal-Face1.rle] b1
+restore [locate_data_file Plan.rle] b2
+
+set log_1 [bopcurves b1 b2 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $log_1 full tol_reached
+
+set log_2 [maxtolerance b1]
+regexp { +Face +: +Min +([-0-9.+eE]+) +Max +([-0-9.+eE]+)} $log_2 full MinFaceTolerance MaxFaceTolerance
+
+if { ${tol_reached} > ${MaxFaceTolerance} } {
+   puts "Error: Big tolerance value is returned by Implicit-parametric algorithm"
+}
diff --git a/tests/lowalgos/intss/bug28557 b/tests/lowalgos/intss/bug28557
new file mode 100644 (file)
index 0000000..b878a85
--- /dev/null
@@ -0,0 +1,33 @@
+puts "========"
+puts "OCC28557"
+puts "========"
+puts ""
+#################################################
+# Test case bugs modalg_6 bug27615 works differently on VC10 and VC12
+#################################################
+
+set MaxTolReached 5.0e-6
+set GoodNbCurv 1
+
+brestore [locate_data_file bug27615.brep] b
+explode b f
+copy b_1 f1; copy b_19 f2;
+don f1 f2
+set log [bopcurves f1 f2 -2d -p 2.2023968513463648  29.150590232723459 2. 0.085664915040461045 -p 2.2023968513457164 31.082210390953925 2.9507808705284453 0.085823752287563393]
+
+smallview
+donly c_1
+fit
+disp f1 f2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {$Toler > $MaxTolReached} {
+  puts "Error: Big tolerance is returned by intersector"
+}
+
+if {$NbCurv != $GoodNbCurv} {
+  puts "Error: Please check NbCurves for intersector"
+}
diff --git a/tests/lowalgos/intss/bug286 b/tests/lowalgos/intss/bug286
new file mode 100644 (file)
index 0000000..1f95128
--- /dev/null
@@ -0,0 +1,28 @@
+puts "TODO OCC12345 ALL: Faulty OCC286: Attempt to project the point on surface gives wrong result."
+puts "========================"
+puts " OCC286 "
+puts "========================"
+puts ""
+
+restore [locate_data_file OCC286a.draw] a 
+restore [locate_data_file OCC286b.draw] b
+
+intersect i a b
+cvalue i 0.31 x y z
+point p x y z
+proj b x y z
+
+set err1 ""
+set err2 ""
+set err3 ""
+regexp {Point +: +([-0-9.+eE]+, +[-0-9.+eE]+, +[-0-9.+eE]+)} [dump ext_1] full err1
+regexp {Point +: +([-0-9.+eE]+, +[-0-9.+eE]+, +[-0-9.+eE]+)} [dump ext_2] full err2
+regexp {Point +: +([-0-9.+eE]+, +[-0-9.+eE]+, +[-0-9.+eE]+)} [dump ext_3] full err3
+
+if { $err1 == $err2  || $err1 == $err3 || $err2 == $err3 } {
+    puts "Faulty OCC286: Attempt to project the point on surface gives wrong result."
+} else {
+    puts "OCC286 OK : Attempt to project the point on surface gives correct result"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28718 b/tests/lowalgos/intss/bug28718
new file mode 100644 (file)
index 0000000..ee83596
--- /dev/null
@@ -0,0 +1,34 @@
+puts "========"
+puts "OCC28718"
+puts "========"
+puts ""
+#################################################
+# Section result has a break
+#################################################
+
+restore [locate_data_file bug28718_bulk_1.brep] b1
+restore [locate_data_file bug28718_hull.brep] b2
+
+####
+
+explode b1 f
+explode b2 f
+axo
+don b2_61
+fit
+
+set log [bopcurves b1_1 b2_61 -2d]
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+checkreal TolReached $Toler 3.589120933029448e-08 0.0 0.1
+
+nurbsconvert ff b2_61
+set log [bopcurves b1_1 ff -2d]
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+checkreal TolReached $Toler 3.9019558966741645e-08 0.0 0.1
+
+bsection result b1 b2
+
+checkprops result -l 19.1199
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28764 b/tests/lowalgos/intss/bug28764
new file mode 100644 (file)
index 0000000..25c5de6
--- /dev/null
@@ -0,0 +1,27 @@
+puts "========"
+puts "OCC28764"
+puts "========"
+puts ""
+#################################################
+# [Regression to 7.0] Intersection of faces gives exception in debug mode
+#################################################
+
+restore [locate_data_file bug28764_ff.brep] f
+explode f
+
+####
+
+axo
+don f
+fit
+
+# Before the fix: Exception in Debug-mode only
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f_1 f_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 4.601149532364662e-008 1.0e-7 0.0
+
+if {$NbCurv != 1} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug28984 b/tests/lowalgos/intss/bug28984
new file mode 100644 (file)
index 0000000..b8f120f
--- /dev/null
@@ -0,0 +1,23 @@
+puts "======="
+puts "0028984"
+puts "======="
+puts ""
+##################################################
+# Huge intersection tolerance obtained by Face/Face intersection algorithm
+##################################################
+
+binrestore [locate_data_file bug28984_faces.bin] f
+
+explode f
+
+set log [bopcurves f_1 f_2 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $log full tol_reached
+regexp {([1-9]) curve} $log full nb_curves
+
+if {$nb_curves != 2} {
+  puts "Error: Invalid number of curves"
+}
+
+if {$tol_reached > 0.01} {
+  puts "Error: Too big intersection tolerance"
+}
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29103 b/tests/lowalgos/intss/bug29103
new file mode 100644 (file)
index 0000000..33bc06c
--- /dev/null
@@ -0,0 +1,56 @@
+puts "========"
+puts "OCC29103"
+puts "========"
+puts ""
+#################################################
+# No intersection curve between faces if starting points are given
+#################################################
+
+set MaxTolReached 2.0e-7
+set GoodNbCurv 1
+set ExpLength 0.074141742883251954
+
+restore [locate_data_file bug29073_M6.brep] a
+restore [locate_data_file bug29073_Shell.brep] b
+explode a f
+explode b f
+
+don b_2
+axo
+fit
+disp a_6
+
+set log1 [bopcurves a_6 b_2 -2d]
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
+checklength c_1 -l $ExpLength
+
+don b_2
+axo
+fit
+disp a_6
+
+set log2 [bopcurves a_6 b_2 -2d -p -0.55478319275098653 1.2919191091235780 0.80333089657224976 0.67079577554162440 -p -0.62451407353846222 1.2667484772947102 0.82894736842100003 0.70523311453721027]
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
+checklength c_1 -l $ExpLength
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log1} full Toler1 NbCurv1
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log2} full Toler2 NbCurv2
+
+if {$Toler1 > $MaxTolReached} {
+  puts "Error: Big tolerance is returned by intersector w/o start points"
+}
+
+if {$Toler2 > $MaxTolReached} {
+  puts "Error: Big tolerance is returned by intersector with start points"
+}
+
+if {$NbCurv1 != $GoodNbCurv} {
+  puts "Error: Please check NbCurves for intersector w/o start points"
+}
+
+if {$NbCurv2 != $GoodNbCurv} {
+  puts "Error: Please check NbCurves for intersector with start points"
+}
+
diff --git a/tests/lowalgos/intss/bug29323 b/tests/lowalgos/intss/bug29323
new file mode 100644 (file)
index 0000000..ca94e94
--- /dev/null
@@ -0,0 +1,35 @@
+puts "========"
+puts "OCC29323"
+puts "========"
+puts ""
+#################################################
+# Intersection algorithm produces the curve with oscillation
+#################################################
+
+set MaxTolReached 0.15
+set GoodNbCurv 1
+set ExpLength 96.268040111795571
+
+restore [locate_data_file bug29323_hb.brep] h
+plane p 0 0 4 0 0 1
+mkface f p -200 200 -200 200
+explode h f
+
+set log [bopcurves h_4 f -2d]
+
+smallview
+donly c_1
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
+checklength c_1 -l $ExpLength
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
+
+if {$Toler > $MaxTolReached} {
+  puts "Error: Big tolerance is returned by intersector"
+}
+
+if {$NbCurv != $GoodNbCurv} {
+  puts "Error: Please check NbCurves for intersector"
+}
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29494 b/tests/lowalgos/intss/bug29494
new file mode 100644 (file)
index 0000000..65c7b79
--- /dev/null
@@ -0,0 +1,35 @@
+puts "========"
+puts "OCC29494"
+puts "========"
+puts ""
+#################################################
+# Intersection line between two parametric surfaces is restricted incorrectly if it matches 
+# the surface boundary
+#################################################
+
+restore [locate_data_file bug29488_shapes.brep] s
+explode s
+
+explode s_4 f; copy s_4_13 f1
+explode s_6 f; copy s_6_18 f2
+
+smallview
+clear
+bopcurves f1 f2 -2d
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
+
+if {$Toler > 1.0e-7} {
+  puts "Error: Big tolerance is returned by intersector"
+}
+
+if {$NbCurv != 1} {
+  puts "Error: Please check NbCurves for intersector"
+} else {
+  checklength c_1 -l 19.2
+}
+
+fit
+disp f1 f2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug29807_i1001 b/tests/lowalgos/intss/bug29807_i1001
new file mode 100644 (file)
index 0000000..cc3136e
--- /dev/null
@@ -0,0 +1,26 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+explode b1 f
+explode b2 f
+smallview
+don b1_5 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 0.00015253053837904724 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i1002 b/tests/lowalgos/intss/bug29807_i1002
new file mode 100644 (file)
index 0000000..544cbab
--- /dev/null
@@ -0,0 +1,29 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
+removeloc b2 b2
+
+explode b1 f
+explode b2 f
+smallview
+don b1_5 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 0.00039718358540697849 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i1003 b/tests/lowalgos/intss/bug29807_i1003
new file mode 100644 (file)
index 0000000..10e841e
--- /dev/null
@@ -0,0 +1,29 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
+removeloc b2 b2
+
+explode b1 f
+explode b2 f
+smallview
+don b1_5 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 5.0314111870170835e-005 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i1004 b/tests/lowalgos/intss/bug29807_i1004
new file mode 100644 (file)
index 0000000..2704a41
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 
+ttranslate b2 0 0 0.3
+
+explode b1 f
+explode b2 f
+smallview
+don b1_5 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 0.00011289757099748416 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i1005 b/tests/lowalgos/intss/bug29807_i1005
new file mode 100644 (file)
index 0000000..dea1d94
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38
+ttranslate b2 0 0 2
+
+explode b1 f
+explode b2 f
+smallview
+don b1_5 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 7.7125880147734232e-007 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i1006 b/tests/lowalgos/intss/bug29807_i1006
new file mode 100644 (file)
index 0000000..037bd51
--- /dev/null
@@ -0,0 +1,27 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug25542_cylinder.brep] b1
+restore [locate_data_file bug25542_cone.brep] b2
+
+explode b1 f
+explode b2 f
+
+smallview
+don b1_1 b2_1
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_1 b2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 0.0016015772839744358 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i2001 b/tests/lowalgos/intss/bug29807_i2001
new file mode 100644 (file)
index 0000000..c177256
--- /dev/null
@@ -0,0 +1,27 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+explode b1 f
+explode b2 f
+nurbsconvert f1 b1_5
+smallview
+don f1 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 2.693336906196208e-008 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i2002 b/tests/lowalgos/intss/bug29807_i2002
new file mode 100644 (file)
index 0000000..d8edea2
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
+removeloc b2 b2
+
+explode b1 f
+explode b2 f
+nurbsconvert f1 b1_5
+smallview
+don f1 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 2.9119212307774807e-007 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i2003 b/tests/lowalgos/intss/bug29807_i2003
new file mode 100644 (file)
index 0000000..fe3a0bc
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
+removeloc b2 b2
+
+explode b1 f
+explode b2 f
+nurbsconvert f1 b1_5
+smallview
+don f1 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 2.412545178522274e-008 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i2004 b/tests/lowalgos/intss/bug29807_i2004
new file mode 100644 (file)
index 0000000..0080166
--- /dev/null
@@ -0,0 +1,31 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 
+ttranslate b2 0 0 0.3
+
+explode b1 f
+explode b2 f
+nurbsconvert f1 b1_5
+smallview
+don f1 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 2.6039506888710934e-007 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i2005 b/tests/lowalgos/intss/bug29807_i2005
new file mode 100644 (file)
index 0000000..f470818
--- /dev/null
@@ -0,0 +1,31 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-tool.brep] b2
+
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
+trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38
+ttranslate b2 0 0 2
+
+explode b1 f
+explode b2 f
+nurbsconvert f1 b1_5
+smallview
+don f1 b2_2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 6.4774617011651419e-006 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i2006 b/tests/lowalgos/intss/bug29807_i2006
new file mode 100644 (file)
index 0000000..a49ca81
--- /dev/null
@@ -0,0 +1,27 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug25542_cylinder.brep] b1
+restore [locate_data_file bug25542_cone.brep] b2
+
+explode b1 f
+explode b2 f
+nurbsconvert f1 b1_1
+smallview
+don f1 b2_1
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 b2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 6.4791886898294872e-006 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i3001 b/tests/lowalgos/intss/bug29807_i3001
new file mode 100644 (file)
index 0000000..a1a96b6
--- /dev/null
@@ -0,0 +1,25 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+explode b1 f
+smallview
+don b1_5 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 0.00015253053837762444 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i3002 b/tests/lowalgos/intss/bug29807_i3002
new file mode 100644 (file)
index 0000000..627752d
--- /dev/null
@@ -0,0 +1,28 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
+removeloc f2 f2
+
+explode b1 f
+smallview
+don b1_5 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 0.00039718358530349535 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i3003 b/tests/lowalgos/intss/bug29807_i3003
new file mode 100644 (file)
index 0000000..92f158d
--- /dev/null
@@ -0,0 +1,28 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
+removeloc f2 f2
+
+explode b1 f
+smallview
+don b1_5 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 5.4742962483090032e-005 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i3004 b/tests/lowalgos/intss/bug29807_i3004
new file mode 100644 (file)
index 0000000..67c2287
--- /dev/null
@@ -0,0 +1,29 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 
+ttranslate f2 0 0 0.3
+
+explode b1 f
+smallview
+don b1_5 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 0.00011289757087827709 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i3005 b/tests/lowalgos/intss/bug29807_i3005
new file mode 100644 (file)
index 0000000..c774db5
--- /dev/null
@@ -0,0 +1,29 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38
+ttranslate f2 0 0 2
+
+explode b1 f
+smallview
+don b1_5 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_5 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 7.7124681583892622e-007 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i4001 b/tests/lowalgos/intss/bug29807_i4001
new file mode 100644 (file)
index 0000000..7348b9b
--- /dev/null
@@ -0,0 +1,26 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+explode b1 f
+nurbsconvert f1 b1_5
+smallview
+don f1 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 2.6933365231971514e-008 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i4002 b/tests/lowalgos/intss/bug29807_i4002
new file mode 100644 (file)
index 0000000..93dc8fd
--- /dev/null
@@ -0,0 +1,29 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
+removeloc f2 f2
+
+explode b1 f
+nurbsconvert f1 b1_5
+smallview
+don f1 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 2.9119209602049977e-007 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i4003 b/tests/lowalgos/intss/bug29807_i4003
new file mode 100644 (file)
index 0000000..07f0885
--- /dev/null
@@ -0,0 +1,29 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
+removeloc f2 f2
+
+explode b1 f
+nurbsconvert f1 b1_5
+smallview
+don f1 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 2.4125458576041928e-008 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i4004 b/tests/lowalgos/intss/bug29807_i4004
new file mode 100644 (file)
index 0000000..b4489f0
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 
+ttranslate f2 0 0 0.3
+
+explode b1 f
+nurbsconvert f1 b1_5
+smallview
+don f1 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 2.6068687218615023e-007 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i4005 b/tests/lowalgos/intss/bug29807_i4005
new file mode 100644 (file)
index 0000000..3113cc5
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+restore [locate_data_file bug29807-obj.brep] b1
+restore [locate_data_file bug29807-cone.brep] f2
+
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
+trotate f2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38
+ttranslate f2 0 0 2
+
+explode b1 f
+nurbsconvert f1 b1_5
+smallview
+don f1 f2
+fit
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 6.4774618953705733e-006 0.0 0.01
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3d.png
+smallview -2D-
+2dfit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2d.png
diff --git a/tests/lowalgos/intss/bug29807_i5001 b/tests/lowalgos/intss/bug29807_i5001
new file mode 100644 (file)
index 0000000..fe0b13e
--- /dev/null
@@ -0,0 +1,70 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+puts "TODO OCC29883 ALL: Error in res_2: T=0"
+puts "TODO OCC29883 ALL: Error: 0 vertices are expected but 2 are found"
+puts "TODO OCC29883 ALL: Error :  is WRONG because number of VERTEX entities in shape \"result\" is 3"
+
+foreach a [directory res*] {unset $a}
+
+binrestore [locate_data_file bug29807_f1.bin] f1
+binrestore [locate_data_file bug29807_f2.bin] f2
+
+mksurface s1 f1
+mksurface s2 f2
+
+trim s1 s1
+trim s2 s2
+
+intersect res s1 s2 1.0e-4
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeat 0
+  } else {
+   
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-20} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 2.0e-7
+    xdistcs res_$ic s2 U1 U2 100 2.0e-7
+    
+    mkedge ee res_$ic
+    baddobjects ee
+    incr ic
+  }
+}
+
+bfillds
+bbuild result
+
+smallview
+don result*
+fit
+
+# Check gaps between edges in ce
+checksection result -r 0
+checkmaxtol result -min_tol 2.0e-7
+
+checknbshapes result -edge 2 -vertex 2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug29807_i5002 b/tests/lowalgos/intss/bug29807_i5002
new file mode 100644 (file)
index 0000000..e55dec5
--- /dev/null
@@ -0,0 +1,60 @@
+puts "========"
+puts "0029807: Impossible to cut cone from prism"
+puts "========"
+puts ""
+
+foreach a [directory res*] {unset $a}
+
+cone s1 11.4307383137554 3.49999999999979 -89.7537975119388 0 0 1 1 0 0 80.000725670142287835190342147806 9.45659107381736
+cone s2 -3.6479413426839 -11.578679656441 -89.9782110643133 0 0 1 0 1 0 5 0.250951325477062
+
+intersect res s1 s2 1.0e-4
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeat 0
+  } else {
+   
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-20} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 2.0e-7
+    xdistcs res_$ic s2 U1 U2 100 2.0e-7
+    
+    mkedge ee res_$ic
+    baddobjects ee
+    incr ic
+  }
+}
+
+bfillds
+bbuild result
+
+smallview
+don result*
+fit
+
+# Check gaps between edges in ce
+checksection result -r 0
+checkmaxtol result -min_tol 2.0e-7
+
+checknbshapes result -edge 3 -vertex 3
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug29866 b/tests/lowalgos/intss/bug29866
new file mode 100644 (file)
index 0000000..53ad0a9
--- /dev/null
@@ -0,0 +1,73 @@
+puts "================"
+puts "OCC29866: Intersector returns two overlapped curves as a result"
+puts "================"
+puts ""
+
+set GoodNbCurv 1
+
+binrestore [locate_data_file bug29866_sur1.bin] f1
+binrestore [locate_data_file bug29866_sur2.bin] f2
+
+mksurface s1 f1
+mksurface s2 f2
+trim s2 s2
+
+intersect result s1 s2
+
+set che [whatis result]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "result" exists
+  renamevar result result_1
+}
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis result_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    display result_$ic
+    
+    bounds result_$ic U1 U2
+    
+    dump U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs result_$ic s1 U1 U2 10 4.0e-5
+    xdistcs result_$ic s2 U1 U2 10 1.0e-5
+    
+    for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
+      mkedge e1 result_$ic
+      mkedge e2 result_$ip
+
+      set coe [checkoverlapedges e1 e2 5.0e-5]
+
+      puts "result_$ic <-> result_$ip: $coe"
+      if { [regexp "Edges is not overlaped" $coe] != 1 } {
+        puts "Error: result_$ic and result_$ip are overlaped"
+      }
+    }
+     
+    incr ic
+  }
+}
+
+if {[expr {$ic - 1}] == $GoodNbCurv} {
+  puts "OK: Number of curves is good!"
+  checklength result_1 -l 2.6307272714501035
+} else {
+  puts "Error: $GoodNbCurv curves are expected but [expr {$ic - 1}] are found!"
+}
+
+smallview
+don result*
+fit
+clear
+don s1 s2 result*
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29910_2 b/tests/lowalgos/intss/bug29910_2
new file mode 100644 (file)
index 0000000..178efaa
--- /dev/null
@@ -0,0 +1,37 @@
+puts "========"
+puts "OCC29910: Porting to Debian80-64 : Regressions in Modeling Algorithms"
+puts "========"
+puts ""
+
+# Different result between Debian 7 and Debian 8 and between MSVC 2010 and 2017.
+puts "TODO ?OCC29910 Windows: Error: Tolerance = 4.0169383828521568e-006 is not equal to expected"
+puts "TODO ?OCC29910 Linux: Error: Tolerance = 6.0392296447644325e-07 is not equal to expected"
+puts "TODO ?OCC29910 ALL: Error :  is WRONG because number of VERTEX entities in shape \"result\" is 7"
+puts "TODO ?OCC29910 ALL: Error :  is WRONG because number of EDGE entities in shape \"result\" is 5"
+
+restore [locate_data_file bug29910_f1.brep] f1
+restore [locate_data_file bug29910_f2.brep] f2
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves f1 f2 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 1.0e-7 1.0e-7 0.0
+
+if {$NbCurv != 4} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+bsection result f1 f2
+checksection result -r 4
+checkshape result
+checknbshapes result -edge 4 -vertex 6
+checkprops result -l 97.2011
+
+if {[regexp "Faulties" [bopargcheck result]]} {
+  puts "Error: bopargcheck has found some faulties in result"
+}
+
+smallview 
+don result
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug29972_1 b/tests/lowalgos/intss/bug29972_1
new file mode 100644 (file)
index 0000000..3e14357
--- /dev/null
@@ -0,0 +1,65 @@
+puts "========"
+puts "OCC29972: Intersection curve has a weird gap in the middle of it"
+puts "========"
+puts ""
+
+set GoodNbCurves 2
+
+foreach a [directory res*] {unset $a}
+
+restore [locate_data_file bug29972_s1.draw] s1 
+cylinder s2 -120 54.2955104312028 -116 1 0 0 0 0 -1 28
+
+intersect res s1 s2
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeat 0
+  } else {
+   
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 2.0e-6
+    xdistcs res_$ic s2 U1 U2 100 2.0e-6
+    
+    mkedge ee res_$ic
+    baddobjects ee
+    
+    incr ic
+  }
+}
+
+# Check of gaps between intersection curves
+bfillds
+bbuild rs
+
+checknbshapes rs -edge $GoodNbCurves
+checksection rs -r 0
+
+smallview
+don res_*
+
+fit
+don s1 s2
+clpoles s1
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29972_2 b/tests/lowalgos/intss/bug29972_2
new file mode 100644 (file)
index 0000000..ecf70f1
--- /dev/null
@@ -0,0 +1,65 @@
+puts "========"
+puts "OCC29972: Intersection curve has a weird gap in the middle of it"
+puts "========"
+puts ""
+
+set GoodNbCurves 2
+
+foreach a [directory res*] {unset $a}
+
+restore [locate_data_file bug29972_s1.draw] s1 
+cylinder s2 -120 54.2955104312028 -116 1 0 0 0 0 -1 28
+
+intersect res s1 s2 1.e-4
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeat 0
+  } else {
+   
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 2.0e-5
+    xdistcs res_$ic s2 U1 U2 100 2.0e-5
+    
+    mkedge ee res_$ic
+    baddobjects ee
+    
+    incr ic
+  }
+}
+
+# Check of gaps between intersection curves
+bfillds
+bbuild rs
+
+checknbshapes rs -edge $GoodNbCurves
+checksection rs -r 0
+
+smallview
+don res_*
+
+fit
+don s1 s2
+clpoles s1
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29972_3 b/tests/lowalgos/intss/bug29972_3
new file mode 100644 (file)
index 0000000..7e46559
--- /dev/null
@@ -0,0 +1,73 @@
+puts "========"
+puts "OCC29972: Intersection curve has a weird gap in the middle of it"
+puts "========"
+puts ""
+
+set GoodNbCurves 6
+
+foreach a [directory res*] {unset $a}
+
+torus s1 -127 84 100 0 0 -1 1 0 0 23 10
+cylinder s2 -132 61.5500556793564 131 0 0 -1 1 0 0 10
+
+intersect res s1 s2 1.0e-4
+
+if { [info exists res] } {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  if { ![info exists res_$ic] } {
+    set AllowRepeat 0
+  } else {
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 2.0e-7
+    xdistcs res_$ic s2 U1 U2 100 2.0e-7
+    
+    mkedge ee res_$ic
+    baddobjects ee
+    
+    incr ic
+  }
+}
+
+# Check of gaps between intersection curves
+bfillds
+bbuild rs
+
+checknbshapes rs -edge $GoodNbCurves
+
+regexp {nb alone Vertices : ([-0-9.+eE]+)} [ checksection rs -r 4 ] full nbv
+if { $nbv < 2 } {
+  puts "Error : The section is closed. The result is possible to better than on MASTER version. Please check carefully."
+} else {
+  for {set i 1} {$i < $nbv} {incr i} {
+    for {set j [expr $i +1] } {$j <= $nbv} {incr j} {
+      distmini dd alone_$i alone_$j;
+      
+      if { [dval dd_val] > 3.0e-6 } {
+        puts "Error: The distance between alone_$i and alone_$j is too big"
+      }
+    }
+  }
+}
+
+smallview
+don res_*
+
+fit
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29972_4 b/tests/lowalgos/intss/bug29972_4
new file mode 100644 (file)
index 0000000..da92bd4
--- /dev/null
@@ -0,0 +1,80 @@
+puts "========"
+puts "OCC29972: Intersection curve has a weird gap in the middle of it"
+puts "========"
+puts ""
+
+set GoodNbCurves 1
+
+foreach a [directory res*] {unset $a}
+
+restore [locate_data_file bug29972_s3.draw] s1
+plane s2 41.3489013503538 536.047793220744 -145.944893918698 0.999990480720734 0 0.00436330928474653 0.00436330928474653 0 -0.999990480720734
+
+intersect res s1 s2 1.0e-4
+
+if { [info exists res] } {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  if { ![info exists res_$ic] } {
+    set AllowRepeat 0
+  } else {
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 0.01
+    xdistcs res_$ic s2 U1 U2 100 0.01    
+    
+    #check whether the curve has a loop
+    set delta [dval (U2-U1)/1000.0]
+    cvalue res_$ic [dval U1] xp yp zp dx1 dy1 dz1
+    for {set p [dval U1]} {$p <= [dval U2]} {set p [expr $p + $delta]} {
+      cvalue res_$ic $p xp yp zp dx2 dy2 dz2
+      
+      #Check if the angle between the vectors {dx1 dy1 dz1} and {dx2 dy2 dz2} is less than 75deg.
+      set nv1 [ dval dx1*dx1+dy1*dy1+dz1*dz1 ] 
+      set nv2 [ dval dx2*dx2+dy2*dy2+dz2*dz2 ] 
+      
+      set nv1 [ expr sqrt($nv1) ]
+      set nv2 [ expr sqrt($nv2) ]
+      
+      set dp [ dval dx1*dx2+dy2*dy2+dz1*dz2 ] 
+      
+      if {$dp < [ expr 0.25881904510252076234889883762405 * $nv1 * $nv2 ] } {
+        puts "Error: The curve res_$ic is possible to have a bend at parameter $p. Please check carefully"
+      }      
+      
+      dset dx1 dx2
+      dset dy1 dy2
+      dset dz1 dz2
+    }
+    
+    incr ic
+  }
+}
+
+incr ic -1
+
+if { $ic != $GoodNbCurves } {
+  puts "Error: $GoodNbCurves are expected but $ic ones are found"
+}
+
+smallview
+don res_*
+
+fit
+clpoles s1
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29972_5 b/tests/lowalgos/intss/bug29972_5
new file mode 100644 (file)
index 0000000..b014c19
--- /dev/null
@@ -0,0 +1,89 @@
+puts "========"
+puts "OCC29972: Intersection curve has a weird gap in the middle of it"
+puts "========"
+puts ""
+
+puts "TODO OCC27243 ALL: Error: The curve res_1 possibly has a bend"
+
+set GoodNbCurves 2
+
+foreach a [directory res*] {unset $a}
+
+binrestore [locate_data_file bug29972_f1.bin] f1
+
+mksurface s1 f1
+plane s2 -145.136225014162, -136.038366, -73.563687 0 0 1 -1 0 0
+
+intersect res s1 s2
+
+if { [info exists res] } {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+dset aLambda1 1.0e-5
+dset aLambda2 [dval 1-aLambda1]
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  if { ![info exists res_$ic] } {
+    set AllowRepeat 0
+  } else {
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 1.0e-7
+    xdistcs res_$ic s2 U1 U2 100 1.0e-7  
+    
+    #check whether the curve has a loop
+    set aFpar [dval U1*aLambda1+aLambda2*U2]
+    set aLpar [dval U2]
+    
+    set delta [expr ($aLpar-$aFpar)/10.0]
+    cvalue res_$ic $aFpar xp yp zp dx1 dy1 dz1
+    for {set p $aFpar} {$p <= $aLpar} {set p [expr $p + $delta]} {
+      cvalue res_$ic $p xp yp zp dx2 dy2 dz2
+      
+      #Check if the angle between the vectors {dx1 dy1 dz1} and {dx2 dy2 dz2} is less than 40deg.
+      set nv1 [ dval dx1*dx1+dy1*dy1+dz1*dz1 ] 
+      set nv2 [ dval dx2*dx2+dy2*dy2+dz2*dz2 ] 
+      
+      set nv1 [ expr sqrt($nv1) ]
+      set nv2 [ expr sqrt($nv2) ]
+      
+      set dp [ dval dx1*dx2+dy2*dy2+dz1*dz2 ] 
+      
+      if {$dp < [ expr 0.76604444311897803520239265055542 * $nv1 * $nv2 ] } {
+        puts "Error: The curve res_$ic possibly has a bend at parameter $p. Please check carefully"
+      }      
+      
+      dset dx1 dx2
+      dset dy1 dy2
+      dset dz1 dz2
+    }
+    
+    incr ic
+  }
+}
+
+incr ic -1
+
+if { $ic != $GoodNbCurves } {
+  puts "Error: $GoodNbCurves are expected but $ic ones are found"
+}
+
+smallview
+clear
+point p1 57.478209319525746 -120.6955841545726 -125.98789759526636
+point p2 57.478010564066473 -120.69677875685414 -125.98860176530741
+fit
+
+clpoles s1
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29972_6 b/tests/lowalgos/intss/bug29972_6
new file mode 100644 (file)
index 0000000..c4005f6
--- /dev/null
@@ -0,0 +1,89 @@
+puts "========"
+puts "OCC29972: Intersection curve has a weird gap in the middle of it"
+puts "========"
+puts ""
+
+puts "TODO OCC27243 ALL: Error: The curve res_1 possibly has a bend"
+
+set GoodNbCurves 2
+
+foreach a [directory res*] {unset $a}
+
+binrestore [locate_data_file bug29972_f1.bin] f1
+
+mksurface s1 f1
+plane s2 -145.136225014162, -136.038366, -73.563687 0 0 1 -1 0 0
+
+intersect res s1 s2 1.0e-4
+
+if { [info exists res] } {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+dset aLambda1 1.0e-5
+dset aLambda2 [dval 1-aLambda1]
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  if { ![info exists res_$ic] } {
+    set AllowRepeat 0
+  } else {
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 1.0e-7
+    xdistcs res_$ic s2 U1 U2 100 1.0e-7  
+    
+    #check whether the curve has a loop
+    set aFpar [dval U1*aLambda1+aLambda2*U2]
+    set aLpar [dval U2]
+    
+    set delta [expr ($aLpar-$aFpar)/10.0]
+    cvalue res_$ic $aFpar xp yp zp dx1 dy1 dz1
+    for {set p $aFpar} {$p <= $aLpar} {set p [expr $p + $delta]} {
+      cvalue res_$ic $p xp yp zp dx2 dy2 dz2
+      
+      #Check if the angle between the vectors {dx1 dy1 dz1} and {dx2 dy2 dz2} is less than 40deg.
+      set nv1 [ dval dx1*dx1+dy1*dy1+dz1*dz1 ] 
+      set nv2 [ dval dx2*dx2+dy2*dy2+dz2*dz2 ] 
+      
+      set nv1 [ expr sqrt($nv1) ]
+      set nv2 [ expr sqrt($nv2) ]
+      
+      set dp [ dval dx1*dx2+dy2*dy2+dz1*dz2 ] 
+      
+      if {$dp < [ expr 0.76604444311897803520239265055542 * $nv1 * $nv2 ] } {
+        puts "Error: The curve res_$ic possibly has a bend at parameter $p. Please check carefully"
+      }      
+      
+      dset dx1 dx2
+      dset dy1 dy2
+      dset dz1 dz2
+    }
+    
+    incr ic
+  }
+}
+
+incr ic -1
+
+if { $ic != $GoodNbCurves } {
+  puts "Error: $GoodNbCurves are expected but $ic ones are found"
+}
+
+smallview
+clear
+point p1 57.478209319525746 -120.6955841545726 -125.98789759526636
+point p2 57.478010564066473 -120.69677875685414 -125.98860176530741
+fit
+
+clpoles s1
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/lowalgos/intss/bug29994 b/tests/lowalgos/intss/bug29994
new file mode 100644 (file)
index 0000000..cdd6731
--- /dev/null
@@ -0,0 +1,63 @@
+puts "========"
+puts "0029994: Misprint in IntWalk_PWalking::Perform(...) method"
+puts "========"
+puts ""
+
+foreach a [directory res*] {unset $a}
+
+torus s1 185.793144150183 -13 70.9931441501827 0 -1 0 0 0 -1 27.0094480547676 0.25
+restore [locate_data_file bug29994_s2.draw] s2
+
+intersect res s1 s2 1.0e-4
+
+if { [info exists res] } {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  if { ![info exists res_$ic] } {
+    set AllowRepeat 0
+  } else {
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 2.0e-7
+    xdistcs res_$ic s2 U1 U2 100 2.0e-7
+    
+    mkedge ee res_$ic
+    baddobjects ee
+    incr ic
+  }
+}
+
+incr ic -1
+
+if { $ic == 1 } {
+  puts "OK: good number of curves!"
+  checklength res_1 -l 0.70541045554962345 -eps 1.0e-3
+} else {
+  puts "Error: Incorrect number of curves in intersection result!"
+  bfillds
+  bbuild result
+  
+  # Check gaps between edges in result
+  checksection result -r 2
+  checkmaxtol result -min_tol 2.0e-7
+  checknbshapes result -edge 1 -vertex 2
+}
+
+smallview
+don res_*
+fit
+disp s1 s2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug30082_1 b/tests/lowalgos/intss/bug30082_1
new file mode 100644 (file)
index 0000000..59f6890
--- /dev/null
@@ -0,0 +1,27 @@
+puts "========"
+puts "0030082: Intersection algorithm returns curve with big tolerance value"
+puts "========"
+puts ""
+
+foreach a [directory c_*] { unset $a }
+
+brestore [locate_data_file bug27928_b1.brep] b1
+brestore [locate_data_file bug27928_b2.brep] b2
+explode b1 f
+explode b2 f
+
+if { [regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves b1_1 b2_2 -2d] full Toler NbCurv ] } {
+  # Before the fix, the tolerance was 0.0010828835451753697
+  checkreal Tolerance $Toler 6.5e-7 0.0 0.1
+
+  if {$NbCurv != 1} {
+    puts "Error: 1 curve is expected but $NbCurv curves are found."
+  }
+} else {
+  puts "Error: Intersection result is empty"
+}
+
+smallview
+don c_*
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug30082_2 b/tests/lowalgos/intss/bug30082_2
new file mode 100644 (file)
index 0000000..ddfc67c
--- /dev/null
@@ -0,0 +1,67 @@
+puts "========"
+puts "0030082: Intersection algorithm returns curve with big tolerance value"
+puts "========"
+puts ""
+
+foreach a [directory res*] {unset $a}
+
+set aTol 1.0e-4
+set GoodNbCurves 4
+
+cylinder s1 -106.471129473161 -64.3442185874231 -19.25 1 0 0 0 0 -1 0.25
+cylinder s2 -124.971129473161 -67.0942185874231 -20.5 0 0 1 1 0 -0 3
+intersect res s1 s2 $aTol
+
+set che [whatis res]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "res" exists
+  renamevar res res_1
+}
+
+bclearobjects
+bcleartools
+
+set ic 1
+set AllowRepeat 1
+while { $AllowRepeat != 0 } {
+  set che [whatis res_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeat 0
+  } else {
+    bounds res_$ic U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs res_$ic s1 U1 U2 100 $aTol
+    xdistcs res_$ic s2 U1 U2 100 $aTol
+    
+    mkedge ee res_$ic
+    baddobjects ee
+    incr ic
+  }
+}
+
+incr ic -1
+
+if { $ic != $GoodNbCurves } {
+  puts "Error: $GoodNbCurves curves are expected but $ic ones are found"
+}
+
+bfillds
+bbuild result
+
+smallview
+don result
+fit
+
+# Check gaps between edges in ce
+checksection result -r 0
+checkmaxtol result -min_tol 2.0e-7
+
+checknbshapes result -edge 4 -vertex 3
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug30100_2 b/tests/lowalgos/intss/bug30100_2
new file mode 100644 (file)
index 0000000..831cc1e
--- /dev/null
@@ -0,0 +1,11 @@
+puts "========"
+puts "0030100: Modeling Algorithms - ShapeUpgrade_UnifySameDomain is unable to unify faces based on the same toroidal surface"
+puts "========"
+puts ""
+
+restore [locate_data_file bug30100_faces.brep] f
+explode f
+
+if {![regexp "no 3d curves" [bopcurves f_1 f_2]]} {
+  puts "Error: Tangent faces are not detected"
+}
diff --git a/tests/lowalgos/intss/bug30202_2 b/tests/lowalgos/intss/bug30202_2
new file mode 100644 (file)
index 0000000..533de34
--- /dev/null
@@ -0,0 +1,14 @@
+puts "========"
+puts "0030202: IntPatch_WLineTool::JoinWLines array out of bounds"
+puts "========"
+puts ""
+
+restore [locate_data_file bug30202_src.brep] b1
+restore [locate_data_file bug30202_tool.brep] b2
+
+explode b1 f
+explode b2 f
+
+if {![regexp "no 3d curves\n has no 3d points" [bopcurves b1_5 b2_7 -2d]]} {
+  puts "Error: Expected intersection result is empty"
+}
diff --git a/tests/lowalgos/intss/bug324 b/tests/lowalgos/intss/bug324
new file mode 100644 (file)
index 0000000..0593ea2
--- /dev/null
@@ -0,0 +1,21 @@
+puts "========================"
+puts " OCC324 "
+puts "========================"
+puts ""
+#################################################################
+## The command "intersect" applied to the given arguments "s1" (plane) and "s2" (cylinder) leads 
+## to the program hang-up.
+#################################################################
+
+restore [locate_data_file OCC324a.draw] s1 
+restore [locate_data_file OCC324b.draw] s2
+
+if [catch {intersect result s1 s2} catch_result] {
+    puts "Faulty OCC324: function INTERSECT works wrongly"
+} else {
+    puts "OCC324 OK: function INTERSECT works properly"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
diff --git a/tests/lowalgos/intss/bug333 b/tests/lowalgos/intss/bug333
new file mode 100644 (file)
index 0000000..d80400f
--- /dev/null
@@ -0,0 +1,72 @@
+puts "================"
+puts "OCC333: Superimposed curves during intersection two surfaces "
+puts "================"
+puts ""
+
+set GoodNbCurv 14
+
+restore [locate_data_file OCC333a.draw] s1 
+restore [locate_data_file OCC333b.draw] s2
+
+intersect result s1 s2
+
+set che [whatis result]
+set ind [string first "3d curve" $che]
+if {${ind} >= 0} {
+  #Only variable "result" exists
+  renamevar result result_1
+}
+
+set ic 1
+set AllowRepeate 1
+while { $AllowRepeate != 0 } {
+  set che [whatis result_$ic]
+  set ind [string first "3d curve" $che]
+  if {${ind} < 0} {
+    set AllowRepeate 0
+  } else {
+    display result_$ic
+    
+    bounds result_$ic U1 U2
+    
+    dump U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs result_$ic s1 U1 U2 10 2.0e-7
+    xdistcs result_$ic s2 U1 U2 10 2.0e-7
+    
+    for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
+      mkedge e1 result_$ic
+      mkedge e2 result_$ip
+
+      set coe [checkoverlapedges e1 e2 5.0e-5]
+
+      puts "result_$ic <-> result_$ip: $coe"
+      if { [regexp "Edges is not overlaped" $coe] != 1 } {
+        puts "Error: result_$ic and result_$ip are overlaped"
+      }
+    }
+     
+    incr ic
+  }
+}
+
+incr ic -1
+
+if {$ic == $GoodNbCurv} {
+  puts "OK: Number of curves is good!"
+} else {
+  puts "Error: $GoodNbCurv curves are expected but $ic ones are found!"
+}
+
+smallview
+don result*
+fit
+clear
+don s1 s2 result*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug370 b/tests/lowalgos/intss/bug370
new file mode 100644 (file)
index 0000000..9dbc8e5
--- /dev/null
@@ -0,0 +1,24 @@
+puts "========================"
+puts "BUC61033"
+puts " OCC370 "
+puts "========================"
+puts ""
+#################################################################
+##Intersection between a sphere and trimmed plane, using IntPatch_Intersection, lead to infinite cycle. 
+#################################################################
+
+sphere gs1 1
+plane gs2 0 0 0 1 0 0
+trim trgs2 gs2 0 1.000001 -1 0.000001
+
+intersect result gs1 trgs2
+
+cpulimit 300
+
+puts "OCC370 OK: function INTERSECT works properly"
+
+erase gs2
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
diff --git a/tests/lowalgos/intss/bug371 b/tests/lowalgos/intss/bug371
new file mode 100644 (file)
index 0000000..0d424b7
--- /dev/null
@@ -0,0 +1,24 @@
+
+puts "========================"
+puts "BUC61034"
+puts " OCC371 "
+puts "========================"
+puts ""
+#################################################################
+##Intersection between two BSplineSurfaces, using IntPatch_Intersection, lead to infinite cycle.
+#################################################################
+
+restore [locate_data_file OCC371a.brep] a 
+restore [locate_data_file OCC371b.brep] b
+
+mksurface gs1 a
+mksurface gs2 b
+trim trgs1 gs1 0.0 1.0 0.9698725179864 1.0
+trim trgs2 gs2 0.0 1.0 0.24333094700742 0.92374551772989
+
+#cpulimit 300
+intersect result trgs1 trgs2
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
diff --git a/tests/lowalgos/intss/bug429 b/tests/lowalgos/intss/bug429
new file mode 100644 (file)
index 0000000..e1a320d
--- /dev/null
@@ -0,0 +1,32 @@
+puts "========================"
+puts " OCC429 "
+puts "========================"
+puts ""
+#######################################
+## Projection for a point on a surface works wrong
+#######################################
+
+restore [locate_data_file OCC429a.draw] a 
+restore [locate_data_file OCC429b.draw] b
+
+intersect i a b
+
+cvalue i_2 0.43213918 x y z
+point p x y z
+proj b x y z
+
+set err1 [string range [dump ext_1] 55 64]
+set err2 [string range [dump ext_2] 55 64]
+set err3 [string range [dump ext_3] 55 64]
+set err4 [string range [dump ext_4] 55 64]
+set err5 [string range [dump ext_5] 55 64]
+set err6 [string range [dump ext_6] 55 64]
+
+if { $err1 != "Parameters" || $err2 != "Parameters" || $err3 != "Parameters" || $err4 != "Parameters" || $err5 != "Parameters" || $err6 != "Parameters" } {
+    puts " OCC286 OK : Projection for a point on a surface works properly"
+} else {
+    puts "Faulty OCC429 : Attempt to project the point on surface gives incorrect result"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug431 b/tests/lowalgos/intss/bug431
new file mode 100644 (file)
index 0000000..4b5f75d
--- /dev/null
@@ -0,0 +1,23 @@
+puts "========================"
+puts " OCC431 "
+puts "========================"
+puts ""
+#####################################
+## Intersection of two surfaces is not compleate curve. 
+#####################################
+
+restore [locate_data_file OCC431a.draw] su1 
+restore [locate_data_file OCC431b.draw] su2
+
+intersect result su1 su2
+
+set che [whatis result]
+
+if { ![regexp {curve} $che] || ![regexp {3d} $che]} {
+    puts "Faulty OCC431 : Command INTERSECT works WRONGLY"
+} else {
+    puts "OCC431 OK  :  Command INTERSECT works properly"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug504 b/tests/lowalgos/intss/bug504
new file mode 100644 (file)
index 0000000..2287b92
--- /dev/null
@@ -0,0 +1,28 @@
+puts "========="
+puts " OCC504 "
+puts "========="
+puts ""
+###############################
+## AllocMemory while intersection command 
+###############################
+
+restore [locate_data_file OCC504a.draw] su1 
+# checkshape su1
+
+restore [locate_data_file OCC504b.draw] su2
+# checkshape su2
+
+if [catch {intersect result su1 su2} catch_result] {
+    puts "Faulty OCC504 : A solution takes all memory and crach with AllocMemory"
+} else {
+    puts "OCC504 OK: function intersection works ok"
+}
+
+if { [regexp {curve} [whatis result_1]] && [regexp {curve} [whatis result_2]] } {
+    puts "OCC504 OK : Result shape is CORRECT !!! "
+} else {
+    puts " Faulty OCC504: Result shape is INcorrect !!! "
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug513 b/tests/lowalgos/intss/bug513
new file mode 100644 (file)
index 0000000..ce2c849
--- /dev/null
@@ -0,0 +1,23 @@
+puts "========"
+puts "OCC513"
+puts "========"
+puts ""
+
+######################################
+## Can not intersect plane and conical surfaces
+## The ">intersect" command hangs up the computer.
+######################################
+
+# cpulimit 9000
+
+restore [locate_data_file OCC513a.draw] sa23 
+restore [locate_data_file OCC513b.draw] sb8 
+
+if { [catch {intersect result sa23 sb8} catch_result] } {
+    puts "Faulty OCC513: function INTERSECTION works wrongly"
+} else {
+    puts "OCC513 OK: function INTERSECTION works properly"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug531 b/tests/lowalgos/intss/bug531
new file mode 100644 (file)
index 0000000..59a55f1
--- /dev/null
@@ -0,0 +1,16 @@
+
+puts "======="
+puts "OCC531"
+puts "======="
+puts ""
+##########################################################
+## Can not intersect plane and cone.The ">intersect" command hangs up the computer
+##########################################################
+
+restore [locate_data_file OCC531_1.draw] a 
+restore [locate_data_file OCC531_2.draw] b 
+
+intersect result a b
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug537 b/tests/lowalgos/intss/bug537
new file mode 100644 (file)
index 0000000..3d192fc
--- /dev/null
@@ -0,0 +1,27 @@
+puts "TODO OCC12345 ALL: Error : OCC537"
+
+puts "======="
+puts "OCC537"
+puts "======="
+puts ""
+#######################################################################
+##Application do something in intersection operation for long time and eat much memory (This may be the
+##  reason of BUS ERROR that happens in application). Intersection operation invokes for conical and plane
+## surfaces.
+#######################################################################
+
+restore [locate_data_file OCC537_CONE.draw] c 
+restore [locate_data_file OCC537_PLANE.draw] p 
+
+intersect result c p
+
+set wt_is [whatis result]
+
+if { [regexp {WIRE} ${wt_is}] } {
+    puts " OCC537 OK"
+} else {
+    puts "Error : OCC537"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
diff --git a/tests/lowalgos/intss/bug565 b/tests/lowalgos/intss/bug565
new file mode 100644 (file)
index 0000000..67a147a
--- /dev/null
@@ -0,0 +1,71 @@
+puts "========"
+puts "OCC565: Can not intersect two trimmed conical surfaces"
+puts "========"
+puts ""
+
+set GoodNbCurv 1
+
+foreach c [directory result*] {
+  unset $c
+}
+
+foreach c [directory inf*] {
+  unset $c
+}
+
+restore [locate_data_file OCC565a.draw] s1 
+restore [locate_data_file OCC565b.draw] s2 
+
+puts "Preliminary check: intersection work with infinite cones:"
+if { [catch {intersect inf s1 s2 } catch_result] } {
+  puts "Faulty OCC565: function intersection works wrongly with infinite cones"
+} else {
+  set isFound 0
+  foreach c [directory inf*] {
+    set ind [string first "3d curve" [whatis $c]]
+    if {${ind} < 0} {
+      dump $c
+      puts "Error: Intersection result (with infinite cones) is not 3D-curve"
+    } else {
+      set isFound 1
+    }
+  }
+  
+  if { !$isFound } {
+    puts "Error: Empty intersection result (with infinite cones)"    
+  }
+}
+
+trim s1x s1 0 2*pi 0 2.8
+trim s2x s2 0 2*pi 0 2.8
+
+if { [catch {intersect result s1x s2x } catch_result] } {
+  puts "Faulty OCC565 exception: function intersection works wrongly with trimmed cones"
+} else {
+  foreach c [directory result*] {
+    bounds $c U1 U2
+    
+    if {[dval U2-U1] < 1.0e-9} {
+      puts "Error: Wrong curve's range!"
+    }
+    
+    xdistcs $c s1 U1 U2 10 1.0e-7
+    xdistcs $c s2 U1 U2 10 1.0e-7
+  }
+
+  set NbCurv [llength [directory result*]]
+
+  if { $NbCurv == $GoodNbCurv } {
+    puts "OK: Number of curves is good!"
+  } else {
+    puts "Error: $GoodNbCurv is expected but $NbCurv is found!"
+  }
+
+  smallview
+  don result*
+  fit
+  disp s1x s2x
+  checkview -screenshot -2d -path ${imagedir}/${test_image}.png
+}
+
+
diff --git a/tests/lowalgos/intss/bug567_1 b/tests/lowalgos/intss/bug567_1
new file mode 100644 (file)
index 0000000..223b725
--- /dev/null
@@ -0,0 +1,94 @@
+puts "========"
+puts "OCC567: Can not intersect two Rectangular Trimmed Surfaces ."
+puts "========"
+puts ""
+
+# Different result between Debian 7 and Debian 8 and between MSVC 2010 and 2017.
+puts "TODO ?OCC30012 Linux: Error: 10 curves are expected but 9 ones are found."
+puts "TODO ?OCC30012 Linux: Error: 10 curves are expected but 8 ones are found."
+puts "TODO ?OCC29910 Windows: Error: 10 curves are expected but 11 ones are found."
+puts "TODO ?OCC29910 Windows: Error :  is WRONG because number of EDGE entities in shape \"rs\" is 15"
+puts "TODO ?OCC29910 Linux: Error :  is WRONG because number of EDGE entities in shape \"rs\" is 8"
+puts "TODO ?OCC29910 Windows: Error: 0 vertices are expected but 2 are found"
+
+set GoodNbCurves 10
+
+foreach a [directory res*] {unset $a}
+
+restore [locate_data_file OCC567a.draw] s1 
+restore [locate_data_file OCC567b.draw] s2 
+
+if { [catch {intersect res s1 s2 } catch_result] } {
+    puts "Faulty OCC567: function intersection works wrongly with infinite Surfaces"
+} else {
+  set che [whatis res]
+  set ind [string first "3d curve" $che]
+  if {${ind} >= 0} {
+    #Only variable "res" exists
+    renamevar res res_1
+  }
+
+  bclearobjects
+  bcleartools
+  
+  set ic 1
+  set AllowRepeat 1
+  while { $AllowRepeat != 0 } {
+    set che [whatis res_$ic]
+    set ind [string first "3d curve" $che]
+    if {${ind} < 0} {
+      set AllowRepeat 0
+    } else {
+     
+      bounds res_$ic U1 U2
+      
+      if {[dval U2-U1] < 1.0e-9} {
+        puts "Error: Wrong curve's range!"
+      }
+      
+      xdistcs res_$ic s1 U1 U2 100 2.0e-7
+      xdistcs res_$ic s2 U1 U2 100 2.0e-7
+      
+      for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
+        mkedge e1 res_$ic
+        mkedge e2 res_$ip
+
+        set coe [checkoverlapedges e1 e2 5.0e-5]
+
+        puts "res_$ic <-> res_$ip: $coe"
+        if { [regexp "Edges is not overlaped" $coe] != 1 } {
+          puts "Error: res_$ic and res_$ip are overlaped"
+        }
+      }
+      
+      mkedge ee res_$ic
+      baddobjects ee
+      
+      incr ic
+    }
+  }
+
+  incr ic -1
+  
+  if {$ic != $GoodNbCurves} {
+    puts "Error: $GoodNbCurves curves are expected but $ic ones are found."
+  }
+  
+  if {$ic != 1} {
+    # Check of gaps between intersection curves
+    bfillds
+    bbuild rs
+
+    checknbshapes rs -edge 14
+    checksection rs -r 0
+  }
+}
+
+smallview
+don res_*
+
+fit
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug567_2 b/tests/lowalgos/intss/bug567_2
new file mode 100644 (file)
index 0000000..21286d5
--- /dev/null
@@ -0,0 +1,89 @@
+puts "========"
+puts "OCC567: Can not intersect two Rectangular Trimmed Surfaces ."
+puts "========"
+puts ""
+
+set GoodNbCurves 1
+
+restore [locate_data_file OCC567a.draw] s1 
+restore [locate_data_file OCC567b.draw] s2 
+
+foreach a [directory res*] {unset $a}
+
+trim s1x s1 0 2*pi 0 2*pi/13
+trim s2x s2 0 2*pi 0 2*pi/13
+
+if { [catch {intersect res s1x s2x } catch_result] } {
+    puts "Faulty OCC565 exception: function intersection works wrongly with trimmed Surfaces"
+} else {
+  set che [whatis res]
+  set ind [string first "3d curve" $che]
+  if {${ind} >= 0} {
+    #Only variable "res" exists
+    renamevar res res_1
+  }
+
+  bclearobjects
+  bcleartools
+  
+  set ic 1
+  set AllowRepeat 1
+  while { $AllowRepeat != 0 } {
+    set che [whatis res_$ic]
+    set ind [string first "3d curve" $che]
+    if {${ind} < 0} {
+      set AllowRepeat 0
+    } else {
+     
+      bounds res_$ic U1 U2
+      
+      if {[dval U2-U1] < 1.0e-9} {
+        puts "Error: Wrong curve's range!"
+      }
+      
+      xdistcs res_$ic s1 U1 U2 100 2.0e-7
+      xdistcs res_$ic s2 U1 U2 100 2.0e-7
+      
+      for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
+        mkedge e1 res_$ic
+        mkedge e2 res_$ip
+
+        set coe [checkoverlapedges e1 e2 5.0e-5]
+
+        puts "res_$ic <-> res_$ip: $coe"
+        if { [regexp "Edges is not overlaped" $coe] != 1 } {
+          puts "Error: res_$ic and res_$ip are overlaped"
+        }
+      }
+      
+      mkedge ee res_$ic
+      baddobjects ee
+      
+      incr ic
+    }
+  }
+
+  incr ic -1
+  
+  if {$ic != $GoodNbCurves} {
+    puts "Error: $GoodNbCurves curves are expected but $ic ones are found."
+  }
+  
+  if {$ic != 1} {
+    # Check of gaps between intersection curves
+    bfillds
+    bbuild rs
+  
+    checknbshapes rs -edge 1
+    checksection rs -r 2
+  }
+}
+
+smallview
+don res_*
+
+fit
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug604 b/tests/lowalgos/intss/bug604
new file mode 100644 (file)
index 0000000..276b632
--- /dev/null
@@ -0,0 +1,35 @@
+puts "TODO OCC12345 ALL: Faulty OCC604: Result of intersection operation is INcorrect !!!"
+
+puts "========================"
+puts " OCC604"
+puts "========================"
+puts ""
+############################
+## Wrong intersection between two tores.
+############################
+
+restore [locate_data_file OCC604a.draw] a 
+restore [locate_data_file OCC604b.draw] b 
+
+if { [catch { intersect result a b } catch_result] } {
+    puts "Faulty OCC604: function INTERSECTION works with exception"
+} else {
+    set nom 0
+    set j 1
+    repeat 10 {
+       set err [lindex [whatis res_$j] 5]
+       if { $err != "curve"} {
+           break
+        } else {
+           set nom [expr $nom + 1]
+        }
+       incr j
+    }
+    if { $nom != 1 } {
+       puts "Faulty OCC604: Result of intersection operation is INcorrect !!!"
+    } else {
+       puts "OCC604 OK : Result of intersection operation is CORRECT !!! "
+    }
+}
+
+checkview -display result -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/lowalgos/intss/bug6474 b/tests/lowalgos/intss/bug6474
new file mode 100644 (file)
index 0000000..321dfe0
--- /dev/null
@@ -0,0 +1,20 @@
+puts "============"
+puts "OCC6474"
+puts "============"
+puts ""
+######################################################
+# Incorrect result of intersection of a plane and an extrusion surface
+######################################################
+
+set BugNumber OCC6474
+
+restore [locate_data_file OCC6474-s1.draw] s1 
+restore [locate_data_file OCC6474-s2.draw] s2 
+
+intersect res s1 s2
+
+if {[llength [directory res*]] != 1} {
+    puts "Faulty ${BugNumber}: more than 1 intersection line is got"
+} else {
+    puts "OK ${BugNumber}"
+}
diff --git a/tests/lowalgos/intss/ger61235 b/tests/lowalgos/intss/ger61235
new file mode 100644 (file)
index 0000000..cf56c2a
--- /dev/null
@@ -0,0 +1,24 @@
+puts "==========="
+puts "GER61235"
+puts "==========="
+
+restore [locate_data_file ger61235a.brep] tool 
+checkshape tool
+restore [locate_data_file ger61235b.brep] object 
+checkshape object
+
+bsection result object tool 
+
+puts "Result of section :"
+checkshape result
+#To check geometry part 
+mksurface s1 tool 
+mksurface s2 object 
+
+puts "Result of intersect :"
+intersect result s1 s2 
+puts [checksection result]
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+