View Issue Details

IDProjectCategoryView StatusLast Update
0027342Open CASCADEOCCT:Data Exchangepublic2021-06-18 21:25
ReporterabvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.5.0Fixed in Version7.5.0 
Summary0027342: Data Exchange, STEP - support C++ streams for import
DescriptionCurrently STEP translator provides interface to read or save STEP files indicated by file name. For some usages (e.g. to be able to read / write compressed STEP files), it will be instrumental to have interface accepting std::stream in addition to file name.

Note that support of external references in XDE should be also adapted somehow to use of streams (probably as separate issue).
Steps To Reproduce1. Run the ImportExport sample
2. File - Import - STEP...
3. Use filter "ZIP files"
4. Open ZIP archive in which there is one STEP file
TagsNo tags attached.
Test case numberbugs/step/bug27342

Relationships

related to 0031740 closedbugmaster Open CASCADE Configuration - recover support of Yacc and Lex generation 
related to 0028312 closedapn Open CASCADE Configuration, genproj.tcl - support CSF_ZLIB and CSF_LIBLZMA within project generator 
related to 0030844 newdpasukhi Community Data Exchange - Support import from and export to stream for data exchange interface 
related to 0032350 closedmahaidong Community Data Exchange - STEPControl_Writer.writeStream(std::ostream) 
related to 0032455 closedmkrylova Open CASCADE Data Exchange - replace OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem() 

Activities

git

2016-04-04 11:07

administrator   ~0052316

Branch CR27342 has been created by imn.

SHA-1: 7b996f71d96a08e406233f3a0e23bd0a7389e226


Detailed log of new commits:

Author: Ivan MECHETIN
Date: Mon Apr 4 11:06:14 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - Although Lex and YACC predate C++, have been generated a C++ parser.
    - Porting parser now allows use C++ stream's
    - Added the function of reading the zip archive (zip.cxx, zip.h files with BSD License) with the STEP file
    -- xxx.zip names and archive file inside xxx.stp or (xxx.step) must match
    -- and reading limit no more than one STEP file in the zip-archive

imn

2016-04-04 11:19

developer   ~0052320

Dear abv,

Please review the changes in CR27342.

git

2016-04-04 11:26

administrator   ~0052323

Branch CR27342 has been updated forcibly by imn.

SHA-1: a132adcdb39651d48c381708c6e5d985be30d34b

git

2016-04-06 20:08

administrator   ~0052455

Branch CR27342_1 has been created by imn.

SHA-1: c18d6bd0551453db447d1f34c9bb98ea66a2d57a


Detailed log of new commits:

Author: imn
Date: Wed Apr 6 16:09:55 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - Although Lex and YACC predate C++, have been generated a C++ parser.
    - Porting parser now allows use C++ stream's
    - Added in ImportExport sample the function of reading the .stpZ files (Zip_Files.cxx, Zip_Files.h files with BSD License) with the STEP file
    -- xxx.stpZ names and archive file inside xxx.stp or (xxx.step) must match
    -- and reading limit no more than one STEP file in the stpZ compressed file

imn

2016-04-08 10:09

developer   ~0052503

Dear abv,

Please review the changes in CR27342_1.

git

2018-11-15 19:02

administrator   ~0081117

Branch CR27342_2 has been created by ika.

SHA-1: 7132ac94f700d1bf4b37d9a72b295976ba866dd6


Detailed log of new commits:

Author: imn
Date: Wed Apr 6 16:09:55 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - Although Lex and YACC predate C++, have been generated a C++ parser.
    - Porting parser now allows use C++ stream's
    - Added in ImportExport sample the function of reading the .stpZ files (Zip_Files.cxx, Zip_Files.h files with BSD License) with the STEP file
    -- xxx.stpZ names and archive file inside xxx.stp or (xxx.step) must match
    -- and reading limit no more than one STEP file in the stpZ compressed file

git

2018-11-21 18:56

administrator   ~0081200

Branch CR27342_2 has been updated forcibly by ika.

SHA-1: 8a44065e82c1ab6d20ee7cf1811609251bd1f664

git

2018-11-26 17:11

administrator   ~0081264

Branch CR27342_2 has been updated forcibly by ika.

SHA-1: 2dde58265b12b2f106f51a83e01e49f7040242df

git

2018-11-27 17:07

administrator   ~0081272

Branch CR27342_2 has been updated forcibly by ika.

SHA-1: e4061a2cce10c5b2aec5d9294be388b4b9c1bd88

kgv

2018-11-28 14:10

developer   ~0081282

Last edited: 2018-11-28 14:11

Maybe we can split patch in two peaces so that a new feature of MFC Sample is moved into dedicated patch?

It would be also great preparing a new commit description, since original one has unclear wording (like "Although Lex and YACC predate C++, have been generated a C++ parser" which I barely can understand, at least without looking into patch itself).

git

2018-11-29 13:13

administrator   ~0081292

Branch CR27342_2 has been updated forcibly by ika.

SHA-1: 68fdfab5a9eed9d3b281148b400d5699c86b49ec

ika

2018-11-29 13:29

developer   ~0081293

Dear GKA,

now this patch in compliled without errors and warnings, could you please have a look at branches CR27342_2 in OCCT (this is only my fixes initial changes are saved as separate commit) and CR27342 in Products.

http://occt-tests/CR27342_2-CR27342-ika-Products/Windows-64-VC14/diff_summary.html
http://occt-tests/CR27342_2-CR27342-ika-OCCT/Debian80-64/diff_summary.html
http://occt-tests/CR27342_2-CR27342-ika-OCCT/Windows-64-VC14/diff_summary.html
http://occt-tests/CR27342_2-CR27342-ika-Products/Debian80-64/diff_summary.html

gka

2018-11-29 16:37

developer   ~0081297

It seems that it will be better:
1.to split commit on the two different commits first for using "c++ parser" and second to read and second for reading ZIP archive containing step file.

2. to avoid replacing existing API method:
 XSControl_Reader::ReadFile(const Standard_CString filename) on the
IFSelect_ReturnStatus XSControl_Reader::ReadFile (const Standard_CString filename, std::istream* istream = 0)
and add new API method XSControl_Reader::ReadStrem(std::istream* istream) to read from stream.
The same situation is with API method IFSelect_ReturnStatus IFSelect_WorkSession::ReadFile(const Standard_CString filename) which was replaced on the IFSelect_ReturnStatus IFSelect_WorkSession::ReadFile
  (const Standard_CString filename, std::istream* istream)


3. Replace abstract virtual method:
    virtual Standard_Integer IFSelect_WorkLibrary::ReadFile(const Standard_CString name, std::istream* istream, Handle(Interface_InterfaceModel)& model, const Handle(Interface_Protocol)& protocol) const = 0;

on the empty method:
virtual Standard_Integer IFSelect_WorkLibrary::ReadFile(const Standard_CString name, std::istream* istream, Handle(Interface_InterfaceModel)& model, const Handle(Interface_Protocol)& protocol)
{
 return 1;
}
Such correction will allow to avoid modification of the
 IGESSelect_WorkLibrary,
 AcisData_WorkLibrary,
 DxfFile_WorkLibrary,
 XtSelect_WorkLibrary

git

2018-12-06 17:29

administrator   ~0081412

Branch CR27342_3 has been created by ika.

SHA-1: ee4d9157acdf34beda11a70bca5fb35f9a001e86


Detailed log of new commits:

Author: imn
Date: Wed Apr 6 16:09:55 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - New possibility to import STEP from stream.
    - Update STEP low-level parser, using bison/flex generator from C to C++.
    
    Add new method ReadStream(const Standard_CString filename, std::istream* istream) for all necessary classes to access main StepFile_Read() function with using stream.

git

2018-12-07 19:04

administrator   ~0081426

Branch CR27342_3 has been updated by apn.

SHA-1: 5106b5754b7701eac29e2dd0d18a73f925900510


Detailed log of new commits:

Author: apn
Date: Fri Dec 7 19:02:09 2018 +0300

    Add possibility to generate .cxx (not only .c) files from yacc and lex files

ika

2018-12-10 11:38

developer   ~0081430

Dear ABV,

this is an intermediate version for patch

>> Branch CR27342_3 has been created by ika.
>> SHA-1: ee4d9157acdf34beda11a70bca5fb35f9a001e86

could you please review it?

Test results are OK:
http://occt-tests/CR27342_3-master-ika-OCCT/Debian80-64/diff_summary.html
http://occt-tests/CR27342_3-master-ika-OCCT/Windows-64-VC14/diff_summary.html
http://occt-tests/CR27342_3-master-ika-Products/Debian80-64/diff_summary.html
http://occt-tests/CR27342_3-master-ika-Products/Windows-64-VC14/diff_summary.html

apn

2018-12-10 14:02

administrator   ~0081432

Dear ika,

I've updated CMake procedure for generating .cxx from yacc and lex files.
For building files from cmake:
 - set option BUILD_YACCLEX to ON
 - define variables 3RDPARTY_BISON_EXECUTABLE and 3RDPARTY_FLEX_EXECUTABLE (paths to exe of these programms)

But there are some problems during generation .cxx files. Generated files appear in folder src/TKXSBase, but they should replace already existing files in folder src/StepFile (it's correctly working for ExprIntrp yacc and lex files).

I've tried different version on flex-bison:
\\apn\Delivery\win_flex_bison-2.0.zip - versions matches the ones in the step.yacc (bison 2.7) and lex.step.cxx (flex 2.5.37)
\\apn\Delivery\win_flex_bison-latest.zip

Could you please check this problem.

abv

2020-08-29 08:02

manager   ~0093721

Colleagues (@ika, @gka, @asuraven): do you know whether the C++ variation of the parser is thread-safe (reentrant) or not?

Note that both Flex and Bison (at least modern versions) have options allowing generation of reentrant code even in C, see
http://flex.sourceforge.net/manual/Reentrant.html
http://www.gnu.org/software/bison/manual/html_node/Pure-Decl.html

git

2020-08-31 12:22

administrator   ~0093758

Branch CR27342_4 has been created by abv.

SHA-1: c378664f2ba490a3f480109893bab80ff390ad2e


Detailed log of new commits:

Author: imn
Date: Wed Apr 6 16:09:55 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - STEP low-level parser is converted to C++; required minimal version of flex is elevated to 2.5.37.
    - Added possibility to import STEP from stream, see new method XSControl_Reader::ReadStream() (now implemented in STEP only).
    - Add support in CMake scripts to generate .cxx (not only .c) files from yacc and lex files

abv

2020-08-31 13:47

manager   ~0093762

Branch CR27342_4 contains original patch adapted for building with OCCT CMake procedure (and ported on current master).

Before integration the patch shall be completed at least in two points:
- provide relevant test command and test case to ensure that stream interface actually works
- improve CMake procedure to copy FlexLexer.h from flex installation (current version is copied manually and corresponds to flex 2.5.37)

abv

2020-08-31 14:52

manager   ~0093763

I have tried building the branch win_flex_bison-2.5.23 (latest one) and it seems to work well (but FlexLexer.h shall be copied manually).

git

2020-08-31 21:44

administrator   ~0093786

Branch CR27342_4 has been updated by abv.

SHA-1: a380f1621e2b2f2929c2b2bd4dbbd95a61969d90


Detailed log of new commits:

Author: abv
Date: Mon Aug 31 21:46:47 2020 +0300

    Eliminate redundant header files

Author: abv
Date: Mon Aug 31 20:58:57 2020 +0300

    Porting to win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1)

Author: abv
Date: Mon Aug 31 17:19:29 2020 +0300

    # Spelling correction in comment

git

2020-09-01 12:10

administrator   ~0093803

Branch CR27342_4 has been updated by abv.

SHA-1: 5ba76d30a80a2bd62b9950c3b88aa33c61959802


Detailed log of new commits:

Author: abv
Date: Tue Sep 1 12:09:59 2020 +0300

    Enable search for FlexLexer.h and installation of its copy in the package if C++ scanner is used

Author: abv
Date: Tue Sep 1 12:08:41 2020 +0300

    Require bison version to be at least 3.2 (according to the options used); avoid reporting missing BISON_EXECUTABLE as include

Author: abv
Date: Mon Aug 31 22:01:49 2020 +0300

    Avoid embedding local paths in the code generated by bison

abv

2020-09-01 12:13

manager   ~0093804

CMake procedure is improved to copy FlexLexer.h from flex installation; code is cleaned to abvoid useless header files and inclusion of local paths in the files generated by bison.

git

2020-09-01 12:18

administrator   ~0093805

Branch CR27342_5 has been created by abv.

SHA-1: e98c55f08f5d2fcdffbf7ec620a8386769eba81a


Detailed log of new commits:

Author: imn
Date: Wed Apr 6 16:09:55 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - STEP low-level parser is converted to C++; required minimal version of flex is elevated to 2.5.37.
    - Added possibility to import STEP from stream, see new method XSControl_Reader::ReadStream() (now implemented in STEP only).
    - Parsers ported to win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1)
    - Added support of C++ flex and bison scanners in in CMake scripts
    - Unused files are eliminated

abv

2020-09-02 08:28

manager   ~0093840

Note that porting to latest version of flex was necessary also to get rid of CLang compiler warnings on MacOS on use of "register" keyword which is stated to be incompatible with C++ 11.

git

2020-09-21 11:23

administrator   ~0095182

Branch CR27342_6 has been created by dpasukhi.

SHA-1: c25f750cd79ffe5536bba32a29ee249a8ba21ea0


Detailed log of new commits:

Author: dpasukhi
Date: Mon Sep 21 11:20:32 2020 +0300

    0027342: Data Exchange, STEP - support C++ streams for import / export
    
     - Update flex lexical scanner rules
     - Remove global static variables within step.lex
     - Remove old comments

Author: imn
Date: Wed Apr 6 16:09:55 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - STEP low-level parser is converted to C++; required minimal version of flex is elevated to 2.5.37.
    - Added possibility to import STEP from stream, see new method XSControl_Reader::ReadStream() (now implemented in STEP only).
    - Parsers ported to win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1)
    - Added support of C++ flex and bison scanners in in CMake scripts
    - Unused files are eliminated

git

2020-09-23 12:54

administrator   ~0095235

Branch CR27342_7 has been created by dpasukhi.

SHA-1: 1a613cd9d5b49b59a04410c69e2d07458d4e28ba


Detailed log of new commits:

Author: imn
Date: Wed Apr 6 16:09:55 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - STEP low-level parser is converted to C++; required minimal version of flex is elevated to 2.5.37.
    - Added possibility to import STEP from stream, see new method XSControl_Reader::ReadStream() (now implemented in STEP only).
    - Parsers ported to win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1)
    - Added support of C++ flex and bison scanners in in CMake scripts
    - Unused files are eliminated

kgv

2020-09-23 17:52

developer   ~0095245

+  //! Loads a file from stream and returns the read status
+  //! Zero for a Model which compies with the Controller
+  Standard_EXPORT IFSelect_ReturnStatus ReadStream(const Standard_CString filename, std::istream* istream);

The purpose of the stream parameter passed by a pointer and possibly NULL is unclear.

If this is an attempt to unify two possible inputs within one general interface - it would be better defining a protected `read()` method and 2+ public methods with convenient interface redirecting to it. But it seems that current patch doesn't do any unification - IFSelect_WorkSession::ReadStream() and IFSelect_WorkSession::ReadFile() are just duplicated.

Please also correct documentation of new methods from misprints and confusing statements and consider correcting variable names in new code to follow OCCT Coding Style.

I can imagine that providing a method taking Standard_Byte* as input of already read file in memory could be more convenient in some cases than std::istream (the latter would suffer from ABI incompatibility when using MSVC in mixed msvcrt environment).

git

2020-09-24 09:07

administrator   ~0095255

Branch CR27342_8 has been created by dpasukhi.

SHA-1: 3d0611e0c8c69d04ecc2986659ba7a6f2377ab27


Detailed log of new commits:

Author: dpasukhi
Date: Thu Sep 24 00:54:40 2020 +0300

    0027342: Data Exchange, STEP - support C++ streams for import / export
    
     - Remove methods "ReadStream" within IFSelect_WorkSession and IFSelect/IFSelect_WorkLibrary and StepSelect_WorkLibrary
     - Update methods "ReadFile" in the same place for support reading C-file or std::stream
     - Correct a new cod to follow OCCT Coding Style

git

2020-09-25 12:23

administrator   ~0095312

Branch CR27342_7 has been updated by abv.

SHA-1: b2de652a8ce30b31ce2fae9d9afb9a77d963db9d


Detailed log of new commits:

Author: abv
Date: Fri Sep 25 12:16:48 2020 +0300

    # Some code refactoring (naming, code style) and clean-up (remove useless code)
    
    Option to read from stream is added in DRAW command testreadstep for testing ReadStream() function
    
    Added test bugs step bug27342

git

2020-09-25 12:28

administrator   ~0095313

Branch CR27342_9 has been created by abv.

SHA-1: b02c53a8fa6c62b5db762e75983511f9162bdebf


Detailed log of new commits:

Author: imn
Date: Wed Apr 6 16:09:55 2016 +0300

    0027342: STEP - support C++ streams for import / export
    
    - STEP low-level parser is converted to C++; required minimal version of flex is elevated to 2.5.37.
    - Added possibility to import STEP from stream, see new method XSControl_Reader::ReadStream() (now implemented in STEP only).
    - Parsers ported to win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1)
    - Added support of C++ flex and bison scanners in in CMake scripts
    - Some code clean-up in StepFile and around (unused files and functions are eliminated)
    - Option to read from stream is added in DRAW command testreadstep for testing ReadStream() function
    - Added test bugs step bug27342

abv

2020-09-25 14:15

manager   ~0095319

Reviewed, please integrate. Tests are OK, see Jenkins job CR27342_7-master-dpasukhi

OCCT branch: CR27432_9
Products: nothing

git

2020-09-26 11:16

administrator   ~0095352

Branch CR27342_9 has been updated by kgv.

SHA-1: 07f3d2c1d7b05879d01e1a11a1c5efb14cb5da14


Detailed log of new commits:

Author: kgv
Date: Sat Sep 26 11:19:59 2020 +0300

    # fix compilation errors with OCCT_DEBUG

git

2020-09-26 11:25

administrator   ~0095353

Branch CR27342_9 has been updated by kgv.

SHA-1: 09997a05fbf601737228ef714a929ff713587950


Detailed log of new commits:

Author: kgv
Date: Sat Sep 26 11:28:39 2020 +0300

    # fix missing "stdint.h" on VS2008

bugmaster

2020-09-27 14:12

administrator   ~0095372

Combination -
OCCT branch : IR-2020-09-25
master SHA - d7bc5c833ec064bd103ebbff2882146ad5a7e7de
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2020-09-25 SHA - a8c0c30ba368a2503bbdf9800228ace93993dfff
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: 18039.260000000093 / 17637.5100000001 [+2.28%]
Products
Total CPU difference: 12124.200000000114 / 12092.06000000011 [+0.27%]
Windows-64-VC14:
OCCT
Total CPU difference: 19753.9375 / 18982.296875 [+4.07%]
Products
Total CPU difference: 13527.921875 / 13315.40625 [+1.60%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2020-09-27 14:28

administrator   ~0095375

Branch CR27342_9 has been deleted by inv.

SHA-1: 09997a05fbf601737228ef714a929ff713587950

git

2020-09-27 14:29

administrator   ~0095376

Branch CR27342_7 has been deleted by inv.

SHA-1: b2de652a8ce30b31ce2fae9d9afb9a77d963db9d

git

2020-09-27 14:29

administrator   ~0095385

Branch CR27342_8 has been deleted by inv.

SHA-1: 3d0611e0c8c69d04ecc2986659ba7a6f2377ab27

git

2020-09-27 14:29

administrator   ~0095393

Branch CR27342_6 has been deleted by inv.

SHA-1: c25f750cd79ffe5536bba32a29ee249a8ba21ea0

git

2020-09-27 14:30

administrator   ~0095404

Branch CR27342_5 has been deleted by inv.

SHA-1: e98c55f08f5d2fcdffbf7ec620a8386769eba81a

git

2020-09-27 14:30

administrator   ~0095405

Branch CR27342_4 has been deleted by inv.

SHA-1: 5ba76d30a80a2bd62b9950c3b88aa33c61959802

git

2020-09-27 14:31

administrator   ~0095416

Branch CR27342_3 has been deleted by inv.

SHA-1: 5106b5754b7701eac29e2dd0d18a73f925900510

git

2020-09-27 14:31

administrator   ~0095417

Branch CR27342_2 has been deleted by inv.

SHA-1: 68fdfab5a9eed9d3b281148b400d5699c86b49ec

git

2020-09-27 14:31

administrator   ~0095418

Branch CR27342_1 has been deleted by inv.

SHA-1: c18d6bd0551453db447d1f34c9bb98ea66a2d57a

git

2020-09-27 14:31

administrator   ~0095419

Branch CR27342 has been deleted by inv.

SHA-1: a132adcdb39651d48c381708c6e5d985be30d34b

kgv

2020-09-28 20:21

developer   ~0095451

I suppose that current bug title is confusing - only STEP reader has been modified to support C++ streams, not STEP writer. Or I've missed something?

abv

2020-09-28 21:34

manager   ~0095453

That is true, only reader has been improved so far

Related Changesets

occt: master d7bc5c83

2016-04-06 13:09:55

imn


Committer: bugmaster Details Diff
0027342: STEP - support C++ streams for import / export

- STEP low-level parser is converted to C++; required minimal version of flex is elevated to 2.5.37.
- Added possibility to import STEP from stream, see new method XSControl_Reader::ReadStream() (now implemented in STEP only).
- Parsers ported to win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1)
- Added support of C++ flex and bison scanners in in CMake scripts
- Some code clean-up in StepFile and around (unused files and functions are eliminated)
- Option to read from stream is added in DRAW command testreadstep for testing ReadStream() function
- Added test bugs step bug27342
Affected Issues
0027342
mod - adm/cmake/bison.cmake Diff File
mod - adm/cmake/flex.cmake Diff File
mod - adm/cmake/occt_toolkit.cmake Diff File
mod - src/ExprIntrp/ExprIntrp.tab.c Diff File
mod - src/ExprIntrp/ExprIntrp.tab.h Diff File
mod - src/ExprIntrp/ExprIntrp.yacc Diff File
mod - src/ExprIntrp/lex.ExprIntrp.c Diff File
mod - src/IFSelect/IFSelect_WorkLibrary.cxx Diff File
mod - src/IFSelect/IFSelect_WorkLibrary.hxx Diff File
mod - src/IFSelect/IFSelect_WorkSession.cxx Diff File
mod - src/IFSelect/IFSelect_WorkSession.hxx Diff File
mod - src/StepFile/FILES Diff File
add - src/StepFile/FlexLexer.h Diff File
rm - src/StepFile/lex.step.c Diff File
add - src/StepFile/lex.step.cxx Diff File
add - src/StepFile/location.hh Diff File
mod - src/StepFile/recfile.pc Diff File
mod - src/StepFile/recfile.ph Diff File
mod - src/StepFile/step.lex Diff File
rm - src/StepFile/step.tab.c Diff File
add - src/StepFile/step.tab.cxx Diff File
rm - src/StepFile/step.tab.h Diff File
add - src/StepFile/step.tab.hxx Diff File
mod - src/StepFile/step.yacc Diff File
rm - src/StepFile/StepFile_CallFailure.cxx Diff File
rm - src/StepFile/StepFile_CallFailure.hxx Diff File
mod - src/StepFile/StepFile_Read.cxx Diff File
mod - src/StepFile/StepFile_Read.hxx Diff File
rm - src/StepFile/StepFile_Transfer.hxx Diff File
rm - src/StepFile/stepread.c Diff File
add - src/StepFile/stepread.cxx Diff File
mod - src/StepFile/stepread.ph Diff File
mod - src/StepSelect/StepSelect_WorkLibrary.cxx Diff File
mod - src/StepSelect/StepSelect_WorkLibrary.hxx Diff File
mod - src/XSControl/XSControl_Reader.cxx Diff File
mod - src/XSControl/XSControl_Reader.hxx Diff File
mod - src/XSDRAWSTEP/XSDRAWSTEP.cxx Diff File
add - tests/bugs/step/bug27342 Diff File

occt: master 68922bcc

2016-04-06 13:09:55

imn


Committer: bugmaster Details Diff
0027342: STEP - support C++ streams for import / export

- STEP low-level parser is converted to C++; required minimal version of flex is elevated to 2.5.37.
- Added possibility to import STEP from stream, see new method XSControl_Reader::ReadStream() (now implemented in STEP only).
- Parsers ported to win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1)
- Added support of C++ flex and bison scanners in in CMake scripts
- Some code clean-up in StepFile and around (unused files and functions are eliminated)
- Option to read from stream is added in DRAW command testreadstep for testing ReadStream() function
- Added test bugs step bug27342
Affected Issues
0027342
mod - adm/cmake/bison.cmake Diff File
mod - adm/cmake/flex.cmake Diff File
mod - adm/cmake/occt_toolkit.cmake Diff File
mod - src/ExprIntrp/ExprIntrp.tab.c Diff File
mod - src/ExprIntrp/ExprIntrp.tab.h Diff File
mod - src/ExprIntrp/ExprIntrp.yacc Diff File
mod - src/ExprIntrp/lex.ExprIntrp.c Diff File
mod - src/IFSelect/IFSelect_WorkLibrary.cxx Diff File
mod - src/IFSelect/IFSelect_WorkLibrary.hxx Diff File
mod - src/IFSelect/IFSelect_WorkSession.cxx Diff File
mod - src/IFSelect/IFSelect_WorkSession.hxx Diff File
mod - src/StepFile/FILES Diff File
add - src/StepFile/FlexLexer.h Diff File
rm - src/StepFile/lex.step.c Diff File
add - src/StepFile/lex.step.cxx Diff File
add - src/StepFile/location.hh Diff File
mod - src/StepFile/recfile.pc Diff File
mod - src/StepFile/recfile.ph Diff File
mod - src/StepFile/step.lex Diff File
rm - src/StepFile/step.tab.c Diff File
add - src/StepFile/step.tab.cxx Diff File
rm - src/StepFile/step.tab.h Diff File
add - src/StepFile/step.tab.hxx Diff File
mod - src/StepFile/step.yacc Diff File
rm - src/StepFile/StepFile_CallFailure.cxx Diff File
rm - src/StepFile/StepFile_CallFailure.hxx Diff File
mod - src/StepFile/StepFile_Read.cxx Diff File
mod - src/StepFile/StepFile_Read.hxx Diff File
rm - src/StepFile/StepFile_Transfer.hxx Diff File
rm - src/StepFile/stepread.c Diff File
add - src/StepFile/stepread.cxx Diff File
mod - src/StepFile/stepread.ph Diff File
mod - src/StepSelect/StepSelect_WorkLibrary.cxx Diff File
mod - src/StepSelect/StepSelect_WorkLibrary.hxx Diff File
mod - src/XSControl/XSControl_Reader.cxx Diff File
mod - src/XSControl/XSControl_Reader.hxx Diff File
mod - src/XSDRAWSTEP/XSDRAWSTEP.cxx Diff File
add - tests/bugs/step/bug27342 Diff File

Issue History

Date Modified Username Field Change
2016-04-04 10:47 abv New Issue
2016-04-04 10:47 abv Assigned To => gka
2016-04-04 10:50 abv Assigned To gka => imn
2016-04-04 10:50 abv Status new => assigned
2016-04-04 10:50 abv Description Updated
2016-04-04 11:07 git Note Added: 0052316
2016-04-04 11:19 imn Note Added: 0052320
2016-04-04 11:19 imn Assigned To imn => abv
2016-04-04 11:19 imn Status assigned => resolved
2016-04-04 11:19 imn Steps to Reproduce Updated
2016-04-04 11:26 git Note Added: 0052323
2016-04-06 20:08 git Note Added: 0052455
2016-04-08 10:09 imn Note Added: 0052503
2016-11-03 17:38 abv Target Version 7.1.0 => 7.2.0
2016-12-29 12:30 kgv Relationship added related to 0028312
2017-08-15 17:11 abv Target Version 7.2.0 => 7.4.0
2018-11-15 19:02 git Note Added: 0081117
2018-11-21 18:56 git Note Added: 0081200
2018-11-26 17:11 git Note Added: 0081264
2018-11-27 17:07 git Note Added: 0081272
2018-11-28 14:10 kgv Note Added: 0081282
2018-11-28 14:11 kgv Note Edited: 0081282
2018-11-28 14:11 kgv Note Edited: 0081282
2018-11-29 13:13 git Note Added: 0081292
2018-11-29 13:29 ika Note Added: 0081293
2018-11-29 13:31 ika Assigned To abv => gka
2018-11-29 16:37 gka Note Added: 0081297
2018-11-29 16:37 gka Assigned To gka => abv
2018-12-06 17:29 git Note Added: 0081412
2018-12-07 19:04 git Note Added: 0081426
2018-12-10 11:38 ika Note Added: 0081430
2018-12-10 14:02 apn Note Added: 0081432
2019-09-04 17:03 kgv Relationship added related to 0030844
2019-09-04 18:35 kgv Summary STEP - support C++ streams for import / export => Data Exchange, STEP - support C++ streams for import / export
2019-09-12 23:09 abv Target Version 7.4.0 => 7.5.0
2019-12-06 13:01 utverdov Assigned To abv => anv
2020-08-29 07:46 abv Relationship added related to 0031740
2020-08-29 08:02 abv Note Added: 0093721
2020-08-31 12:22 git Note Added: 0093758
2020-08-31 13:47 abv Note Added: 0093762
2020-08-31 14:52 abv Note Added: 0093763
2020-08-31 15:58 abv Assigned To anv => abv
2020-08-31 15:58 abv Status resolved => feedback
2020-08-31 21:44 git Note Added: 0093786
2020-09-01 12:10 git Note Added: 0093803
2020-09-01 12:13 abv Note Added: 0093804
2020-09-01 12:18 git Note Added: 0093805
2020-09-02 08:28 abv Note Added: 0093840
2020-09-17 10:48 gka Assigned To abv => dpasukhi
2020-09-17 10:49 gka Status feedback => assigned
2020-09-21 11:23 git Note Added: 0095182
2020-09-23 12:54 git Note Added: 0095235
2020-09-23 17:52 kgv Note Added: 0095245
2020-09-23 18:07 abv Assigned To dpasukhi => abv
2020-09-24 09:07 git Note Added: 0095255
2020-09-25 12:23 git Note Added: 0095312
2020-09-25 12:28 git Note Added: 0095313
2020-09-25 14:13 abv Assigned To abv => gka
2020-09-25 14:13 abv Status assigned => resolved
2020-09-25 14:15 abv Note Added: 0095319
2020-09-25 14:15 abv Assigned To gka => bugmaster
2020-09-25 14:15 abv Status resolved => reviewed
2020-09-26 11:16 git Note Added: 0095352
2020-09-26 11:25 git Note Added: 0095353
2020-09-27 12:18 bugmaster Test case number => bugs/step/bug27342
2020-09-27 14:12 bugmaster Note Added: 0095372
2020-09-27 14:12 bugmaster Status reviewed => tested
2020-09-27 14:13 bugmaster Changeset attached => occt master d7bc5c83
2020-09-27 14:13 bugmaster Status tested => verified
2020-09-27 14:13 bugmaster Resolution open => fixed
2020-09-27 14:28 git Note Added: 0095375
2020-09-27 14:29 git Note Added: 0095376
2020-09-27 14:29 git Note Added: 0095385
2020-09-27 14:29 git Note Added: 0095393
2020-09-27 14:30 git Note Added: 0095404
2020-09-27 14:30 git Note Added: 0095405
2020-09-27 14:31 git Note Added: 0095416
2020-09-27 14:31 git Note Added: 0095417
2020-09-27 14:31 git Note Added: 0095418
2020-09-27 14:31 git Note Added: 0095419
2020-09-28 20:21 kgv Note Added: 0095451
2020-09-28 21:34 abv Note Added: 0095453
2020-09-29 09:48 kgv Summary Data Exchange, STEP - support C++ streams for import / export => Data Exchange, STEP - support C++ streams for import
2020-10-03 14:05 bugmaster Changeset attached => occt master 68922bcc
2020-12-02 16:40 emo Fixed in Version => 7.5.0
2020-12-02 17:11 emo Status verified => closed
2021-05-09 11:30 kgv Relationship added related to 0032350
2021-06-18 21:25 kgv Relationship added related to 0032455