Data Exchange, IGES - Add stream-based I/O support - #1406
Merged
Conversation
dpasukhi
commented
Jul 29, 2026
Member
- Add IGES stream reading and writing to DEIGES providers.
- Extend IFSelect, XSControl, and work libraries with generic stream output.
- Keep STEP work-library output aligned with the shared stream interface.
- Convert the legacy IGES parser from C to modern C++.
- Introduce buffered parsing of fixed 80-column IGES records.
- Support LF, CRLF, CR-only, and delimiter-free record layouts.
- Preserve FNES preamble detection and encoded record handling.
- Handle stream errors, enabled exceptions, partial reads, and cleanup safely.
- Isolate mutable parser data with thread-local storage.
- Serialize access to process-wide IGES configuration and restore it on exit.
- Preserve supplied work sessions, transferred models, and selected modifiers.
- Apply modern OCCT naming, casting, documentation, and control-flow style.
- Add tests for shape and document stream I/O, record layouts, and failures.
Add stream read/write support through IFSelect and XSControl work libraries, implement IGES stream handling on top of stream-backed parser entry points, and wire DEIGES provider stream operations with serialization guards. Add focused GTests for DEIGES provider stream read/write paths and keep STEP work library write support aligned with the new shared stream interface.
Convert the legacy IGES parser to modern C++ with buffered fixed-record stream input, FNES compatibility, thread-local parser state, and failure-safe cleanup. Complete generic IFSelect/XSControl stream writing, preserve modifiers and work sessions, guard global IGES configuration, and extend provider coverage for alternate record separators and stream failures.
dpasukhi
marked this pull request as ready for review
July 29, 2026 14:57
Add stream read/write support through IFSelect and XSControl work libraries, implement IGES stream handling on top of stream-backed parser entry points, and wire DEIGES provider stream operations with serialization guards. Add focused GTests for DEIGES provider stream read/write paths and keep STEP work library write support aligned with the new shared stream interface.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.