point_cloud_msg_wrapper repository

Repository Summary

Checkout URI https://gitlab.com/ApexAI/point_cloud_msg_wrapper
VCS Type git
VCS Version rolling
Last Updated 2021-06-10
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
point_cloud_msg_wrapper 1.0.7

README

Point Cloud Message Wrapper

This is a modern take on the already existing sensor_msgs::PointCloud2Modifier and sensor_msgs::PointCloud2Iterator. These existing classes, while flexible do not offer much safety in usage. If a wrong type is provided into the iterator it will happily reinterpret the data as it was told returning garbage data as a result. This is exactly what this class aims to solve. With the current implementation, this class allows for the following usage:

sensor_msgs::PointCloud2 cloud;
PointCloud2Modifier<Point2D> modifier{cloud, "frame_id"};
for (const auto& point : {{42, 42}, {23, 42}}) {
  modifier.push_back(point);
}

For more details please see design doc.

Acknowledgments

Many thanks go to @xmfcx who has pointed out an idea to use an existing iterator instead of writing our own as well as for his reviews of the initial version of this code. This has significantly increased the readability and made the code less error prone. Thanks!

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://gitlab.com/ApexAI/point_cloud_msg_wrapper
VCS Type git
VCS Version rolling
Last Updated 2021-06-10
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
point_cloud_msg_wrapper 1.0.7

README

Point Cloud Message Wrapper

This is a modern take on the already existing sensor_msgs::PointCloud2Modifier and sensor_msgs::PointCloud2Iterator. These existing classes, while flexible do not offer much safety in usage. If a wrong type is provided into the iterator it will happily reinterpret the data as it was told returning garbage data as a result. This is exactly what this class aims to solve. With the current implementation, this class allows for the following usage:

sensor_msgs::PointCloud2 cloud;
PointCloud2Modifier<Point2D> modifier{cloud, "frame_id"};
for (const auto& point : {{42, 42}, {23, 42}}) {
  modifier.push_back(point);
}

For more details please see design doc.

Acknowledgments

Many thanks go to @xmfcx who has pointed out an idea to use an existing iterator instead of writing our own as well as for his reviews of the initial version of this code. This has significantly increased the readability and made the code less error prone. Thanks!

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://gitlab.com/ApexAI/point_cloud_msg_wrapper
VCS Type git
VCS Version rolling
Last Updated 2021-06-10
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
point_cloud_msg_wrapper 1.0.7

README

Point Cloud Message Wrapper

This is a modern take on the already existing sensor_msgs::PointCloud2Modifier and sensor_msgs::PointCloud2Iterator. These existing classes, while flexible do not offer much safety in usage. If a wrong type is provided into the iterator it will happily reinterpret the data as it was told returning garbage data as a result. This is exactly what this class aims to solve. With the current implementation, this class allows for the following usage:

sensor_msgs::PointCloud2 cloud;
PointCloud2Modifier<Point2D> modifier{cloud, "frame_id"};
for (const auto& point : {{42, 42}, {23, 42}}) {
  modifier.push_back(point);
}

For more details please see design doc.

Acknowledgments

Many thanks go to @xmfcx who has pointed out an idea to use an existing iterator instead of writing our own as well as for his reviews of the initial version of this code. This has significantly increased the readability and made the code less error prone. Thanks!

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://gitlab.com/ApexAI/point_cloud_msg_wrapper
VCS Type git
VCS Version galactic
Last Updated 2021-06-10
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
point_cloud_msg_wrapper 1.0.7

README

Point Cloud Message Wrapper

This is a modern take on the already existing sensor_msgs::PointCloud2Modifier and sensor_msgs::PointCloud2Iterator. These existing classes, while flexible do not offer much safety in usage. If a wrong type is provided into the iterator it will happily reinterpret the data as it was told returning garbage data as a result. This is exactly what this class aims to solve. With the current implementation, this class allows for the following usage:

sensor_msgs::PointCloud2 cloud;
PointCloud2Modifier<Point2D> modifier{cloud, "frame_id"};
for (const auto& point : {{42, 42}, {23, 42}}) {
  modifier.push_back(point);
}

For more details please see design doc.

Acknowledgments

Many thanks go to @xmfcx who has pointed out an idea to use an existing iterator instead of writing our own as well as for his reviews of the initial version of this code. This has significantly increased the readability and made the code less error prone. Thanks!

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://gitlab.com/ApexAI/point_cloud_msg_wrapper
VCS Type git
VCS Version foxy
Last Updated 2021-06-10
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
point_cloud_msg_wrapper 1.0.7

README

Point Cloud Message Wrapper

This is a modern take on the already existing sensor_msgs::PointCloud2Modifier and sensor_msgs::PointCloud2Iterator. These existing classes, while flexible do not offer much safety in usage. If a wrong type is provided into the iterator it will happily reinterpret the data as it was told returning garbage data as a result. This is exactly what this class aims to solve. With the current implementation, this class allows for the following usage:

sensor_msgs::PointCloud2 cloud;
PointCloud2Modifier<Point2D> modifier{cloud, "frame_id"};
for (const auto& point : {{42, 42}, {23, 42}}) {
  modifier.push_back(point);
}

For more details please see design doc.

Acknowledgments

Many thanks go to @xmfcx who has pointed out an idea to use an existing iterator instead of writing our own as well as for his reviews of the initial version of this code. This has significantly increased the readability and made the code less error prone. Thanks!

CONTRIBUTING

No CONTRIBUTING.md found.