MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0032455Open CASCADE[OCCT] OCCT:Data Exchangepublic2021-06-18 21:222021-07-24 13:29
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.6.0*Fixed in Version 
Summary0032455: Data Exchange - replace OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
DescriptionOSD_OpenStream() expects std::ifstream and works only with local file system.

It is proposed replacing most of existing OSD_OpenStream() usage places with OSD_FileSystem::DefaultFileSystem() returning general std::istream, and extensible with other file systems (emulated in-memory, encrypted, compressed, remote ftp/http/https, clustered HDFS, embedded resources AAssetManager_open(), etc.).

While providing a direct interface in Data Exchange classes accepting std::istream/std::ostream looks useful and natural, it doesn't provide a simple answer on handling multi-file assets (STEP files referring to other STEP files, OBJ file referring to textures and material files, glTF file referring to data and image files). OSD_FileSystem doesn't bring a simple solution for these case, but allows providing implementations at application level with desired behavior.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot required
Attached Files

- Relationships
related to 0027342closedbugmaster Open CASCADE Data Exchange, STEP - support C++ streams for import 
related to 0032350resolvedgka Community Data Exchange - STEPControl_Writer.writeStream(std::ostream) 
related to 0032490reviewedbugmaster Open CASCADE Data Exchange - provide OSD_FileSystem::OpenOStream() for output streams 
child of 0032099verifiedbugmaster Open CASCADE Visualization - define OSD_FileSystem class managing opening of file streams 

-  Notes
(0102528)
mkrylova (developer)
2021-07-14 18:51

Analysis
(0102555)
mkrylova (developer)
2021-07-15 18:33
edited on: 2021-07-19 10:31

Solution Implementation

(0102560)
git (administrator)
2021-07-16 10:09

Branch CR32455 has been created by mkrylova.

SHA-1: 5c893326af0c1d8d36d23623a2d2e954ad4f7da5


Detailed log of new commits:

Author: mkrylova
Date: Wed Jul 14 15:06:35 2021 +0300

    0032455: Data Exchange - replace OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
    
    - replaced OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
(0102651)
git (administrator)
2021-07-19 15:59

Branch CR32455 has been updated forcibly by mkrylova.

SHA-1: d7f837f2b56ddee64612f17660ae5c8fcdd9656e
(0102673)
git (administrator)
2021-07-20 11:41

Branch CR32455_1 has been created by mkrylova.

SHA-1: 4b3ccec9fef7eefd5dc2c433837cc8f281e7ff93


Detailed log of new commits:

Author: mkrylova
Date: Wed Jul 14 15:06:35 2021 +0300

    0032455: Data Exchange - replace OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
    
    - replaced OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
(0102690)
mkrylova (developer)
2021-07-20 18:55

Testing, Solution Implementation
(0102702)
git (administrator)
2021-07-21 13:33

Branch CR32455_1 has been updated by mkrylova.

SHA-1: fa8dd97cecc0a1831eb2271db99782adb180b03d


Detailed log of new commits:

Author: mkrylova
Date: Tue Jul 20 18:49:11 2021 +0300

    # kgv remarks

(0102704)
git (administrator)
2021-07-21 13:34

Branch CR32455_2 has been created by mkrylova.

SHA-1: c2948d527feda5741626571bf03bec7a0f1d6d26


Detailed log of new commits:

Author: mkrylova
Date: Wed Jul 14 15:06:35 2021 +0300

    0032455: Data Exchange - replace OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
    
    - replaced OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
(0102713)
git (administrator)
2021-07-21 16:35

Branch CR32455_2 has been updated by mkrylova.

SHA-1: 90bb179dbce0e04120886442a4814fbdb17e52cc


Detailed log of new commits:

Author: mkrylova
Date: Wed Jul 21 16:33:09 2021 +0300

    # fixed mistakes

(0102716)
mkrylova (developer)
2021-07-21 17:07

Testing, Solution Implementation
(0102726)
git (administrator)
2021-07-22 13:46

Branch CR32455_3 has been created by mkrylova.

SHA-1: 020e0729f815184c8757f4c4237c07f9a97b96e6


Detailed log of new commits:

Author: mkrylova
Date: Wed Jul 14 15:06:35 2021 +0300

    0032455: Data Exchange - replace OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
    
    - replaced OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
(0102744)
mkrylova (developer)
2021-07-23 14:49

http://jenkins-test-occt.nnov.opencascade.com/view/CR32455_3-CR32455_2-MKRYLOVA/view/ALL/ [^]
opengl drivers d3dhost is unstable
(0102745)
mkrylova (developer)
2021-07-23 14:49
edited on: 2021-07-23 14:55

Patch is ready to review:
- OCCT: CR32455_3
- Products: CR32455_3

(0102760)
bugmaster (administrator)
2021-07-24 12:09

Combination -
OCCT branch : IR-2021-07-23
master SHA - 4e993e4d0df118716a2ccca02a5735fc4dec54ef
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-07-23 SHA - 5beb1e287b2273f9e4c222f042380bc3c0fa91dc
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17248.180000000266 / 17229.680000000302 [+0.11%]
Products
Total CPU difference: 11453.40000000009 / 11477.160000000118 [-0.21%]
Windows-64-VC14:
OCCT
Total CPU difference: 19038.78125 / 19020.171875 [+0.10%]
Products
Total CPU difference: 12762.65625 / 12734.125 [+0.22%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0102801)
git (administrator)
2021-07-24 13:28

Branch CR32455 has been deleted by mnt.

SHA-1: d7f837f2b56ddee64612f17660ae5c8fcdd9656e
(0102802)
git (administrator)
2021-07-24 13:28

Branch CR32455_1 has been deleted by mnt.

SHA-1: fa8dd97cecc0a1831eb2271db99782adb180b03d
(0102803)
git (administrator)
2021-07-24 13:28

Branch CR32455_2 has been deleted by mnt.

SHA-1: 90bb179dbce0e04120886442a4814fbdb17e52cc
(0102804)
git (administrator)
2021-07-24 13:28

Branch CR32455_3 has been deleted by mnt.

SHA-1: 020e0729f815184c8757f4c4237c07f9a97b96e6

- Related Changesets
occt: master ad3f20c6
Timestamp: 2021-07-14 12:06:35
Author: mkrylova
Committer: bugmaster
Details ] Diff ]
0032455: Data Exchange - replace OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()

- replaced OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
mod - src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.cxx Diff ] File ]
mod - src/BinTools/BinTools.cxx Diff ] File ]
mod - src/BRepTools/BRepTools.cxx Diff ] File ]
mod - src/DBRep/DBRep.cxx Diff ] File ]
mod - src/DDocStd/DDocStd_ApplicationCommands.cxx Diff ] File ]
mod - src/Draw/Draw_VariableCommands.cxx Diff ] File ]
mod - src/Image/Image_DDSParser.cxx Diff ] File ]
mod - src/Image/Image_Texture.cxx Diff ] File ]
mod - src/LDOM/LDOMParser.cxx Diff ] File ]
mod - src/QABugs/QABugs_1.cxx Diff ] File ]
mod - src/QABugs/QABugs_20.cxx Diff ] File ]
mod - src/RWGltf/RWGltf_CafReader.cxx Diff ] File ]
mod - src/RWGltf/RWGltf_CafWriter.cxx Diff ] File ]
mod - src/RWStl/RWStl.cxx Diff ] File ]
mod - src/RWStl/RWStl_Reader.cxx Diff ] File ]
mod - src/TObjDRAW/TObjDRAW.cxx Diff ] File ]
mod - src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2021-06-18 21:22 kgv New Issue
2021-06-18 21:22 kgv Assigned To => kgv
2021-06-18 21:23 kgv Assigned To kgv => mkrylova
2021-06-18 21:23 kgv Status new => assigned
2021-06-18 21:24 kgv Relationship added child of 0032099
2021-06-18 21:25 kgv Relationship added related to 0027342
2021-06-18 21:25 kgv Relationship added related to 0026700
2021-06-18 21:25 kgv Relationship added related to 0032350
2021-06-18 21:31 kgv Description Updated View Revisions
2021-07-14 18:51 mkrylova Note Added: 0102528
2021-07-15 18:33 mkrylova Note Added: 0102555
2021-07-16 10:09 git Note Added: 0102560
2021-07-19 10:31 mkrylova Note Edited: 0102555 View Revisions
2021-07-19 15:59 git Note Added: 0102651
2021-07-20 11:41 git Note Added: 0102673
2021-07-20 18:55 mkrylova Note Added: 0102690
2021-07-21 13:33 git Note Added: 0102702
2021-07-21 13:34 git Note Added: 0102704
2021-07-21 16:35 git Note Added: 0102713
2021-07-21 17:07 mkrylova Note Added: 0102716
2021-07-22 13:46 git Note Added: 0102726
2021-07-23 14:49 mkrylova Note Added: 0102744
2021-07-23 14:49 mkrylova Note Added: 0102745
2021-07-23 14:50 mkrylova Assigned To mkrylova => kgv
2021-07-23 14:50 mkrylova Status assigned => resolved
2021-07-23 14:55 mkrylova Note Edited: 0102745 View Revisions
2021-07-23 15:22 kgv Assigned To kgv => bugmaster
2021-07-23 15:22 kgv Status resolved => reviewed
2021-07-23 15:25 kgv Relationship added related to 0032490
2021-07-24 12:09 bugmaster Note Added: 0102760
2021-07-24 12:09 bugmaster Status reviewed => tested
2021-07-24 12:12 bugmaster Test case number => Not required
2021-07-24 13:23 bugmaster Changeset attached => occt master ad3f20c6
2021-07-24 13:23 bugmaster Status tested => verified
2021-07-24 13:23 bugmaster Resolution open => fixed
2021-07-24 13:28 git Note Added: 0102801
2021-07-24 13:28 git Note Added: 0102802
2021-07-24 13:28 git Note Added: 0102803
2021-07-24 13:28 git Note Added: 0102804


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker