foxglove.LinePrimitive

A primitive representing a series of points connected by lines

RoboticsObservabilityVisualizationData PlatformPhysical AIAutonomyFleet ManagementDeveloper ToolsMCAPROS

Properties

Name Type Description
type object Drawing primitive to use for lines
pose object Origin of lines relative to reference frame
thickness number Line thickness
scale_invariant boolean 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 array Points along the line
color object Solid color to use for the whole line. Ignored if `colors` is non-empty.
colors array Per-point colors (if non-empty, must have the same length as `points`).
indices array Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data. If omitted or empty, indexing will not be used. This default behavior is equivalent to s
View JSON Schema on GitHub

JSON Schema

foxglove-technologies-lineprimitive.json Raw ↑
{
  "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"
  ]
}