View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026244 | Open CASCADE | OCCT:Modeling Algorithms | public | 2015-05-20 15:10 | 2016-04-20 15:49 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.0.0 | Fixed in Version | 7.0.0 | ||
Summary | 0026244: Destructive results of simplification with DRAW command 'unifysamedom' after intersection of two complex models | ||||
Description | There is attached script which builds complex model. We try to apply some Boolean operations on this model and its rotated copy. Boolean operation 'bcommon' gives a valid shape (by 'checkshape') with normal tolerance. But after the simplification 'unifysamedom' was called, shape has became invalid. Moreover, some constructive elements, like holes, disappeared and a maximal tolerance has became > 187. | ||||
Steps To Reproduce | source ANC101CompileWithoutFillets.tcl tcopy _model _copy trotate _copy $aWedgeHoleXPos $aWedgeHoleYPos 0 0 0 1 90 bcommon res _model _copy checkshape res unifysamedom res res | ||||
Additional information and documentation updates | Another bug on Boolean operations with same model with fillets: http://tracker.dev.opencascade.org/view.php?id=26243 | ||||
Tags | No tags attached. | ||||
Test case number | bugs heal bug26244 | ||||
2015-05-20 15:10 developer |
ANC101CompileWithoutFillets.tcl (9,077 bytes) |
|
I obtain StdFail_NotDone exception on the provided case (MSVC 2013, x64): no result (even faulty) of unifysamedom is available. |
2015-05-21 10:17 developer |
ANC101_gl_simplify.png (20,901 bytes) |
|
Branch CR26244 has been created by isn. SHA-1: ce0098218eac60f62d3806aea7128877ac224594 Detailed log of new commits: Author: isn Date: Wed Aug 26 14:48:37 2015 +0300 0026244: Destructive results of simplification with DRAW command 'unifysamedom' after intersection of two complex models |
|
This problem cannot be reproduced on the current version (i.e. checkshape is not giving any faulty shapes), but there is another problem with triangulation (bef_fix1.png): --- source ANC101CompileWithoutFillets.tcl tcopy _model _copy trotate _copy $aWedgeHoleXPos $aWedgeHoleYPos 0 0 0 1 90 bcommon res _model _copy checkshape res unifysamedom r res incmesh r 0.1 trinfo r As a result of last command, "Maximal deflection" will be > 50 which seems to be wrong. fix in the branch CR26244 should eliminate this problem. ##(aft_fix1.png) |
2015-08-26 15:25 developer |
bef_fix1.png (11,711 bytes) |
2015-08-26 15:25 developer |
bef_fix2.png (20,458 bytes) |
2015-08-26 15:26 developer |
aft_fix1.png (11,377 bytes) |
|
The code in lines 629-660 must be rewritten: 1) aChain(i - 1) can raise exception when i==1. 2) Do not return false if no vertices to avoid are found. 3) Make edge in different way depending on whether we use the existing circle or create a new one. In the last case new edge must be left Forward, and vertex V1 added there two times with different orientation. |
|
the new branch is CR26244_1; (circles only) please check. |
|
Branch CR26244_1 has been created by isn. SHA-1: 15a4c383968e171c309cfc904d6fd5888f2dceb6 Detailed log of new commits: Author: isn Date: Mon Aug 31 17:37:38 2015 +0300 unifysamedom :: problem with triangulation |
|
Branch CR26244_1 has been updated forcibly by isn. SHA-1: 0b9bdd6d52060cbcb824a57bf157d3f5e973bc72 |
|
Please simplify the fix as we agreed. |
|
And, please re-base on current master. |
|
Branch CR26244_1 has been updated forcibly by isn. SHA-1: 46e9fb28ab9d964ea047c044d5771fcdcde8eadf |
|
done |
|
Remarks: - MC is used in 'else' scope of next 'if', so it is better to declare it there: 622: GC_MakeCircle MC (PV1,PVM,PV2); - This is extra, because V1.IsSame.(V2): 626: if (PV1.Distance(PV2) > Precision::Confusion()) - Remove commented code, to make it clear: 624: if (/*!MC.IsDone() || MC.Value().IsNull()*/ V1.IsSame(V2)) { - Move definitions of PV1, PV2, VM, PVM to the scope where they are used. - Though the following record looks compact, it involves the same comparison two times. It is better to write direct 'if...else' statements: 632: FP = FE.Orientation() == TopAbs_FORWARD ? adef.FirstParameter() : adef.LastParameter(); 633: LP = FE.Orientation() == TopAbs_FORWARD ? adef.LastParameter() : adef.FirstParameter(); - The following condition is erroneous, because FP can be negative, use Abs(): 634: if (FP < Precision::PConfusion()) - In the line 643, simplify expression 'FP + (LP - FP) / 2.' to '(FP + LP) * 0.5' - As we know that V1.IsSame(V2) and they have different orientation, in the following statement we can use just V2: 650: B.Add(E,V1.Reversed()); |
|
Branch CR26244_1 has been updated by isn. SHA-1: 7a75f442028f9928c8cc60a061fa4504721363b9 Detailed log of new commits: Author: isn Date: Wed Sep 2 12:05:56 2015 +0300 corrections |
|
Reviewed. |
|
Branch CR26244_1 has been updated by mkv. SHA-1: d15b94add6713736cef58cb251c57965fdd5870e Detailed log of new commits: Author: mkv Date: Thu Sep 3 13:02:41 2015 +0300 Test case for issue CR26244 |
|
Dear BugMaster, Branch CR26244_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode. SHA-1: 7a75f442028f9928c8cc60a061fa4504721363b9 Number of compiler warnings: occt component : Linux: 15 (15 on master) Windows: 0 (0 on master) products component : Linux: 39 (39 on master) Windows: 0 (0 on master) Regressions/Differences/Improvements: No regressions/differences Testing cases: http://occt-tests/CR26244-1-master-occt-64/Debian70-64/bugs/heal/bug26244.html http://occt-tests/CR26244-1-master-occt-64/Windows-64-VC10/bugs/heal/bug26244.html bugs heal bug26244: OK Testing on Linux: occt component : Total MEMORY difference: 91785433 / 91192751 [+0.65%] Total CPU difference: 17761.219999998815 / 17162.109999999382 [+3.49%] products component : Total MEMORY difference: 25202742 / 25221023 [-0.07%] Total CPU difference: 7288.749999999995 / 7038.589999999997 [+3.55%] Testing on Windows: occt component : Total MEMORY difference: 57098781 / 57090163 [+0.02%] Total CPU difference: 16400.71273209907 / 16439.978183798914 [-0.24%] products component : Total MEMORY difference: 16223023 / 16222282 [+0.00%] Total CPU difference: 5268.746573799948 / 5332.831784599964 [-1.20%] There are no differences in images found by testdiff. |
|
Branch CR26244 has been deleted by kgv. SHA-1: ce0098218eac60f62d3806aea7128877ac224594 |
|
Branch CR26244_1 has been deleted by kgv. SHA-1: d15b94add6713736cef58cb251c57965fdd5870e |
occt: master dd2f1b75 2015-09-03 12:24:12
Committer: bugmaster Details Diff |
0026244: Destructive results of simplification with DRAW command 'unifysamedom' after intersection of two complex models corrections unifysamedom :: problem with triangulation (2) Test case for issue CR26244 |
Affected Issues 0026244 |
|
mod - src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx | Diff File | ||
add - tests/bugs/heal/bug26244 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-05-20 15:10 |
|
New Issue | |
2015-05-20 15:10 |
|
Assigned To | => msv |
2015-05-20 15:10 |
|
File Added: ANC101CompileWithoutFillets.tcl | |
2015-05-20 15:11 |
|
Description Updated | |
2015-05-20 15:13 |
|
Description Updated | |
2015-05-20 15:13 |
|
Steps to Reproduce Updated | |
2015-05-20 15:13 |
|
Relationship added | related to 0026243 |
2015-05-20 15:14 |
|
Description Updated | |
2015-05-20 15:17 |
|
Assigned To | msv => ifv |
2015-05-20 15:17 |
|
Status | new => assigned |
2015-05-20 15:17 |
|
Target Version | => 7.1.0 |
2015-05-21 10:15 |
|
Note Added: 0041352 | |
2015-05-21 10:17 |
|
File Added: ANC101_gl_simplify.png | |
2015-05-21 13:05 |
|
Assigned To | ifv => jgv |
2015-08-24 18:18 |
|
Assigned To | jgv => isn |
2015-08-26 14:48 | git | Note Added: 0044663 | |
2015-08-26 14:52 |
|
Assigned To | isn => msv |
2015-08-26 14:52 |
|
Status | assigned => resolved |
2015-08-26 15:18 |
|
Note Added: 0044668 | |
2015-08-26 15:25 |
|
File Added: bef_fix1.png | |
2015-08-26 15:25 |
|
File Added: bef_fix2.png | |
2015-08-26 15:26 |
|
File Added: aft_fix1.png | |
2015-08-26 15:26 |
|
Note Edited: 0044668 | |
2015-08-26 15:27 |
|
Note Edited: 0044668 | |
2015-08-26 17:10 |
|
Note Edited: 0044668 | |
2015-08-27 13:07 |
|
Note Added: 0044734 | |
2015-08-27 13:07 |
|
Assigned To | msv => isn |
2015-08-27 13:07 |
|
Status | resolved => assigned |
2015-08-31 17:40 |
|
Note Added: 0044897 | |
2015-08-31 17:41 |
|
Assigned To | isn => msv |
2015-08-31 17:41 |
|
Status | assigned => resolved |
2015-08-31 17:41 | git | Note Added: 0044899 | |
2015-08-31 17:43 | git | Note Added: 0044901 | |
2015-08-31 17:43 |
|
Note Edited: 0044897 | |
2015-08-31 19:02 |
|
Note Added: 0044911 | |
2015-08-31 19:02 |
|
Status | resolved => assigned |
2015-08-31 19:02 |
|
Assigned To | msv => isn |
2015-08-31 19:04 |
|
Note Added: 0044912 | |
2015-08-31 19:26 | git | Note Added: 0044914 | |
2015-08-31 19:46 |
|
Note Added: 0044915 | |
2015-08-31 19:47 |
|
Assigned To | isn => msv |
2015-08-31 19:47 |
|
Status | assigned => resolved |
2015-09-01 12:26 |
|
Note Added: 0044922 | |
2015-09-01 12:26 |
|
Assigned To | msv => isn |
2015-09-01 12:26 |
|
Status | resolved => assigned |
2015-09-02 12:06 | git | Note Added: 0044956 | |
2015-09-02 12:07 |
|
Assigned To | isn => msv |
2015-09-02 12:07 |
|
Status | assigned => resolved |
2015-09-02 18:50 |
|
Note Added: 0044978 | |
2015-09-02 18:50 |
|
Assigned To | msv => bugmaster |
2015-09-02 18:50 |
|
Status | resolved => reviewed |
2015-09-02 19:13 |
|
Assigned To | bugmaster => mkv |
2015-09-03 13:03 | git | Note Added: 0044999 | |
2015-09-03 13:03 |
|
Note Added: 0045000 | |
2015-09-03 13:03 |
|
Assigned To | mkv => bugmaster |
2015-09-03 13:03 |
|
Status | reviewed => tested |
2015-09-03 13:03 |
|
Test case number | => bugs heal bug26244 |
2015-09-04 13:02 | bugmaster | Changeset attached | => occt master dd2f1b75 |
2015-09-04 13:02 | bugmaster | Status | tested => verified |
2015-09-04 13:02 | bugmaster | Resolution | open => fixed |
2015-09-24 11:23 |
|
Target Version | 7.1.0 => 7.0.0 |
2015-10-16 18:09 | git | Note Added: 0047146 | |
2015-10-16 18:09 | git | Note Added: 0047147 | |
2016-04-20 15:44 |
|
Fixed in Version | => 7.0.0 |
2016-04-20 15:49 |
|
Status | verified => closed |