View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0027595 | Open CASCADE | OCCT:Mesh | public | 2016-06-12 16:23 | 2016-12-09 16:40 |
Reporter | kgv | Assigned To | bugmaster | ||
Priority | normal | Severity | major | ||
Status | closed | Resolution | fixed | ||
Platform | Windows | OS | VC++ 2013 | ||
Product Version | 7.1.0 | ||||
Target Version | 7.1.0 | Fixed in Version | 7.1.0 | ||
Summary | 0027595: Mesh - faces without triangulations due to gp_VectorWithNullMagnitude exception | ||||
Description | 38 faces in attached compound (extracted from BLERIOT model) are no more triangulated by BRepMesh_FastDiscretFace in DEBUG mode (without No_Exception) due to unhanded gp_VectorWithNullMagnitude exception after #0027384 improvement. | ||||
Steps To Reproduce | N/A | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
|
bad_faces.7z (255,698 bytes) |
|
Branch CR27595 has been created by kgv. SHA-1: cfe938a887e6ff6452d454be6ee45e0ee883f8e7 Detailed log of new commits: Author: kgv Date: Sun Jun 12 16:33:01 2016 +0300 0027595: Mesh - faces without triangulations due to gp_VectorWithNullMagnitude exception Zero magnitude check has been added before gp::Vec::Angle() usage in BRepMesh_FastDiscretFace::insertInternalVerticesOther(). |
|
I have pushed a patch adding zero-magnitude check, but I'm not sure if it is a proper fix. |
|
I think it is better to allow to remove a point if a derivative is null, so the proposed correction is: if (aTmpVec.Magnitude() < gp::Resolution() || aPrevVec2.Magnitude() < gp::Resolution() || aPrevVec2.Angle (aTmpVec) < myAngle) |
|
Branch CR27595 has been updated forcibly by kgv. SHA-1: 1ed4a18a8e013ae5470afd52d6209367f6c0dbe3 |
|
Patch has been updated following remarks. |
|
DC, I suggest to use SquareMagnitude() in both checks to avoid computation of square root. I also propose to move check of "aPrevVec2" for null magnitude to if statement at line 953 in order to avoid redundant computations at all. For the same reasons I suggest to move check for "aTmpVec" to line 962 in order to avoid redundant call to "aIso.Value()". |
|
Branch CR27595_1 has been created by kgv. SHA-1: df865cda50cc546979f1fe7b7eadf3d2e3015139 Detailed log of new commits: Author: kgv Date: Fri Jun 17 11:24:30 2016 +0300 0027595: Mesh - faces without triangulations due to gp_VectorWithNullMagnitude exception Zero magnitude check has been added before gp::Vec::Angle() usage in BRepMesh_FastDiscretFace::insertInternalVerticesOther(). |
|
> For the same reasons I suggest to move check for "aTmpVec" to line 962 in order to avoid redundant call to "aIso.Value()" I don't get this comment. |
|
Excuse me if I confused you, I have just mentioned that it is also possible to move check "aTmpVec.SquareMagnitude() < gp::Resolution()" from line 973 to line 963. This is to avoid redundant computation of point on iso line at line 965 that can also take some time. |
|
Branch CR27595_1 has been updated by oan. SHA-1: 4fe83a9605dd8800e0cee213d42b25d084d46ffb Detailed log of new commits: Author: oan Date: Fri Jun 17 19:00:02 2016 +0300 Check of aTmpVec for null magnitude has been moved in order to avoid redundant computations. |
|
Please test the patch. Test case is not needed. |
|
Branch CR27595_1 has been updated forcibly by apv. SHA-1: 3437df85e9474a8d865713f7585fec95f50917bb |
|
Branch CR27595_1 has been rebased on the current master |
|
Dear BugMaster, Branch CR27595_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: 3437df85e9474a8d865713f7585fec95f50917bb Number of compiler warnings: occt component: Linux: 0 (0 on master) Windows: 0 (0 on master) MasOS: 0 (0 on master) products component: Linux: 68 Windows: 0 MacOS: 1122 Regressions/Differences: http://occt-tests/CR27595_1-master-OCCT/Debian70-64/summary.html http://occt-tests/CR27595_1-master-OCCT/Windows-64-VC10/summary.html bugs moddata_1 bug22759 http://occt-tests/CR27595_1-master-Products/Debian70-64/summary.html http://occt-tests/CR27595_1-master-Products/Windows-64-VC10/summary.html omf advanced_meshcut Z5 Testing cases: Not needed Testing on Linux: Total MEMORY difference: 88736313 / 89124942 [-0.44%] Total CPU difference: 19357.73999999996 / 19406.559999999947 [-0.25%] Testing on Windows: Total MEMORY difference: 55856386 / 55867730 [-0.02%] Total CPU difference: 17959.864726598862 / 18468.271985598964 [-2.75%] |
|
Dear Oleg, Branch CR27595_1 has been rejected due to: - regressions/differences/improvements |
|
Branch CR27595_1 has been updated forcibly by oan. SHA-1: b3340156c4f60eb29b53a3a98a556a0f1ba32fad |
|
Please review. |
|
In your new version, there remains possibility of exception, as Angle() can be called with null vector. Looking at regressions, I would think about updating test reference data, as the result in those tests seems to be quite good. |
|
Branch CR27595_1 has been updated forcibly by oan. SHA-1: cd93fdd6f5ea1c77f90a465b6e55fb6e30628dc4 |
|
Dear Mikhail, yes, you are right, please review. |
|
Branch CR27595_1 has been updated forcibly by oan. SHA-1: cc41ee19583e407dcc820a55504ed1877df1deae |
|
Reviewed. |
|
Branch CR27595_1 has been updated forcibly by mkv. SHA-1: 97edb51d48c3bb2ab9430e2e9e2b878170c8d526 |
|
Dear BugMaster, Branch CR27595_1 from occt git-repository (and IR-2016-06-23 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: 97edb51d48c3bb2ab9430e2e9e2b878170c8d526 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: 1 MacOS: 1129 Regressions/Differences: http://occt-tests/CR27595_1-master-Products/Debian70-64/summary.html http://occt-tests/CR27595_1-master-Products/Windows-64-VC10/summary.html omf advanced_meshcut Z5 Testing cases: Not needed Testing on Linux: Total MEMORY difference: 88677674 / 88670673 [+0.01%] Total CPU difference: 19392.779999999897 / 19559.74999999992 [-0.85%] Testing on Windows: Total MEMORY difference: 55873684 / 55895183 [-0.04%] Total CPU difference: 18143.056700898862 / 17842.068371498677 [+1.69%] |
|
Dear Oleg, Branch CR27595_1 has been rejected due to: - regressions/differences/improvements |
|
The test omf advanced_meshcut Z5 compares properties with too small tolerance. I propose to change 4e-9 to 4e-6: check_mesh result 15682.325756334887 384.31340440240052 4e-6 |
|
Dear Alexey, could you please modify "omf advanced_meshcut Z5" according to remark given above. TIA |
|
Branch CR27595 has been created in products git-repository |
|
Dear Sergey, Please, validate modification of test case in branch CR27595 from products git-repository. |
|
The modification of tests in the branch CR27595 is acceptable, please proceed. |
|
Dear BugMaster, following test case was retested omf advanced_meshcut Z5 Now it is OK. |
|
Dear BugMaster, Branches CR27595_1 and CR27595 are TESTED. |
|
Branch CR27595_1 has been deleted by inv. SHA-1: 97edb51d48c3bb2ab9430e2e9e2b878170c8d526 |
|
Branch CR27595 has been deleted by inv. SHA-1: 1ed4a18a8e013ae5470afd52d6209367f6c0dbe3 |
occt: master 782467fd 2016-06-22 15:20:15 Committer: bugmaster Details Diff |
0027595: Mesh - faces without triangulations due to gp_VectorWithNullMagnitude exception Zero magnitude check has been added before gp::Vec::Angle() usage |
Affected Issues 0027595 |
|
mod - src/BRepMesh/BRepMesh_FastDiscretFace.cxx | Diff File | ||
mod - tests/bugs/moddata_1/bug22759 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-06-12 16:23 | kgv | New Issue | |
2016-06-12 16:23 | kgv | Assigned To | => oan |
2016-06-12 16:23 | kgv | File Added: bad_faces.7z | |
2016-06-12 16:33 | git | Note Added: 0054928 | |
2016-06-12 16:34 | kgv | Note Added: 0054929 | |
2016-06-12 16:34 | kgv | Assigned To | oan => msv |
2016-06-12 16:34 | kgv | Status | new => assigned |
2016-06-12 16:48 | kgv | Description Updated | |
2016-06-14 08:48 | kgv | Assigned To | msv => oan |
2016-06-15 23:33 |
|
Note Added: 0055050 | |
2016-06-16 15:17 | git | Note Added: 0055080 | |
2016-06-16 15:18 | kgv | Note Added: 0055081 | |
2016-06-16 15:18 | kgv | Status | assigned => resolved |
2016-06-16 16:37 | oan | Note Added: 0055094 | |
2016-06-16 16:37 | oan | Assigned To | oan => kgv |
2016-06-16 16:37 | oan | Status | resolved => assigned |
2016-06-17 11:24 | git | Note Added: 0055126 | |
2016-06-17 11:25 | kgv | Note Added: 0055127 | |
2016-06-17 11:25 | kgv | Assigned To | kgv => oan |
2016-06-17 14:39 | oan | Note Added: 0055174 | |
2016-06-17 14:39 | oan | Assigned To | oan => kgv |
2016-06-17 14:39 | oan | Status | assigned => feedback |
2016-06-17 14:50 | kgv | Assigned To | kgv => oan |
2016-06-17 14:50 | kgv | Status | feedback => assigned |
2016-06-17 19:00 | git | Note Added: 0055198 | |
2016-06-17 19:00 | oan | Assigned To | oan => kgv |
2016-06-17 19:00 | oan | Status | assigned => feedback |
2016-06-21 09:09 | kgv | Note Added: 0055276 | |
2016-06-21 09:09 | kgv | Assigned To | kgv => bugmaster |
2016-06-21 09:09 | kgv | Status | feedback => reviewed |
2016-06-21 09:09 | kgv | Steps to Reproduce Updated | |
2016-06-21 11:43 |
|
Assigned To | bugmaster => apv |
2016-06-21 18:40 | git | Note Added: 0055319 | |
2016-06-21 18:40 |
|
Note Added: 0055320 | |
2016-06-22 14:32 |
|
Test case number | => Not needed |
2016-06-22 16:32 |
|
Note Added: 0055346 | |
2016-06-22 16:32 |
|
Assigned To | apv => oan |
2016-06-22 16:32 |
|
Status | reviewed => assigned |
2016-06-22 16:33 |
|
Note Added: 0055347 | |
2016-06-22 18:24 | git | Note Added: 0055352 | |
2016-06-22 18:24 | oan | Note Added: 0055353 | |
2016-06-22 18:24 | oan | Assigned To | oan => msv |
2016-06-22 18:24 | oan | Status | assigned => resolved |
2016-06-23 09:55 |
|
Note Added: 0055359 | |
2016-06-23 09:55 |
|
Assigned To | msv => oan |
2016-06-23 09:55 |
|
Status | resolved => assigned |
2016-06-23 14:21 | git | Note Added: 0055377 | |
2016-06-23 14:22 | oan | Note Added: 0055378 | |
2016-06-23 14:22 | oan | Assigned To | oan => msv |
2016-06-23 14:22 | oan | Status | assigned => resolved |
2016-06-23 14:27 | git | Note Added: 0055379 | |
2016-06-23 16:14 | oan | Severity | minor => major |
2016-06-23 16:40 |
|
Note Added: 0055386 | |
2016-06-23 16:40 |
|
Assigned To | msv => bugmaster |
2016-06-23 16:40 |
|
Status | resolved => reviewed |
2016-06-23 17:13 |
|
Assigned To | bugmaster => apv |
2016-06-23 17:52 | git | Note Added: 0055391 | |
2016-06-24 15:11 |
|
Note Added: 0055445 | |
2016-06-24 15:11 |
|
Assigned To | apv => oan |
2016-06-24 15:11 |
|
Status | reviewed => assigned |
2016-06-24 15:11 |
|
Note Added: 0055446 | |
2016-06-24 15:21 |
|
Note Added: 0055447 | |
2016-06-24 16:46 | oan | Note Added: 0055453 | |
2016-06-24 16:46 | oan | Assigned To | oan => apv |
2016-06-24 16:46 | oan | Status | assigned => feedback |
2016-06-24 17:47 |
|
Note Added: 0055468 | |
2016-06-24 17:47 |
|
Assigned To | apv => szv |
2016-06-24 17:48 |
|
Note Added: 0055469 | |
2016-06-28 10:13 |
|
Note Added: 0055520 | |
2016-06-28 10:13 |
|
Assigned To | szv => apv |
2016-06-28 10:13 |
|
Status | feedback => reviewed |
2016-06-28 17:25 |
|
Note Added: 0055552 | |
2016-06-28 17:25 |
|
Note Added: 0055553 | |
2016-06-28 17:25 |
|
Assigned To | apv => bugmaster |
2016-06-28 17:25 |
|
Status | reviewed => tested |
2016-07-01 17:19 | bugmaster | Changeset attached | => occt master 782467fd |
2016-07-01 17:19 | bugmaster | Status | tested => verified |
2016-07-01 17:19 | bugmaster | Resolution | open => fixed |
2016-07-22 10:45 | git | Note Added: 0056131 | |
2016-07-22 10:45 | git | Note Added: 0056136 | |
2016-12-09 16:29 |
|
Status | verified => closed |
2016-12-09 16:40 |
|
Fixed in Version | => 7.1.0 |