Struct CompressedPointCloud

Struct Documentation

struct CompressedPointCloud

A compressed point cloud. A decoder for format must decompress data, using metadata stored in the compressed payload to recover point positions and any additional per-point attributes. The decoded point cloud must include at least 2 coordinate fields from x, y, and z; red, green, blue, and alpha are optional for customizing each point’s color.

Public Functions

FoxgloveError encode(uint8_t *ptr, size_t len, size_t *encoded_len)

Encoded the CompressedPointCloud as protobuf to the provided buffer.

On success, writes the serialized length to *encoded_len. If the provided buffer has insufficient capacity, writes the required capacity to *encoded_len and returns FoxgloveError::BufferTooShort. If the message cannot be encoded, writes the reason to stderr and returns FoxgloveError::EncodeError.

Parameters:
  • ptr – the destination buffer. must point to at least len valid bytes.

  • len – the length of the destination buffer.

  • encoded_len – where the serialized length or required capacity will be written to.

Public Members

std::optional<Timestamp> timestamp

Timestamp of point cloud.

std::string frame_id

Frame of reference.

std::optional<Pose> pose

The origin of the point cloud relative to the frame of reference.

std::vector<std::byte> data

Compressed point cloud data for exactly one point cloud, including any format-specific metadata needed to describe the decoded point attributes.

std::string format

Point cloud compression format.

Supported values: draco (Google Draco).

Public Static Functions

static Schema schema()

Get the CompressedPointCloud schema.

The schema data returned is statically allocated.