{ "title": "foxglove.PointCloud", "description": "A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc.", "$comment": "Generated by https://github.com/foxglove/foxglove-sdk", "type": "object", "properties": { "timestamp": { "type": "object", "title": "time", "properties": { "sec": { "type": "integer", "minimum": 0 }, "nsec": { "type": "integer", "minimum": 0, "maximum": 999999999 } }, "description": "Timestamp of point cloud" }, "frame_id": { "type": "string", "description": "Frame of reference" }, "pose": { "title": "foxglove.Pose", "description": "The origin of the point cloud relative to the frame of reference", "type": "object", "properties": { "position": { "title": "foxglove.Vector3", "description": "Point denoting position in 3D space", "type": "object", "properties": { "x": { "type": "number", "description": "x component" }, "y": { "type": "number", "description": "y component" }, "z": { "type": "number", "description": "z component" } }, "required": [ "x", "y", "z" ] }, "orientation": { "title": "foxglove.Quaternion", "description": "Quaternion denoting orientation in 3D space", "type": "object", "properties": { "x": { "type": "number", "description": "x value" }, "y": { "type": "number", "description": "y value" }, "z": { "type": "number", "description": "z value" }, "w": { "type": "number", "description": "w value" } }, "required": [ "x", "y", "z", "w" ] } }, "required": [ "position", "orientation" ] }, "point_stride": { "type": "integer", "minimum": 0, "description": "Number of bytes between points in the `data`" }, "fields": { "type": "array", "items": { "title": "foxglove.PackedElementField", "description": "A field present within each element in a byte array of packed elements.", "type": "object", "properties": { "name": { "type": "string", "description": "Name of the field" }, "offset": { "type": "integer", "minimum": 0, "description": "Byte offset from start of data buffer" }, "type": { "title": "foxglove.NumericType", "description": "Type of data in the field. Integers are stored using little-endian byte order.", "oneOf": [ { "title": "UNKNOWN", "const": 0, "description": "Unknown numeric type" }, { "title": "UINT8", "const": 1, "description": "Unsigned 8-bit integer" }, { "title": "INT8", "const": 2, "description": "Signed 8-bit integer" }, { "title": "UINT16", "const": 3, "description": "Unsigned 16-bit integer" }, { "title": "INT16", "const": 4, "description": "Signed 16-bit integer" }, { "title": "UINT32", "const": 5, "description": "Unsigned 32-bit integer" }, { "title": "INT32", "const": 6, "description": "Signed 32-bit integer" }, { "title": "FLOAT32", "const": 7, "description": "32-bit floating-point number" }, { "title": "FLOAT64", "const": 8, "description": "64-bit floating-point number" } ] } }, "required": [ "name", "offset", "type" ] }, "description": "Fields in `data`. At least 2 coordinate fields from `x`, `y`, and `z` are required for each point's position; `red`, `green`, `blue`, and `alpha` are optional for customizing each point's color." }, "data": { "type": "string", "contentEncoding": "base64", "description": "Point data, interpreted using `fields`" } }, "required": [ "timestamp", "frame_id", "pose", "point_stride", "fields", "data" ] }