/home/runner/work/beluga/beluga/beluga_ros/include/beluga_ros/point_cloud.hpp File Reference

/home/runner/work/beluga/beluga/beluga_ros/include/beluga_ros/point_cloud.hpp File Reference#

Beluga ROS: /home/runner/work/beluga/beluga/beluga_ros/include/beluga_ros/point_cloud.hpp File Reference
Beluga ROS
point_cloud.hpp File Reference

Implementation of sensor_msgs/PointCloud2 wrapper type for messages with memory-aligned strides. More...

#include <range/v3/view/iota.hpp>
#include <beluga/sensor/data/point_cloud.hpp>
#include <beluga/views/take_evenly.hpp>
#include <beluga_ros/messages.hpp>
#include <sophus/se3.hpp>
#include <Eigen/Dense>
#include "beluga/eigen_compatibility.hpp"
Include dependency graph for point_cloud.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  beluga_ros::PointCloud3< T >
 Thin wrapper type for 3D sensor_msgs/PointCloud2 messages. More...
 

Namespaces

 beluga_ros
 The main Beluga ROS namespace.
 

Detailed Description

Implementation of sensor_msgs/PointCloud2 wrapper type for messages with memory-aligned strides.

The stride calculation ensures that the memory layout of the point cloud data is aligned with the size of the data type used for iteration (iteratorType). To maintain proper memory alignment, the stride must satisfy the condition:

cloud_->point_step % sizeof(iteratorType) == 0

This condition guarantees that point_step is a multiple of the size of the iteratorType, ensuring efficient access to each point in the cloud.