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

C++ codegen extensions, archetype tests, array ctors #2916

Merged
merged 20 commits into from
Aug 7, 2023

Conversation

Wumpf
Copy link
Member

@Wumpf Wumpf commented Aug 5, 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.


Checklist

@Wumpf Wumpf added the 🌊 C++ API C/C++ API specific label Aug 5, 2023
crates/re_types/build.rs Outdated Show resolved Hide resolved
@teh-cmc teh-cmc self-requested a review August 7, 2023 07:39
crates/re_types/src/lib.rs Outdated Show resolved Hide resolved
crates/re_types/src/lib.rs Outdated Show resolved Hide resolved
@Wumpf Wumpf mentioned this pull request Aug 7, 2023
Copy link
Member

@teh-cmc teh-cmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤌

crates/re_types/src/lib.rs Outdated Show resolved Hide resolved
crates/re_types_builder/src/codegen/cpp/mod.rs Outdated Show resolved Hide resolved
@Wumpf Wumpf force-pushed the andreas/cpp/custom-extensions branch from fa1b387 to e73a7cb Compare August 7, 2023 08:22
@Wumpf Wumpf merged commit 52d66ea into main Aug 7, 2023
23 of 24 checks passed
@Wumpf Wumpf deleted the andreas/cpp/custom-extensions branch August 7, 2023 09:16
@emilk emilk added examples Issues relating to the Rerun examples exclude from changelog PRs with this won't show up in CHANGELOG.md and removed examples Issues relating to the Rerun examples exclude from changelog PRs with this won't show up in CHANGELOG.md labels Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌊 C++ API C/C++ API specific
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support manual extensions to generated types Arrow3D migration to archetypes
3 participants