Skip to content
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

Support manual extensions to generated types #2798

Closed
Tracked by #2516
Wumpf opened this issue Jul 24, 2023 · 0 comments · Fixed by #2916
Closed
Tracked by #2516

Support manual extensions to generated types #2798

Wumpf opened this issue Jul 24, 2023 · 0 comments · Fixed by #2916
Labels
🌊 C++ API C or C++ logging API codegen/idl

Comments

@Wumpf
Copy link
Member

Wumpf commented Jul 24, 2023

No description provided.

@Wumpf Wumpf mentioned this issue Jul 24, 2023
11 tasks
@teh-cmc teh-cmc added 📊 analytics telemetry analytics codegen/idl labels Jul 24, 2023
@Wumpf Wumpf added 🌊 C++ API C or C++ logging API and removed 📊 analytics telemetry analytics labels Aug 5, 2023
Wumpf added a commit that referenced this issue Aug 7, 2023
### What

Introduces a simple extension system for C++ codegen: Add an extra cpp
file that will be compiled as part of the SDK. A section between two
markes is copied into the generated hpp as part of generation (typically
this section is removed from compilation via #ifdef)

Adds extensions to:
* color
* vec2/vec3/vec4
* quaternion
* origin3d
* point2d
* point3d
* arrow3d

... and uses them to simplify examples and test code!

All fully supported archetypes now have a simple test that checks that
the base interface works and that we can serialize out to arrow without
issues.

Additionally, there's tests for vecN/quaternion/color to check that
their various constructors work as expected (not being a C++ expert it's
fairly hard to predict)

Extends codegen with single-array-field-constructors.


---------

* part of #2647
* Fixes #2798
* Fixes #2785
* Missing only 2D example: #2789
* Adds to #2791 


### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2916) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/2916)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fcustom-extensions/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fcustom-extensions/examples)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌊 C++ API C or C++ logging API codegen/idl
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants