View Issue Details

IDProjectCategoryView StatusLast Update
0027835Open CASCADEOCCT:Application Frameworkpublic2020-07-05 00:22
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.0.0 
Target Version7.1.0Fixed in Version7.1.0 
Summary0027835: Application Framework, BinXCAF - handle correctly faces with NULL surface within BinTools_ShapeSet
DescriptionBinXCAF and BinOcaf produce broken files that can not be properly read back when document contains TopoDS_Face with NULL surface.

The reason is asymmetric Write/Read code in BinTools_ShapeSet which does not Write information about NULL surface while Reader does not have enough information to skip undefined surface.
Steps To Reproduce
pload XDE OCAF MODELING VISUALIZATION

restore [locate_data_file bug27821_nullsurf.brep] s
explode s F

NewDocument D XmlOcaf
XAddShape D s
XSetColor D s_1 1 0 0
XStat D
XShow D
vfit
vsetdispmode 1
Format D BinXCAF
StoreTriangulation 1
SaveAs D test.xbf
Close D

XOpen test.xbf D
XStat D
XShow D
vfit
TagsNo tags attached.
Test case numberbugs caf bug27835

Relationships

related to 0027821 closedbugmaster Open CASCADE Visualization, AIS_Shape - add NULL checks for displaying TopoDS_Face with NULL surface 
related to 0031050 closedapn Open CASCADE Data Exchange - XmlXCAF persistence stores triangulation-only Faces without any geometry 
related to 0031136 closedbugmaster Open CASCADE Modeling Data - BinXCAF persistence loses normals from triangulation-only Faces 
child of 0028125 newmsv Open CASCADE Modeling Algorithms - support of BRep shapes based on tessellated geometry 

Activities

git

2016-09-03 19:23

administrator   ~0057443

Branch CR27835 has been created by kgv.

SHA-1: 1c52ea9d00bf3eae55b6bc040380d002a6940bfb


Detailed log of new commits:

Author: kgv
Date: Sat Sep 3 19:21:58 2016 +0300

    0027835: Application Framework, BinXCAF - handle correctly faces with NULL surface within BinTools_ShapeSet
    
    BinTools_ShapeSet::AddGeometry() now writes NULL surface with 0 index.
    myWithTriangles is ignored for TopoDS_Face with NULL surface so that
    triangulation-only faces are not lost with defaults.
    
    Added Draw Harness command StoreTriangulation defining
    WithTriangulation flag for BinXCAF/BinOcaf storage drivers.

kgv

2016-09-03 19:23

developer   ~0057444

Patch is ready for review.

mpv

2016-09-05 15:12

developer   ~0057460

For me it is ok.

apv

2016-09-06 12:45

tester   ~0057505

Dear BugMaster,

Branch CR27835 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 1c52ea9d00bf3eae55b6bc040380d002a6940bfb

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: 1125

Regressions/Differences:
Not detected

Testing cases:
bugs caf bug27835 - OK
http://occt-tests/CR27835-master-OCCT/Debian70-64/bugs/caf/bug27835.html
http://occt-tests/CR27835-master-OCCT/Windows-64-VC10/bugs/caf/bug27835.html

Testing on Linux:
Total MEMORY difference: 90038016 / 89487619 [+0.62%]
Total CPU difference: 19296.909999999993 / 19241.270000000015 [+0.29%]

Testing on Windows:
Total MEMORY difference: 57137256 / 57155154 [-0.03%]
Total CPU difference: 18057.72415389879 / 18057.115749998855 [+0.00%]

git

2016-10-28 21:48

administrator   ~0059578

Branch CR27835 has been deleted by kgv.

SHA-1: 1c52ea9d00bf3eae55b6bc040380d002a6940bfb

Related Changesets

occt: master f1fb0901

2016-09-03 16:21:58

kgv


Committer: bugmaster Details Diff
0027835: Application Framework, BinXCAF - handle correctly faces with NULL surface within BinTools_ShapeSet

BinTools_ShapeSet::AddGeometry() now writes NULL surface with 0 index.
myWithTriangles is ignored for TopoDS_Face with NULL surface so that
triangulation-only faces are not lost with defaults.

Added Draw Harness command StoreTriangulation defining
WithTriangulation flag for BinXCAF/BinOcaf storage drivers.
Affected Issues
0027835
mod - src/BinDrivers/BinDrivers_DocumentStorageDriver.cxx Diff File
mod - src/BinDrivers/BinDrivers_DocumentStorageDriver.hxx Diff File
mod - src/BinMNaming/BinMNaming_NamedShapeDriver.hxx Diff File
mod - src/BinTools/BinTools_ShapeSet.cxx Diff File
mod - src/BinTools/BinTools_ShapeSet.hxx Diff File
mod - src/DDocStd/DDocStd_DocumentCommands.cxx Diff File
add - tests/bugs/caf/bug27835 Diff File

Issue History

Date Modified Username Field Change
2016-09-03 19:06 kgv New Issue
2016-09-03 19:06 kgv Assigned To => mpv
2016-09-03 19:06 kgv Relationship added related to 0027821
2016-09-03 19:23 git Note Added: 0057443
2016-09-03 19:23 kgv Note Added: 0057444
2016-09-03 19:23 kgv Status new => assigned
2016-09-03 19:23 kgv Status assigned => resolved
2016-09-05 15:12 mpv Note Added: 0057460
2016-09-05 15:12 mpv Assigned To mpv => bugmaster
2016-09-05 15:12 mpv Status resolved => reviewed
2016-09-05 16:20 apv Assigned To bugmaster => apv
2016-09-05 16:49 apv Test case number => bugs caf bug27835
2016-09-06 12:45 apv Note Added: 0057505
2016-09-06 12:45 apv Assigned To apv => bugmaster
2016-09-06 12:45 apv Status reviewed => tested
2016-09-09 09:40 bugmaster Changeset attached => occt master f1fb0901
2016-09-09 09:40 bugmaster Status tested => verified
2016-09-09 09:40 bugmaster Resolution open => fixed
2016-10-28 21:48 git Note Added: 0059578
2016-12-09 16:30 aiv Status verified => closed
2016-12-09 16:39 aiv Fixed in Version => 7.1.0
2019-10-09 18:28 kgv Relationship added related to 0031050
2019-10-09 18:29 kgv Relationship added child of 0028125
2019-11-07 11:26 kgv Relationship added related to 0031136