View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028795 | Open CASCADE | OCCT:Modeling Algorithms | public | 2017-05-29 10:21 | 2017-09-29 16:25 |
Reporter | Assigned To | ||||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.2.0 | Fixed in Version | 7.2.0 | ||
Summary | 0028795: Boolean operations corrupt the p-curve of the source planar face if "non-destructive" option is switched off | ||||
Description | Usual (on the current state of OCCT), edges do not have any p-curve on planar faces. However, Boolean operations story it. But the new p-curve loses the UV-bounds of the source face. | ||||
Steps To Reproduce | # test boolean bcut_simple G8 box mb -0.5 -0.5 -0.5 1 1 1 explode mb F prism pryz mb_1 1 0 0 SemiInf box ab 0 -1 -1 2 2 2 explode ab f explode pryz f don ab_2 pryz_1 xbounds pryz_1 # 0, 1, -2e+100, 0 v2d pcu pryz_1 # see CorruptPCurveBeforeBoolean.PNG attached picture # Make a simple Boolean operation, e.g. "bsection" bsection rs ab_2 pryz_1 xbounds pryz_1 # 0, 1, -2e+100, 2e+100 2dclear pcu pryz_1 # see CorruptPCurveAfterBoolean.PNG attached picture | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_6 bug28795 | ||||
2017-05-29 10:21 developer |
CorruptPCurveBeforeBoolean.PNG (15,312 bytes) |
2017-05-29 10:21 developer |
CorruptPCurveAfterBoolean.PNG (20,868 bytes) |
|
Steps To Reproduce has been updated. |
|
Branch CR28795 has been created by nbv. SHA-1: f71d5c99932e0a9cefa3610b4c371e7d7f4dfadc Detailed log of new commits: Author: nbv Date: Mon May 29 10:42:30 2017 +0300 0028795: Boolean operations corrupt the p-curve of the source planar face if "non-destructive" option is switched off In the fix, obtained CurveOnSurface of the edge is trimmed in the range of its curve representation if true boundaries of the curve are not equal to correspond boundaries of the range. Author: nbv Date: Fri May 26 15:03:48 2017 +0300 Merge branch 'master' of git.dev.opencascade.org:occt Author: kgv Date: Thu May 11 18:10:53 2017 +0300 0028726: Quantity_NameOfColor should be replaced by Quantity_Color in function input argument AIS_InteractiveObject, virtual methods ::SetColor(), ::Color() returning/accepting Quantity_NameOfColor have been removed. Virtual method ::SetMaterial() accepting Graphic3d_NameOfMaterial has been also removed. V3d_View, V3d_Viewer, V3d_AmbientLight, V3d_DirectionalLight, V3d_Light, V3d_PositionalLight, V3d_SpotLight, Aspect_Window, methods accepting Quantity_NameOfColor have been removed (duplicates) or color argument(s) replaced with Quantity_Color. Author: vro Date: Mon May 22 15:41:14 2017 +0300 0027667: OCAF binary persistence hangs on reading truncated CBF file A check on "end of file" is added to the reader. Author: nbv Date: Thu Dec 15 17:22:00 2016 +0300 0028222: Intersection of two cylinders fails 1. The reason of exception has been eliminated. 2. Algorithm in IntPatch_WLineTool::JoinWLines(...) method has been modified in order to forbid join curves in the point where more than two intersection lines meet. More over, joining is forbidden if local curvature in the connection point is too big (see function CheckArgumentsToJoin(...) in the file IntPatch_WLineTool.cxx). 3. Interface of IntPatch_WLineTool::JoinWLines(...) method has been modified in order to reduce number of arguments. 4. Small corrections in IsSeamOrBound(...) static function has been made. Namely, check has been added if two boundaries are in the same period region but are too far each to other (see IntPatch_WLineTool.cxx, IsSeamOrBound(...) function, line # 532). 5. "Reversed" flag has been made local. Now, it is pure local characteristic: the algorithm decides itself, shall we reverse the argument order. This correction makes the algorithm more commutative (see issue 0025404). However, IntPatch_WLineTool::JoinWLines(...) method can return non-commutative result. 6. Algorithm of searching small intersection curves has been improved. 7. New methods have been added in Bnd_Range class. Some test cases have been adjusted according to their new behavior. 1. tests\bugs\modalg_6\bug26310_3 tests\bugs\modalg_6\bug26310_4 tests\bugs\moddata_2\bug235 tests\perf\modalg\bug26310_1 tests\bugs\modalg_5\bug24915 Logic of these cases has been changed. Mover over, additional check has been added in "bug26310_1" test case. Therefore, its performance will be slower than on the current MASTER. 2. tests\bugs\modalg_5\bug25292* Scripts have been rewritten in order to make it more readable. Logic of these cases has not been changed. Author: kgv Date: Tue May 23 19:05:41 2017 +0300 0028778: Coding Rules - clean up confusing code from Select3D Author: szy Date: Tue May 23 15:14:51 2017 +0300 0028446: Could not retrieve just kept document with Integer attribute Author: szy Date: Thu May 11 17:37:44 2017 +0300 27970: Improvement of standard attributes usability - containers. |
|
Branch CR28795_1 has been created by nbv. SHA-1: 66030af7156fee2b1aa409f35dab0a75ff9398b5 Detailed log of new commits: Author: nbv Date: Mon May 29 10:42:30 2017 +0300 0028795: Boolean operations corrupt the p-curve of the source planar face if "non-destructive" option is switched off In the fix, obtained CurveOnSurface of the edge is trimmed in the range of its curve representation if true boundaries of the curve are not equal to correspond boundaries of the range. |
|
Dear Mikhail, Please review CR28795_1 branch. |
|
Branch CR28795_1 has been updated forcibly by nbv. SHA-1: b08684473b54770343b0820cebb816ddce7aa20e |
|
Insignificant correction in the test case has been made. |
|
Reviewed. |
|
Dear BugMaster, Branch CR28795_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: b08684473b54770343b0820cebb816ddce7aa20e Number of compiler warnings: occt component: Linux: 0 (0 on master) Windows: 0 (0 on master) MasOS: 0 (0 on master) products component: Linux: 64 Windows: 0 MacOS: 1197 Regressions/Differences: Not detected Testing cases: bugs modalg_6 bug28795 - OK http://occt-tests/CR28795_1-master-OCCT/Debian70-64/bugs/modalg_6/bug28795.html http://occt-tests/CR28795_1-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug28795.html Testing on Linux: Total MEMORY difference: 92638998 / 91843251 [+0.87%] Total CPU difference: 18566.23000000023 / 19347.320000000098 [-4.04%] Testing on Windows: Total MEMORY difference: 58521963 / 58497831 [+0.04%] Total CPU difference: 17247.7981620987 / 17520.28510879866 [-1.56%] There are differences in images found by testdiff: http://occt-tests/CR28795_1-master-OCCT/Debian70-64/diff-Debian70-64-image.html http://occt-tests/CR28795_1-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html boolean bfuse_complex N2 boolean bfuse_complex G4 boolean bcut_complex A1 boolean bcut_complex M5 boolean bcut_complex H3 boolean bcut_complex M6 boolean bcut_complex N9 feat featlf B8 feat featprism K1 feat featprism O6 feat featprism S2 bugs modalg_4 bug748 |
|
Dear Nikolay, Branch CR28795_1 has been rejected due to: - differences in images |
|
New behavior (pictures) of the test cases can be applied because quality of the shapes was non changed. Simply, we have obtained another set of isolines. However, I would like to offer additional investigation of behavior of the DBRep_IsoBuilder algorithm with new result (especially "bugs modalg_4 bug748") in frame of the issue 0028385. |
|
Dear Mikhail, Please confirm the conclusion 0028795:0066920. |
|
I do not agree. It is a regression. Please fix. |
|
Branch CR28795_2 has been created by nbv. SHA-1: d32c3a5a04387eda540825c1201e55edb18d9ed0 Detailed log of new commits: Author: nbv Date: Mon May 29 10:42:30 2017 +0300 0028795: Boolean operations corrupt the p-curve of the source planar face if "non-destructive" option is switched off Now, the range of BRep_CurveRepresentation of the edge is updated if at least one of its boundary is not infinite (earlier, it was updated if all two boundaries are not infinite only). |
|
Dear Mikhail, Please review CR28795_2 branch. |
|
- please make the fix more effective: 1) remove lines 127-133 2) after 153, always get range of COS 3) check if 'f' is not infinite then use it for first 4) the same for 'l' 5) set new range of COS. - make the same treatment in all other overloads of UpdateCurves() where rangeFound flag is used. |
|
Branch CR28795_3 has been created by nbv. SHA-1: 4326ec5a6c64587ff03a4563917350cb6822d287 Detailed log of new commits: Author: nbv Date: Mon May 29 10:42:30 2017 +0300 0028795: Boolean operations corrupt the p-curve of the source planar face if "non-destructive" option is switched off Now, the range of BRep_CurveRepresentation of the edge is updated if at least one of its boundary is not infinite (earlier, it was updated if all two boundaries are not infinite only). |
|
Dear Mikhail, Please review CR28795_3 branch. |
|
Branch CR28795_4 has been created by nbv. SHA-1: 8f5f59a9194d461771f27a89c6a38439ec4b4759 Detailed log of new commits: Author: nbv Date: Mon May 29 10:42:30 2017 +0300 0028795: Boolean operations corrupt the p-curve of the source planar face if "non-destructive" option is switched off Now, the range of BRep_CurveRepresentation of the edge is updated if at least one of its boundary is not infinite (earlier, it was updated if all two boundaries are not infinite only). |
|
Reviewed. |
|
Please test the branch CR28795_4. |
|
Branch CR28795_4 has been updated forcibly by apv. SHA-1: b7a71e36aa7701e80cd03049cc0978590b91df00 |
|
Branch CR28795_4 has been rebased on the current master. |
|
Dear BugMaster, Branch CR28795_4 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: b7a71e36aa7701e80cd03049cc0978590b91df00 Number of compiler warnings: occt component: Linux: 0 (0 on master) Windows: 0 (0 on master) MasOS: 0 (0 on master) products component: Linux: 64 Windows: 0 MacOS: 1216 Regressions/Differences: Not detected Testing cases: bugs modalg_6 bug28795 - OK http://occt-tests/CR28795_4-master-OCCT/Debian70-64/bugs/modalg_6/bug28795.html http://occt-tests/CR28795_4-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug28795.html Testing on Linux: Total MEMORY difference: 92428482 / 91787027 [+0.70%] Total CPU difference: 18736.660000000218 / 18756.150000000256 [-0.10%] Testing on Windows: Total MEMORY difference: 58849565 / 58849087 [+0.00%] Total CPU difference: 17467.603571098753 / 17514.591072298645 [-0.27%] |
|
Dear BugMaster, Please integrate branch CR28795_4 into the occt git-repository master. |
|
Branch CR28795 has been deleted by kgv. SHA-1: f71d5c99932e0a9cefa3610b4c371e7d7f4dfadc |
|
Branch CR28795_1 has been deleted by kgv. SHA-1: b08684473b54770343b0820cebb816ddce7aa20e |
|
Branch CR28795_2 has been deleted by kgv. SHA-1: d32c3a5a04387eda540825c1201e55edb18d9ed0 |
|
Branch CR28795_3 has been deleted by kgv. SHA-1: 4326ec5a6c64587ff03a4563917350cb6822d287 |
|
Branch CR28795_4 has been deleted by kgv. SHA-1: b7a71e36aa7701e80cd03049cc0978590b91df00 |
occt: master b7a71e36 2017-05-29 07:42:30
Committer: |
0028795: Boolean operations corrupt the p-curve of the source planar face if "non-destructive" option is switched off Now, the range of BRep_CurveRepresentation of the edge is updated if at least one of its boundary is not infinite (earlier, it was updated if all two boundaries are not infinite only). |
Affected Issues 0028795 |
|
mod - src/BRep/BRep_Builder.cxx | Diff File | ||
add - tests/bugs/modalg_6/bug28795 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-05-29 10:21 |
|
New Issue | |
2017-05-29 10:21 |
|
Assigned To | => msv |
2017-05-29 10:21 |
|
File Added: CorruptPCurveBeforeBoolean.PNG | |
2017-05-29 10:21 |
|
File Added: CorruptPCurveAfterBoolean.PNG | |
2017-05-29 10:31 |
|
Note Added: 0066700 | |
2017-05-29 10:31 |
|
Steps to Reproduce Updated | |
2017-05-29 11:06 | git | Note Added: 0066703 | |
2017-05-29 11:10 | git | Note Added: 0066704 | |
2017-05-29 11:10 |
|
Assigned To | msv => nbv |
2017-05-29 11:10 |
|
Status | new => assigned |
2017-05-29 11:11 |
|
Note Added: 0066705 | |
2017-05-29 11:11 |
|
Assigned To | nbv => msv |
2017-05-29 11:11 |
|
Status | assigned => resolved |
2017-05-29 16:26 |
|
Assigned To | msv => emv |
2017-05-29 16:39 | git | Note Added: 0066813 | |
2017-05-29 16:40 |
|
Note Added: 0066814 | |
2017-05-30 07:59 |
|
Note Added: 0066843 | |
2017-05-30 07:59 |
|
Assigned To | emv => bugmaster |
2017-05-30 07:59 |
|
Status | resolved => reviewed |
2017-05-30 12:25 |
|
Assigned To | bugmaster => apv |
2017-05-30 16:29 |
|
Test case number | => bugs modalg_6 bug28795 |
2017-05-31 11:25 |
|
Note Added: 0066909 | |
2017-05-31 11:25 |
|
Assigned To | apv => nbv |
2017-05-31 11:25 |
|
Status | reviewed => assigned |
2017-05-31 11:27 |
|
Note Added: 0066910 | |
2017-05-31 12:31 |
|
Note Added: 0066920 | |
2017-05-31 12:32 |
|
Note Added: 0066921 | |
2017-05-31 12:32 |
|
Assigned To | nbv => msv |
2017-05-31 12:32 |
|
Status | assigned => resolved |
2017-05-31 12:32 |
|
Note Edited: 0066921 | |
2017-05-31 14:38 |
|
Note Added: 0066925 | |
2017-05-31 17:31 | git | Note Added: 0066940 | |
2017-05-31 17:33 |
|
Note Added: 0066941 | |
2017-05-31 18:01 |
|
Note Added: 0066942 | |
2017-05-31 18:01 |
|
Assigned To | msv => nbv |
2017-05-31 18:01 |
|
Status | resolved => assigned |
2017-06-01 10:12 | git | Note Added: 0066951 | |
2017-06-01 10:14 |
|
Note Added: 0066952 | |
2017-06-01 10:14 |
|
Assigned To | nbv => msv |
2017-06-01 10:14 |
|
Status | assigned => resolved |
2017-06-01 10:23 | git | Note Added: 0066953 | |
2017-06-01 10:25 |
|
Note Added: 0066954 | |
2017-06-01 10:25 |
|
Assigned To | msv => bugmaster |
2017-06-01 10:25 |
|
Status | resolved => reviewed |
2017-06-01 10:36 |
|
Note Added: 0066956 | |
2017-06-01 12:12 |
|
Assigned To | bugmaster => apv |
2017-06-02 11:48 | git | Note Added: 0067006 | |
2017-06-02 11:49 |
|
Note Added: 0067007 | |
2017-06-05 10:31 |
|
Note Added: 0067056 | |
2017-06-05 10:31 |
|
Assigned To | apv => bugmaster |
2017-06-05 10:31 |
|
Status | reviewed => tested |
2017-06-05 10:32 |
|
Note Added: 0067057 | |
2017-06-09 14:06 |
|
Changeset attached | => occt master b7a71e36 |
2017-06-09 14:06 |
|
Assigned To | bugmaster => apv |
2017-06-09 14:06 |
|
Status | tested => verified |
2017-06-09 14:06 |
|
Resolution | open => fixed |
2017-06-13 17:34 | git | Note Added: 0067346 | |
2017-06-13 17:34 | git | Note Added: 0067347 | |
2017-06-13 17:34 | git | Note Added: 0067348 | |
2017-06-13 17:34 | git | Note Added: 0067349 | |
2017-06-13 17:34 | git | Note Added: 0067350 | |
2017-09-29 16:18 |
|
Fixed in Version | => 7.2.0 |
2017-09-29 16:25 |
|
Status | verified => closed |