{ "title": "foxglove.LinePrimitive", "description": "A primitive representing a series of points connected by lines", "$comment": "Generated by https://github.com/foxglove/foxglove-sdk", "type": "object", "properties": { "type": { "title": "foxglove.LineType", "description": "Drawing primitive to use for lines", "oneOf": [ { "title": "LINE_STRIP", "const": 0, "description": "Connected line segments: 0-1, 1-2, ..., (n-1)-n" }, { "title": "LINE_LOOP", "const": 1, "description": "Closed polygon: 0-1, 1-2, ..., (n-1)-n, n-0" }, { "title": "LINE_LIST", "const": 2, "description": "Individual line segments: 0-1, 2-3, 4-5, ..." } ] }, "pose": { "title": "foxglove.Pose", "description": "Origin of lines relative to reference frame", "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" ] }, "thickness": { "type": "number", "description": "Line thickness" }, "scale_invariant": { "type": "boolean", "description": "Indicates whether `thickness` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false)" }, "points": { "type": "array", "items": { "title": "foxglove.Point3", "description": "A point representing a position in 3D space", "type": "object", "properties": { "x": { "type": "number", "description": "x coordinate position" }, "y": { "type": "number", "description": "y coordinate position" }, "z": { "type": "number", "description": "z coordinate position" } }, "required": [ "x", "y", "z" ] }, "description": "Points along the line" }, "color": { "title": "foxglove.Color", "description": "Solid color to use for the whole line. Ignored if `colors` is non-empty.", "type": "object", "properties": { "r": { "type": "number", "description": "Red value between 0 and 1" }, "g": { "type": "number", "description": "Green value between 0 and 1" }, "b": { "type": "number", "description": "Blue value between 0 and 1" }, "a": { "type": "number", "description": "Alpha value between 0 and 1" } }, "required": [ "r", "g", "b", "a" ] }, "colors": { "type": "array", "items": { "title": "foxglove.Color", "description": "A color in RGBA format", "type": "object", "properties": { "r": { "type": "number", "description": "Red value between 0 and 1" }, "g": { "type": "number", "description": "Green value between 0 and 1" }, "b": { "type": "number", "description": "Blue value between 0 and 1" }, "a": { "type": "number", "description": "Alpha value between 0 and 1" } }, "required": [ "r", "g", "b", "a" ] }, "description": "Per-point colors (if non-empty, must have the same length as `points`)." }, "indices": { "type": "array", "items": { "type": "integer", "minimum": 0 }, "description": "Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data.\n\nIf omitted or empty, indexing will not be used. This default behavior is equivalent to specifying [0, 1, ..., N-1] for the indices (where N is the number of `points` provided)." } }, "required": [ "type", "pose", "thickness", "scale_invariant", "points", "color", "colors", "indices" ] }