Program Listing for File point.h
↰ Return to documentation for file (include/ros2_ouster/client/point.h)
#pragma once
#define PCL_NO_PRECOMPILE
#include <pcl/point_types.h>
#include <Eigen/Eigen>
#include <chrono>
#include <functional>
#include "ros2_ouster/client/lidar_scan.h"
namespace ouster_ros {
struct EIGEN_ALIGN16 Point
{
PCL_ADD_POINT4D;
float intensity;
uint32_t t;
uint16_t reflectivity;
uint8_t ring;
uint16_t ambient;
uint32_t range;
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
};
} // namespace ouster_ros
// clang-format off
POINT_CLOUD_REGISTER_POINT_STRUCT(
ouster_ros::Point,
(float, x, x)(float, y, y)(float, z, z)(float, intensity, intensity)
// use std::uint32_t to avoid conflicting with pcl::uint32_t
(std::uint32_t, t, t)(std::uint16_t, reflectivity, reflectivity)(
std::uint8_t, ring,
ring)(std::uint16_t, ambient, ambient)(std::uint32_t, range, range)
)
// clang-format on