Struct PointCloudCompression¶
Defined in File point_cloud_compression.hpp
Struct Documentation¶
-
struct PointCloudCompression¶
Transparent point-cloud compression for a single channel, returned by the per-channel policy callback on the gateway options.
When compression is enabled, channels carrying a supported point-cloud schema — currently protobuf-encoded
foxglove.PointCloudor CDR-encodedsensor_msgs/msg/PointCloud2— are advertised with the protobuf-encodedfoxglove.CompressedPointCloudschema, and each logged point cloud is compressed in a background task (off the logging hot path) before delivery. If compression falls behind the log rate, the oldest queued message is dropped. Channels classified as Reliable skip compression and deliver the raw point cloud on the control bytestream.Compressed clouds are conditioned before encoding: per-point fields that carry no value on a remote viewer (timestamps, ranges and angles derivable from the positions, and per-point indices, matched by exact (name, type) tuple) are dropped; packed rgb/rgba color fields declared float32 are reinterpreted as uint32; float64 fields are narrowed to float32 (about seven significant digits); and points containing a non-finite value in any float field are removed. To deliver clouds untouched, return disabled() for the channel.
Public Members
-
PointCloudCompressionMode mode = PointCloudCompressionMode::Default¶
The compression mode.
-
DracoEncodeOptions draco¶
Draco encoding settings.
These are **silently ignored unless mode is PointCloudCompressionMode::Draco** — setting
dracowithout also settingmodeleaves the SDK default in effect. Prefer the withDraco() factory, which sets both together.
Public Static Functions
-
static inline PointCloudCompression disabled()¶
Disable transparent point-cloud compression: deliver point clouds unmodified.
-
static inline PointCloudCompression withDraco(DracoEncodeOptions options)¶
Compress with Draco using the given settings.
Sets mode and draco together so they cannot get out of sync. For example:
return PointCloudCompression::withDraco({8});
-
PointCloudCompressionMode mode = PointCloudCompressionMode::Default¶