View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0025357 | Open CASCADE | OCCT:Data Exchange | public | 2014-10-13 12:35 | 2015-05-14 15:32 |
Reporter | oan | Assigned To | bugmaster | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 6.9.0 | Fixed in Version | 6.9.0 | ||
Summary | 0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode | ||||
Description | There is a problem to store mesh already existing in shape using OCCT STL writer due to recomputation of shape tesselation in force mode using own parameters. | ||||
Steps To Reproduce | Test script "bug25357" | ||||
Tags | No tags attached. | ||||
Test case number | bugs xde bug25357 | ||||
|
Branch CR25357 has been created by akz. SHA-1: a90c6cba7bdec1e87266ae119f4d5338eec808ff Detailed log of new commits: Author: akz Date: Fri Jan 16 19:53:55 2015 +0300 0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode. StlTransfer.cxx, function StlTransfer::BuildIncrementalMesh(...) fills the StlMesh_Mesh. Before this fix the StlTransfer always force meshing of the passed shape. This fix adds a check of existed mesh on the passed shape with the following logic: 1. If all faces of the shape are meshed, we store it without re-meshing. 2. If one or more faces were not meshed, we find the meshed face with the max deflection and re-mesh the shape with its. 3. If all faces were not meshed, we mesh the shape with the default parameters, as it was before fix. |
|
BTW: Is there any reasoning to set the angular deflection to 0.5? Wouldn't it make sense to expose it as a optional parameter (which defaults to 0.5)? |
|
Did you mean to expose angular deflection as an optional parameter for the StlTransfer::BuildIncrementalMesh(...)? It is no sense to add such configuration opportunities to the stl writer. We can easily mesh the shape manually with all needed parameters including angular deflection and write it into the file without any changes of mesh. |
|
I suggest that meshing should be completely removed from STL (and VRML) export: mesh should be already computed before, and export should only save it to the file. |
|
I would support abv's proposal. Unitl now, we commented the call to IncrementalMesh in StlTransfer::BuildIncrementalMesh to get this behaviour. |
|
Branch CR25357 has been updated by akz. SHA-1: f7b5fc4d6a19029539e9df0a765ba4f65fda49b5 Detailed log of new commits: Author: akz Date: Mon Jan 19 14:42:31 2015 +0300 0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode. Meshing is completely removed from the StlTransfer. StlWriter can return error status now, for example, if a mesh of the passed shape is empty. In this case file will be not created. |
2015-01-19 15:28 developer |
bug25357 (952 bytes) |
|
Branch is ready to review. |
|
Branch CR25357 is ready to be tested |
|
Branch CR25357 has been updated forcibly by apn. SHA-1: 14cbcdda0596b8b4b01b38862686500a1c0d29e3 |
|
Branch CR25357 has been updated by apn. SHA-1: ba74339b2a412f849a5682b43bb13a20636d946c Detailed log of new commits: Author: apn Date: Thu Jan 29 12:51:06 2015 +0300 Added test case bugs/xde/bug25357 |
|
Dear BugMaster, Branch CR25357 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested in Release mode. SHA-1: 14cbcdda0596b8b4b01b38862686500a1c0d29e3 Number of compiler warnings: occt component : Linux: 19 (18 on master) XSDRAWSTLVRML.cxx:108, GNU C Compiler 4 (gcc), Priority: Normal enumeration value ‘StlAPI_StatusOK’ not handled in switch Windows: 0 (0 on master) products component : Linux: 11 (11 on master) Windows: 1 (1 on master) Regressions/Differences: bugs fclasses bug23192_1 bug23192_2 bugs xde bug22670_1 bug22670_2 bug22898 bug23193 http://occt-tests/CR25357-master-occt/Windows-32-VC10/summary.html http://occt-tests/CR25357-master-occt/Debian60-64/summary.html Testing cases: bugs xde bug25357 - OK http://occt-tests/CR25357-master-occt/Debian60-64/bugs/xde/bug25357.html http://occt-tests/CR25357-master-occt/Windows-32-VC10/bugs/xde/bug25357.html Testing on Linux: Total MEMORY difference: 369171356 / 369914552 Total CPU difference: 55207.87000000011 / 51705.1100000001 Testing on Windows: Total MEMORY difference: 275783820 / 275501360 Total CPU difference: 43548.5625 / 38121.015625 There are not differences in images found by testdiff. |
|
Branch CR25357 has been updated by akz. SHA-1: 52a7e9ec4171b0d103e1062a65eb0f08120d95c7 Detailed log of new commits: Author: akz Date: Thu Jan 29 16:23:06 2015 +0300 Avoid the warning on gcc compiler. |
|
Branch CR25357_1 has been created by akz. SHA-1: 59717d8caf7d7004bee082c8ba508e5b5ae0f88b Detailed log of new commits: Author: akz Date: Thu Jan 29 16:23:06 2015 +0300 0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode 1. Avoid the warning on gcc compiler. 2. Test scripts were modified according to the fix. 1) bug23192, bug22670, bug23193: removed "isParallel" flag from the command arguments. Manually meshing of the shape (as far as meshing was removed from STL writer). 2) bug22898: before the fix writestl always remeshes the shape with a deflection, related to the boundery box of the shape. For "hammer" shape there is a 38.9076 deflection for mesh. Differences between before writing and after reading are dedicated to fact that stl writes triangulation as an elements of the spahe (like faces, edges etc.) Author: apn Date: Thu Jan 29 12:51:06 2015 +0300 Added test case bugs/xde/bug25357 Author: akz Date: Fri Jan 16 19:53:55 2015 +0300 0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode. StlTransfer.cxx, function StlTransfer::BuildIncrementalMesh(...) fills the StlMesh_Mesh. Before this fix the StlTransfer always force meshing of the passed shape. Now meshing is completely removed from the StlTransfer. StlWriter can return error status now, for example, if a mesh of the passed shape is empty. In this case file will be not created. |
|
Branch CR25357 has been deleted by akz. SHA-1: 52a7e9ec4171b0d103e1062a65eb0f08120d95c7 |
|
Branch CR25357_1 is ready to review. (Last commit dedicated to the fix of warning and test scripts with regressions) |
|
Branch CR25357_1 is ready to be tested. |
|
Branch CR25357_1 has been updated forcibly by apn. SHA-1: d78ae248b43743a934026e293ca43b5b1c9462be |
|
Dear BugMaster, Branch CR25357_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested in Release mode. SHA-1: d78ae248b43743a934026e293ca43b5b1c9462be Number of compiler warnings: occt component : Linux: 18 (18 on master) Windows: 0 (0 on master) products component : Linux: 11 (11 on master) Windows: 1 (1 on master) Regressions/Differences: No regressions Testing cases: bugs xde bug25357 - OK http://occt-tests/CR25357-1-master-occt/Debian60-64/bugs/xde/bug25357.html http://occt-tests/CR25357-1-master-occt/Windows-32-VC10/bugs/xde/bug25357.html Testing on Linux: Total MEMORY difference: 369543272 / 370066520 Total CPU difference: 56238.069999999585 / 49863.67000000002 Testing on Windows: Total MEMORY difference: 275612400 / 276276616 Total CPU difference: 37819.1875 / 36894.0 There are not differences in images found by testdiff. |
|
Branch CR25357_1 has been deleted by inv. SHA-1: d78ae248b43743a934026e293ca43b5b1c9462be |
occt: master b9c1e440 2015-02-05 11:38:59
Committer: bugmaster Details Diff |
0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode. StlTransfer.cxx, function StlTransfer::BuildIncrementalMesh(...) fills the StlMesh_Mesh. Before this fix the StlTransfer always force meshing of the passed shape. Now meshing is completely removed from the StlTransfer. StlWriter can return error status now, for example, if a mesh of the passed shape is empty. In this case file will be not created. Added test case bugs/xde/bug25357 Avoid the warning on gcc compiler. Test scripts were modified according to the fix. 1) bug23192, bug22670, bug23193: removed "isParallel" flag from the command arguments. Manually meshing of the shape (as far as meshing was removed from STL writer). 2) bug22898: before the fix writestl always remeshes the shape with a deflection, related to the boundery box of the shape. For "hammer" shape there is a 38.9076 deflection for mesh. Differences between before writing and after reading are dedicated to fact that stl writes triangulation as an elements of the spahe (like faces, edges etc.) |
Affected Issues 0025357 |
|
mod - src/QABugs/QABugs_2.cxx | Diff File | ||
mod - src/StlAPI/StlAPI.cdl | Diff File | ||
mod - src/StlAPI/StlAPI.cxx | Diff File | ||
mod - src/StlAPI/StlAPI_Writer.cdl | Diff File | ||
mod - src/StlAPI/StlAPI_Writer.cxx | Diff File | ||
mod - src/StlTransfer/StlTransfer.cdl | Diff File | ||
mod - src/StlTransfer/StlTransfer.cxx | Diff File | ||
mod - src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx | Diff File | ||
mod - tests/bugs/fclasses/bug23192_1 | Diff File | ||
mod - tests/bugs/fclasses/bug23192_2 | Diff File | ||
mod - tests/bugs/xde/bug22670_1 | Diff File | ||
mod - tests/bugs/xde/bug22670_2 | Diff File | ||
mod - tests/bugs/xde/bug22898 | Diff File | ||
mod - tests/bugs/xde/bug23193 | Diff File | ||
add - tests/bugs/xde/bug25357 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-10-13 12:35 | oan | New Issue | |
2014-10-13 12:35 | oan | Assigned To | => gka |
2015-01-14 17:01 |
|
Assigned To | gka => akz |
2015-01-16 10:23 |
|
Status | new => assigned |
2015-01-16 19:55 | git | Note Added: 0036172 | |
2015-01-16 20:51 | shoogen | Note Added: 0036173 | |
2015-01-17 15:30 |
|
Note Added: 0036174 | |
2015-01-17 17:54 |
|
Note Added: 0036175 | |
2015-01-19 12:25 | Timo | Note Added: 0036194 | |
2015-01-19 14:43 | git | Note Added: 0036206 | |
2015-01-19 15:28 |
|
File Added: bug25357 | |
2015-01-19 15:29 |
|
Note Added: 0036210 | |
2015-01-19 15:29 |
|
Assigned To | akz => gka |
2015-01-19 15:29 |
|
Status | assigned => resolved |
2015-01-19 15:29 |
|
Steps to Reproduce Updated | |
2015-01-19 16:55 |
|
Note Added: 0036211 | |
2015-01-19 16:55 |
|
Assigned To | gka => bugmaster |
2015-01-19 16:55 |
|
Status | resolved => reviewed |
2015-01-28 18:56 | apn | Assigned To | bugmaster => apn |
2015-01-28 18:59 | git | Note Added: 0036788 | |
2015-01-29 12:51 | git | Note Added: 0036805 | |
2015-01-29 15:49 | apn | Note Added: 0036835 | |
2015-01-29 15:50 | apn | Note Edited: 0036835 | |
2015-01-29 15:51 | apn | Test case number | => bugs xde bug25357 |
2015-01-29 15:51 | apn | Assigned To | apn => akz |
2015-01-29 15:51 | apn | Status | reviewed => assigned |
2015-01-29 16:24 | git | Note Added: 0036844 | |
2015-01-29 19:14 | git | Note Added: 0036858 | |
2015-01-29 19:15 | git | Note Added: 0036859 | |
2015-01-29 19:17 |
|
Note Added: 0036860 | |
2015-01-29 19:17 |
|
Assigned To | akz => gka |
2015-01-29 19:17 |
|
Status | assigned => resolved |
2015-01-29 19:17 |
|
Note Edited: 0036860 | |
2015-01-30 10:22 |
|
Note Added: 0036871 | |
2015-01-30 10:22 |
|
Assigned To | gka => bugmaster |
2015-01-30 10:22 |
|
Status | resolved => reviewed |
2015-01-30 14:31 |
|
Assigned To | bugmaster => apn |
2015-02-02 15:04 | git | Note Added: 0036972 | |
2015-02-03 17:07 | apn | Note Added: 0037027 | |
2015-02-03 17:07 | apn | Assigned To | apn => bugmaster |
2015-02-03 17:07 | apn | Status | reviewed => tested |
2015-02-06 15:38 | bugmaster | Changeset attached | => occt master b9c1e440 |
2015-02-06 15:38 | bugmaster | Status | tested => verified |
2015-02-06 15:38 | bugmaster | Resolution | open => fixed |
2015-02-09 11:04 | bugmaster | Target Version | 7.1.0 => 6.9.0 |
2015-03-18 13:33 | git | Note Added: 0038514 | |
2015-05-14 15:29 |
|
Status | verified => closed |
2015-05-14 15:32 |
|
Fixed in Version | => 6.9.0 |