View Issue Details

IDProjectCategoryView StatusLast Update
0025357Open CASCADEOCCT:Data Exchangepublic2015-05-14 15:32
Reporteroan Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version6.9.0Fixed in Version6.9.0 
Summary0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode
DescriptionThere 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 ReproduceTest script "bug25357"
TagsNo tags attached.
Test case numberbugs xde bug25357

Attached Files

  • bug25357 (952 bytes)

Activities

git

2015-01-16 19:55

administrator   ~0036172

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.

shoogen

2015-01-16 20:51

reporter   ~0036173

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)?

akz

2015-01-17 15:30

developer   ~0036174

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.

abv

2015-01-17 17:54

manager   ~0036175

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.

Timo

2015-01-19 12:25

updater   ~0036194

I would support abv's proposal. Unitl now, we commented the call to IncrementalMesh in StlTransfer::BuildIncrementalMesh to get this behaviour.

git

2015-01-19 14:43

administrator   ~0036206

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.

akz

2015-01-19 15:28

developer  

bug25357 (952 bytes)

akz

2015-01-19 15:29

developer   ~0036210

Branch is ready to review.

gka

2015-01-19 16:55

developer   ~0036211

Branch CR25357 is ready to be tested

git

2015-01-28 18:59

administrator   ~0036788

Branch CR25357 has been updated forcibly by apn.

SHA-1: 14cbcdda0596b8b4b01b38862686500a1c0d29e3

git

2015-01-29 12:51

administrator   ~0036805

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

apn

2015-01-29 15:49

administrator   ~0036835

Last edited: 2015-01-29 15:50

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.

git

2015-01-29 16:24

administrator   ~0036844

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.

git

2015-01-29 19:14

administrator   ~0036858

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.

git

2015-01-29 19:15

administrator   ~0036859

Branch CR25357 has been deleted by akz.

SHA-1: 52a7e9ec4171b0d103e1062a65eb0f08120d95c7

akz

2015-01-29 19:17

developer   ~0036860

Last edited: 2015-01-29 19:17

Branch CR25357_1 is ready to review. (Last commit dedicated to the fix of warning and test scripts with regressions)

gka

2015-01-30 10:22

developer   ~0036871

Branch CR25357_1 is ready to be tested.

git

2015-02-02 15:04

administrator   ~0036972

Branch CR25357_1 has been updated forcibly by apn.

SHA-1: d78ae248b43743a934026e293ca43b5b1c9462be

apn

2015-02-03 17:07

administrator   ~0037027

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.

git

2015-03-18 13:33

administrator   ~0038514

Branch CR25357_1 has been deleted by inv.

SHA-1: d78ae248b43743a934026e293ca43b5b1c9462be

Related Changesets

occt: master b9c1e440

2015-02-05 11:38:59

akz


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

Issue History

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 gka Assigned To gka => akz
2015-01-16 10:23 gka 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 akz Note Added: 0036174
2015-01-17 17:54 abv 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 akz File Added: bug25357
2015-01-19 15:29 akz Note Added: 0036210
2015-01-19 15:29 akz Assigned To akz => gka
2015-01-19 15:29 akz Status assigned => resolved
2015-01-19 15:29 akz Steps to Reproduce Updated
2015-01-19 16:55 gka Note Added: 0036211
2015-01-19 16:55 gka Assigned To gka => bugmaster
2015-01-19 16:55 gka 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 akz Note Added: 0036860
2015-01-29 19:17 akz Assigned To akz => gka
2015-01-29 19:17 akz Status assigned => resolved
2015-01-29 19:17 akz Note Edited: 0036860
2015-01-30 10:22 gka Note Added: 0036871
2015-01-30 10:22 gka Assigned To gka => bugmaster
2015-01-30 10:22 gka Status resolved => reviewed
2015-01-30 14:31 mkv 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 aiv Status verified => closed
2015-05-14 15:32 aiv Fixed in Version => 6.9.0