# foxglove_msgs/VoxelGrid
# A 3D grid of data

# Generated by https://github.com/foxglove/foxglove-sdk

# Timestamp of grid
time timestamp

# Frame of reference
string frame_id

# Origin of the grid’s lower-front-left corner in the reference frame. The grid’s pose is defined relative to this corner, so an untransformed grid with an identity orientation has this corner at the origin.
geometry_msgs/Pose pose

# Number of grid rows
uint32 row_count

# Number of grid columns
uint32 column_count

# Size of single grid cell along x, y, and z axes, relative to `pose`
geometry_msgs/Vector3 cell_size

# Number of bytes between depth slices in `data`
uint32 slice_stride

# Number of bytes between rows in `data`
uint32 row_stride

# Number of bytes between cells within a row in `data`
uint32 cell_stride

# Fields in `data`. `red`, `green`, `blue`, and `alpha` are optional for customizing the grid's color.
foxglove_msgs/PackedElementField[] fields

# Grid cell data, interpreted using `fields`, in depth-major, row-major (Z-Y-X) order.
# For the data element starting at byte offset i, the coordinates of its corner closest to the origin will be:
# 
# - z = i / slice_stride * cell_size.z
# - y = (i % slice_stride) / row_stride * cell_size.y
# - x = (i % row_stride) / cell_stride * cell_size.x
uint8[] data
