MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0026244Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2015-05-20 15:102016-04-20 15:49
Reporterakz 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.0.0Fixed in Version[OCCT] 7.0.0 
Summary0026244: Destructive results of simplification with DRAW command 'unifysamedom' after intersection of two complex models
DescriptionThere 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 Reproducesource 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 [^]
TagsNo tags attached.
Test case numberbugs heal bug26244
Attached Files? file icon ANC101CompileWithoutFillets.tcl (9,077 bytes) 2015-05-20 15:10
png file icon ANC101_gl_simplify.png (20,901 bytes) 2015-05-21 10:17
png file icon bef_fix1.png (11,711 bytes) 2015-08-26 15:25
png file icon bef_fix2.png (20,458 bytes) 2015-08-26 15:25
png file icon aft_fix1.png (11,377 bytes) 2015-08-26 15:26

- Relationships
related to 0026243closedbugmaster Boolean operations failed on shapes with fillets 

-  Notes
(0041352)
ssv (developer)
2015-05-21 10:15

I obtain StdFail_NotDone exception on the provided case (MSVC 2013, x64): no result (even faulty) of unifysamedom is available.
(0044663)
git (administrator)
2015-08-26 14:48

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
(0044668)
isn (developer)
2015-08-26 15:18
edited on: 2015-08-26 17:10

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)

(0044734)
msv (developer)
2015-08-27 13:07

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.
(0044897)
isn (developer)
2015-08-31 17:40
edited on: 2015-08-31 17:43

the new branch is CR26244_1;
(circles only)
please check.

(0044899)
git (administrator)
2015-08-31 17:41

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
(0044901)
git (administrator)
2015-08-31 17:43

Branch CR26244_1 has been updated forcibly by isn.

SHA-1: 0b9bdd6d52060cbcb824a57bf157d3f5e973bc72
(0044911)
msv (developer)
2015-08-31 19:02

Please simplify the fix as we agreed.
(0044912)
msv (developer)
2015-08-31 19:04

And, please re-base on current master.
(0044914)
git (administrator)
2015-08-31 19:26

Branch CR26244_1 has been updated forcibly by isn.

SHA-1: 46e9fb28ab9d964ea047c044d5771fcdcde8eadf
(0044915)
isn (developer)
2015-08-31 19:46

done
(0044922)
msv (developer)
2015-09-01 12:26

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());
(0044956)
git (administrator)
2015-09-02 12:06

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

(0044978)
msv (developer)
2015-09-02 18:50

Reviewed.
(0044999)
git (administrator)
2015-09-03 13:03

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

(0045000)
mkv (tester)
2015-09-03 13:03

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.
(0047146)
git (administrator)
2015-10-16 18:09

Branch CR26244 has been deleted by kgv.

SHA-1: ce0098218eac60f62d3806aea7128877ac224594
(0047147)
git (administrator)
2015-10-16 18:09

Branch CR26244_1 has been deleted by kgv.

SHA-1: d15b94add6713736cef58cb251c57965fdd5870e

- Related Changesets
occt: master dd2f1b75
Timestamp: 2015-09-03 12:24:12
Author: isn
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
mod - src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx Diff ] File ]
add - tests/bugs/heal/bug26244 Diff ] File ]

- Issue History
Date Modified Username Field Change
2015-05-20 15:10 akz New Issue
2015-05-20 15:10 akz Assigned To => msv
2015-05-20 15:10 akz File Added: ANC101CompileWithoutFillets.tcl
2015-05-20 15:11 akz Description Updated View Revisions
2015-05-20 15:13 akz Description Updated View Revisions
2015-05-20 15:13 akz Steps to Reproduce Updated View Revisions
2015-05-20 15:13 akz Relationship added related to 0026243
2015-05-20 15:14 akz Description Updated View Revisions
2015-05-20 15:17 msv Assigned To msv => ifv
2015-05-20 15:17 msv Status new => assigned
2015-05-20 15:17 msv Target Version => 7.1.0
2015-05-21 10:15 ssv Note Added: 0041352
2015-05-21 10:17 ssv File Added: ANC101_gl_simplify.png
2015-05-21 13:05 ifv Assigned To ifv => jgv
2015-08-24 18:18 jgv Assigned To jgv => isn
2015-08-26 14:48 git Note Added: 0044663
2015-08-26 14:52 isn Assigned To isn => msv
2015-08-26 14:52 isn Status assigned => resolved
2015-08-26 15:18 isn Note Added: 0044668
2015-08-26 15:25 isn File Added: bef_fix1.png
2015-08-26 15:25 isn File Added: bef_fix2.png
2015-08-26 15:26 isn File Added: aft_fix1.png
2015-08-26 15:26 isn Note Edited: 0044668 View Revisions
2015-08-26 15:27 isn Note Edited: 0044668 View Revisions
2015-08-26 17:10 isn Note Edited: 0044668 View Revisions
2015-08-27 13:07 msv Note Added: 0044734
2015-08-27 13:07 msv Assigned To msv => isn
2015-08-27 13:07 msv Status resolved => assigned
2015-08-31 17:40 isn Note Added: 0044897
2015-08-31 17:41 isn Assigned To isn => msv
2015-08-31 17:41 isn 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 isn Note Edited: 0044897 View Revisions
2015-08-31 19:02 msv Note Added: 0044911
2015-08-31 19:02 msv Status resolved => assigned
2015-08-31 19:02 msv Assigned To msv => isn
2015-08-31 19:04 msv Note Added: 0044912
2015-08-31 19:26 git Note Added: 0044914
2015-08-31 19:46 isn Note Added: 0044915
2015-08-31 19:47 isn Assigned To isn => msv
2015-08-31 19:47 isn Status assigned => resolved
2015-09-01 12:26 msv Note Added: 0044922
2015-09-01 12:26 msv Assigned To msv => isn
2015-09-01 12:26 msv Status resolved => assigned
2015-09-02 12:06 git Note Added: 0044956
2015-09-02 12:07 isn Assigned To isn => msv
2015-09-02 12:07 isn Status assigned => resolved
2015-09-02 18:50 msv Note Added: 0044978
2015-09-02 18:50 msv Assigned To msv => bugmaster
2015-09-02 18:50 msv Status resolved => reviewed
2015-09-02 19:13 mkv Assigned To bugmaster => mkv
2015-09-03 13:03 git Note Added: 0044999
2015-09-03 13:03 mkv Note Added: 0045000
2015-09-03 13:03 mkv Assigned To mkv => bugmaster
2015-09-03 13:03 mkv Status reviewed => tested
2015-09-03 13:03 mkv 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 abv 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 aiv Fixed in Version => 7.0.0
2016-04-20 15:49 aiv Status verified => closed


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker