foxglove.ModelPrimitive

A primitive representing a 3D model file loaded from an external URL or embedded data

RoboticsObservabilityVisualizationData PlatformPhysical AIAutonomyFleet ManagementDeveloper ToolsMCAPROS

Properties

Name Type Description
pose object Origin of model relative to reference frame
scale object Scale factor to apply to the model along each axis
color object Solid color to use for the whole model if `override_color` is true.
override_color boolean Whether to use the color specified in `color` instead of any materials embedded in the original model.
url string URL pointing to model file. One of `url` or `data` should be non-empty.
media_type string [Media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of embedded model (e.g. `model/gltf-binary`). Required if `data` is provided instead of `url`. Overrides the i
data string Embedded model. One of `url` or `data` should be non-empty. If `data` is non-empty, `media_type` must be set to indicate the type of the data.
View JSON Schema on GitHub

JSON Schema

foxglove-technologies-modelprimitive.json Raw ↑
{
  "title": "foxglove.ModelPrimitive",
  "description": "A primitive representing a 3D model file loaded from an external URL or embedded data",
  "$comment": "Generated by https://github.com/foxglove/foxglove-sdk",
  "type": "object",
  "properties": {
    "pose": {
      "title": "foxglove.Pose",
      "description": "Origin of model 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"
      ]
    },
    "scale": {
      "title": "foxglove.Vector3",
      "description": "Scale factor to apply to the model along each axis",
      "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"
      ]
    },
    "color": {
      "title": "foxglove.Color",
      "description": "Solid color to use for the whole model if `override_color` is true.",
      "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"
      ]
    },
    "override_color": {
      "type": "boolean",
      "description": "Whether to use the color specified in `color` instead of any materials embedded in the original model."
    },
    "url": {
      "type": "string",
      "description": "URL pointing to model file. One of `url` or `data` should be non-empty."
    },
    "media_type": {
      "type": "string",
      "description": "[Media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of embedded model (e.g. `model/gltf-binary`). Required if `data` is provided instead of `url`. Overrides the inferred media type if `url` is provided."
    },
    "data": {
      "type": "string",
      "contentEncoding": "base64",
      "description": "Embedded model. One of `url` or `data` should be non-empty. If `data` is non-empty, `media_type` must be set to indicate the type of the data."
    }
  },
  "required": [
    "pose",
    "scale",
    "color",
    "override_color",
    "url",
    "media_type",
    "data"
  ]
}