-
Notifications
You must be signed in to change notification settings - Fork 106
3d jan/beamlattice namespace fix #433
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
3dJan
commented
Sep 14, 2025
- Writer now detects ball usage up‑front and (when needed) declares xmlns:b2 and emits b2:balls, b2:ball, and b2:ballref instead of the previous (non‑spec) <b:ball*>.
- Added new constants for the balls namespace/prefix and integrated them into required extension handling.
- Reader extended to:
- Accept the balls namespace for / elements.
- Parse namespaced b2:ballmode and b2:ballradius attributes.
- Treat the balls namespace as a supported required extension (removes prior warning).
- Remain backward compatible with legacy files using <b:balls> / <b:ball>.
- New test 3MF asset plus test validating: no warnings, ball mode = All, default radius = 3.0, total implicit balls = vertex count (8).
- Added a namespace compliance test ensuring serialization uses b2 and never falls back to legacy b:ball forms.
…for tests [CMakeLists.txt] Update OpenSSL linking logic based on USE_INCLUDED_SSL flag [UnitTest_EncryptionUtils.cpp] Implement cleanup logic for OpenSSL version compatibility
…e Debian reference
…equired beam lattice ball extensions and add tests for namespace compliance
…l mode and count in BeamLattice
…d radius in BeamLattice namespace
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements proper namespace support for beam lattice balls in the 3MF specification by introducing a dedicated balls namespace (b2:) to replace the non-compliant legacy b:ball* elements. The changes ensure spec compliance while maintaining backward compatibility.
Key changes:
- Adds detection logic to determine when balls extension is needed and declares appropriate namespace
- Updates writer to emit proper b2:balls, b2:ball, and b2:ballref elements instead of legacy forms
- Extends reader to accept both new balls namespace and legacy b:ball* for backward compatibility
Reviewed Changes
Copilot reviewed 19 out of 21 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Source/Model/Writer/v100/NMR_ModelWriterNode100_Model.cpp | Adds ball usage detection and namespace declaration logic |
| Source/Model/Writer/v100/NMR_ModelWriterNode100_Mesh.cpp | Updates to use balls namespace prefix for ball elements |
| Source/Model/Reader/BeamLattice1702/NMR_ModelReaderNode_BeamLattice1702_BeamLattice.cpp | Adds support for namespaced ball attributes |
| Include/Model/Classes/NMR_ModelConstants.h | Defines new balls namespace constants |
| Tests/CPP_Bindings/Source/BeamLattice.cpp | Adds test for balls extension compliance |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Source/Model/Reader/Volumetric2201/NMR_ModelReaderNode_LevelSet.cpp
Outdated
Show resolved
Hide resolved
|
just noticed that in CI build https://github.com/3dJan/lib3mf/actions/runs/17714380031/job/50337632342 the |
fixing initialization order Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…t.cpp fixing initialization order Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…provements and fail only on regression
…ilures and MUSTFAIL passes for latest release and commit
|
There seems to be indeed a regression, two negative tests pass now: Btw. I now also extended the integration tests to list the test cases with regressions. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #433 +/- ##
========================================
Coverage 59.08% 59.08%
========================================
Files 64 64
Lines 23589 23589
========================================
Hits 13937 13937
Misses 9652 9652 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
… usage instructions
…e_fix 3djan/beamlattice namespace fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 24 out of 26 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
gangatp
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
vijaiaeroastro
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, Jan. Thanks for the changes in integration tests too.