MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0031918Open CASCADE[OCCT] OCCT:Application Frameworkpublic2020-11-11 13:182021-05-20 11:44
Reportermpv 
Assigned Tompv 
PrioritynormalSeverityfeature 
StatusnewResolutionopen 
PlatformOSOS Version
Product Version[OCCT] 7.5.0 
Target Version[OCCT] 7.6.0*Fixed in Version 
Summary0031918: Application Framework - New binary format for fast reading part of OCAF document
DescriptionIn the current version of the binary format the shapes, geometry and triangulation are stored in shapes-section and there is no possibility during the reading of such file to skip this part or some sub-parts of it. So, to read part of the document it is necessary to read this section anyway and keep seek-position of objects that must be loaded during labels and attributes processing.

It is proposed to allow to store binary format in a fast-access mode (so, it can not be loaded by the standard binary format reader and older version of OCCT) for reading part of the document only. It will be quite bigger than standard file, but in case it is loaded partially, it should be much faster, without calling "seek" many times.

The ways to speed-up reading are the following:
- To store shapes, geometry, triangulation and other information just in section of TNaming_NamingShape attribute, where it is located in the data tree.
- To refer only shared shape elements, stored before this attribute (to add also flag to store references or always write copy without referencing).
- To write size of the stored section for each label to allow quickly ignore of reading not needed sections.
TagsNo tags attached.
Test case number
Attached Filesxls file icon Compare_New_OCAF.xls (15,872 bytes) 2021-02-16 12:01

- Relationships

-  Notes
(0098002)
git (administrator)
2021-01-01 12:32

Branch CR31918 has been created by mpv.

SHA-1: 192348a86a29e87ec62ec663ea3688c2c8811f65


Detailed log of new commits:

Author: mpv
Date: Fri Jan 1 12:32:51 2021 +0300

    0031918: Application Framework - New binary format for fast reading part of OCAF document
    
    Initial implementation of new format for quick reading and writing parts of the documents. It consists in writing shapes and all their contents right in the TNaming_NamedShape attribute placement and skipping the shape section.
    
    For the current moment it is implemented as a new version 12 of the binary format. It will be decided later to have it like this and make this version of the format as default, or setting a special flag for such version reading/writing.
    
    Modifications:
    BinLDrivers and BinDrivers packages - modifications related to the quick part tree format flag usage, skipping shape section writing and adding labels sizes into the document to be able to pass labels during the reading quickly.
    BinObjMgt_Persistent amd BinObjMgt_Position - to add possibility to write directly into the stream some data just after the attribute. Before this record a data-size is recorded.
    BinMXCAFDoc package modifications to write BinMXCAFDoc_LocationDriver location in the same way as shapes write location data right after the attribute (empty) data in this new format.
    BinTools package: creation of ShapeReader and ShapeWriter classes with same root class ShapeSetBase with ShapeSet class. These classes allows to write/read shapes directly to the stream. If some object is already in the stream, write a reference - relative position of the duplicated object.
    PCDM_ReaderFilter - modified to be able to browse labels tree quickly, without usage of referencing by entry-strings.
(0098008)
git (administrator)
2021-01-02 11:26

Branch CR31918 has been updated by mpv.

SHA-1: 681f70b515dfd4d996ee1ec061c06a3ba2e2f3a5


Detailed log of new commits:

Author: mpv
Date: Sat Jan 2 11:27:38 2021 +0300

    # fixes for the compilation errors and warnings

(0098009)
git (administrator)
2021-01-02 11:59

Branch CR31918 has been updated by mpv.

SHA-1: 9913d36a8e6b50a88591847e3772d5309d813db6


Detailed log of new commits:

Author: mpv
Date: Sat Jan 2 12:00:27 2021 +0300

    # fixes for the compilation errors and warnings

(0098039)
git (administrator)
2021-01-10 12:23

Branch CR31918_1 has been created by mpv.

SHA-1: 4af86334b3cecda9b6ee2bed0ebe4a78f2a0ba39


Detailed log of new commits:

Author: mpv
Date: Sat Jan 9 18:01:53 2021 +0300

    0031918: Application Framework - New binary format for fast reading part of OCAF document
    
    Initial implementation of new format for quick reading and writing parts of the documents. It consists in writing shapes and all their contents right in the TNaming_NamedShape attribute placement and skipping the shape section.
    
    For the current moment it is implemented as a new version 12 of the binary format. It will be decided later to have it like this and make this version of the format as default, or setting a special flag for such version reading/writing.
    
    Modifications:
    BinLDrivers and BinDrivers packages - modifications related to the quick part tree format flag usage, skipping shape section writing and adding labels sizes into the document to be able to pass labels during the reading quickly.
    BinObjMgt_Persistent amd BinObjMgt_Position - to add possibility to write directly into the stream some data just after the attribute. Before this record a data-size is recorded.
    BinMXCAFDoc package modifications to write BinMXCAFDoc_LocationDriver location in the same way as shapes write location data right after the attribute (empty) data in this new format.
    BinTools package: creation of ShapeReader and ShapeWriter classes with same root class ShapeSetBase with ShapeSet class. These classes allows to write/read shapes directly to the stream. If some object is already in the stream, write a reference - relative position of the duplicated object.
    PCDM_ReaderFilter - modified to be able to browse labels tree quickly, without usage of referencing by entry-strings.
(0098040)
git (administrator)
2021-01-10 12:53

Branch CR31918_1 has been updated by mpv.

SHA-1: c94423fbf0ea082625c683ea02ef617089236afd


Detailed log of new commits:

