Skip to content

feat: convenience API for compressing PointCloud2 + CMake improvements#58

Merged
facontidavide merged 1 commit intomainfrom
feat/convenience-compress-api
Feb 21, 2026
Merged

feat: convenience API for compressing PointCloud2 + CMake improvements#58
facontidavide merged 1 commit intomainfrom
feat/convenience-compress-api

Conversation

@facontidavide
Copy link
Owner

Summary

  • Add Cloudini::SerializeCompressedPointCloud2() and Cloudini::ConvertToRosPointCloud2() convenience functions so users can compress sensor_msgs::msg::PointCloud2 directly in their code without the topic_converter node
  • Add test_direct_publisher example node demonstrating the new API with zero-copy publish
  • Replace pcl_ros dependency with direct PCL COMPONENTS common io — lighter deps, proper ament export targets
  • Fix ament exports to use ament_export_targets() for correct downstream CMake consumption
  • Update package.xml: libpcl-common + libpcl-io replace pcl_ros
  • Fix @bried@brief typo and include style (<>"" for project-local headers)

Alternative to #56 — cherry-picks the useful parts and fixes the extra memcpy, name collision risk, and undocumented borrowing semantics. Also incorporates the CMake/package improvements from #55.

Test plan

  • cmake --build build_release --parallel — core lib compiles
  • ctest — all existing tests pass (1/1)
  • colcon build --packages-select cloudini_lib cloudini_ros — ROS packages compile (CI)
  • Run test_direct_publisher with a PointCloud2 source to verify end-to-end compression

🤖 Generated with Claude Code

@facontidavide facontidavide force-pushed the feat/convenience-compress-api branch from 6a42a4f to 74686db Compare February 21, 2026 16:02
Add SerializeCompressedPointCloud2() and ConvertToRosPointCloud2() to allow
users to compress sensor_msgs::msg::PointCloud2 without the topic_converter
node. Includes test_direct_publisher example node and CLAUDE.md documentation.

Also removes redundant PCL_INCLUDE_DIRS from test_cloudini_subscriber target.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@facontidavide facontidavide force-pushed the feat/convenience-compress-api branch from 74686db to 53e82ad Compare February 21, 2026 16:04
@facontidavide facontidavide merged commit bddb61f into main Feb 21, 2026
1 of 3 checks passed
@facontidavide facontidavide deleted the feat/convenience-compress-api branch February 21, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant