Template Class PointCloud3

Inheritance Relationships

Base Type

  • public beluga::BasePointCloud< PointCloud3< T > >

Class Documentation

template<typename T, bool Strict = true>
class PointCloud3 : public beluga::BasePointCloud<PointCloud3<T>>

Thin wrapper type for 3D sensor_msgs/PointCloud2 messages with dense layouts.

The layout of the point cloud message must include exactly three (3) fields: x, y, and z, all of the same floating point datatype, representing cartesian coordinates for each point.

Template Parameters:
  • T – Scalar type for point coordinates. Must be floating point.

  • Strict – If true, xyz fields’ datatypes must match the expected scalar type or the wrapper will throw on construction. If false, the wrapper will cast as necessary.

Public Types

using Scalar = T

Expected PointCloud2 fields type.

Public Functions

inline explicit PointCloud3(beluga_ros::msg::PointCloud2ConstSharedPtr cloud, Sophus::SE3d origin = Sophus::SE3d())

Constructor.

Parameters:
  • cloud – Point cloud message.

  • origin – Point cloud frame origin in the filter frame.

Throws:

std::invalid_argument – if cloud does not meet expectations.

inline const auto &origin() const

Get the point cloud frame origin in the filter frame.

inline auto points() const

Get cartesian points in the point cloud as a matrix.