Author: mpv
Date: Sun Jan 10 12:53:55 2021 +0300

    # fixes for the compilation errors and warnings

(0098049)
git (administrator)
2021-01-11 11:59

Branch CR31918_1 has been updated by mpv.

SHA-1: 58ec12d1a828a1797d971f3c59f1a3cd57a1f2ec


Detailed log of new commits:

Author: mpv
Date: Mon Jan 11 12:00:29 2021 +0300

    # fixes for the compilation errors and warnings

(0098069)
git (administrator)
2021-01-11 14:58

Branch CR31918_1 has been updated by mpv.

SHA-1: 0c40b6e394d5f030fbcedcc6cbcef2fce4dabce8


Detailed log of new commits:

Author: mpv
Date: Mon Jan 11 14:58:55 2021 +0300

    # fixes for the compilation errors and warnings

(0098883)
agv (developer)
2021-02-15 21:02

Results of testing in ASRV XCAF/XBF converters (cloud version) -- see in the attached file "Compare_New_OCAF.xls"
(0100577)
git (administrator)
2021-04-25 15:55

Branch CR31918_2 has been created by mpv.

SHA-1: 2d0d179d0f06dfd14fe1648a134df047bd56e3e7


Detailed log of new commits:

Author: mpv
Date: Sun Apr 25 15:55:33 2021 +0300

    0031918: Application Framework - New binary format for fast reading part of OCAF document
    
    Implementation of new format for quick reading and writing parts of the documents. It consists in writing shapes and all their contents right in the TNaming_NamedShape attribute placement and skipping the shape section.
    For the current moment it is implemented as a new version 11 of the binary format. It will be decided later to have it like this and make this version of the format as default, or setting a special flag for such version reading/writing.
    
    Modifications:
    BinLDrivers and BinDrivers packages - modifications related to the quick part tree format flag usage, skipping shape section writing and adding labels sizes into the document to be able to pass labels during the reading quickly.
    BinObjMgt_Persistent amd BinObjMgt_Position - to add possibility to write directly into the stream some data just after the attribute. Before this record a data-size is recorded.
    BinMXCAFDoc package modifications to write BinMXCAFDoc_LocationDriver location in the same way as shapes write location data right after the attribute (empty) data in this new format.
    BinTools package: creation of ShapeReader and ShapeWriter classes with same root class ShapeSetBase with ShapeSet class. These classes allows to write/read shapes directly to the stream. If some object is already in the stream, write a reference - relative position of the duplicated object.
    PCDM_ReaderFilter - modified to be able to browse labels tree quickly, without usage of referencing by entry-strings.
(0100583)
git (administrator)
2021-04-26 09:54

Branch CR31918_2 has been updated by mpv.

SHA-1: 8a80a3b410c6553b9bc58febad481a04d78ba273


Detailed log of new commits:

Author: mpv
Date: Mon Apr 26 09:55:12 2021 +0300

    # additional fixes

(0100584)
git (administrator)
2021-04-26 10:14

Branch CR31918_2 has been updated by mpv.

SHA-1: 60299788e7121debe77a3d9c73fcda11ea65e54b


Detailed log of new commits:

Author: mpv
Date: Mon Apr 26 10:15:16 2021 +0300

    # fixes for the compilation errors and warnings

(0100590)
git (administrator)
2021-04-26 12:48

Branch CR31918_2 has been updated by mpv.

SHA-1: 4430644c0e4f35973b01bfef7cb462a70edaa25f


Detailed log of new commits:

Author: mpv
Date: Mon Apr 26 12:48:29 2021 +0300

    # additional fixes

(0100668)
git (administrator)
2021-04-29 16:15

Branch CR31918_2 has been updated by mpv.

SHA-1: 844d46f2bd42285cec2f2d3474771d3c18322ae6


Detailed log of new commits:

Author: mpv
Date: Thu Apr 29 16:16:08 2021 +0300

    # Create a new format version for distinguishing between this format change and the previous one.

(0101199)
git (administrator)
2021-05-20 11:44

Branch CR31918_2 has been updated by mpv.

SHA-1: f2a71473aab68acc2a2ddf894150e0e956c8be74


Detailed log of new commits:

Author: mpv
Date: Thu May 20 11:45:10 2021 +0300

    Optimization of time of writing of the new format. and some minor improvements.


- Issue History
Date Modified Username Field Change
2020-11-11 13:18 mpv New Issue
2020-11-11 13:18 mpv Assigned To => mpv
2020-11-11 13:20 mpv Relationship added child of 0031839
2021-01-01 12:32 git Note Added: 0098002
2021-01-02 11:26 git Note Added: 0098008
2021-01-02 11:59 git Note Added: 0098009
2021-01-10 12:23 git Note Added: 0098039
2021-01-10 12:53 git Note Added: 0098040
2021-01-11 11:59 git Note Added: 0098049
2021-01-11 14:58 git Note Added: 0098069
2021-02-15 21:01 agv File Added: Compare_New_OCAF.xls
2021-02-15 21:02 agv Note Added: 0098883
2021-02-16 12:00 agv File Deleted: Compare_New_OCAF.xls
2021-02-16 12:01 agv File Added: Compare_New_OCAF.xls
2021-04-25 15:55 git Note Added: 0100577
2021-04-26 09:54 git Note Added: 0100583
2021-04-26 10:14 git Note Added: 0100584
2021-04-26 12:48 git Note Added: 0100590
2021-04-29 16:15 git Note Added: 0100668
2021-05-20 11:44 git Note Added: 0101199


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker