Geometry

Selects the type of geometry in an Element from several options.

Options

Schema

{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "type",
        "vertices"
      ],
      "properties": {
        "origin": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 3,
          "minItems": 3
        },
        "type": {
          "type": "string",
          "enum": [
            "PointSet"
          ]
        },
        "vertices": {
          "$ref": "#/definitions/Array"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "segments",
        "type",
        "vertices"
      ],
      "properties": {
        "origin": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 3,
          "minItems": 3
        },
        "segments": {
          "$ref": "#/definitions/Array"
        },
        "type": {
          "type": "string",
          "enum": [
            "LineSet"
          ]
        },
        "vertices": {
          "$ref": "#/definitions/Array"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "triangles",
        "type",
        "vertices"
      ],
      "properties": {
        "origin": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 3,
          "minItems": 3
        },
        "triangles": {
          "$ref": "#/definitions/Array"
        },
        "type": {
          "type": "string",
          "enum": [
            "Surface"
          ]
        },
        "vertices": {
          "$ref": "#/definitions/Array"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "grid",
        "orient",
        "type"
      ],
      "properties": {
        "grid": {
          "$ref": "#/definitions/Grid2"
        },
        "heights": {
          "anyOf": [
            {
              "$ref": "#/definitions/Array"
            },
            {
              "type": "null"
            }
          ]
        },
        "orient": {
          "$ref": "#/definitions/Orient2"
        },
        "type": {
          "type": "string",
          "enum": [
            "GridSurface"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "grid",
        "orient",
        "type"
      ],
      "properties": {
        "grid": {
          "$ref": "#/definitions/Grid3"
        },
        "orient": {
          "$ref": "#/definitions/Orient3"
        },
        "subblocks": {
          "anyOf": [
            {
              "$ref": "#/definitions/Subblocks"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "type": "string",
          "enum": [
            "BlockModel"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "elements": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/Element"
          }
        },
        "type": {
          "type": "string",
          "enum": [
            "Composite"
          ]
        }
      }
    }
  ]
}