<!--
{
  "availability" : [
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/GeometryElement",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "s:5ARKit15GeometryElementV"
  },
  "title" : "GeometryElement"
}
-->

# GeometryElement

A container for vertex indices of lines or triangles.

```
struct GeometryElement
```

## Topics

### Rendering geometry elements

[`var buffer: any MTLBuffer`](/documentation/ARKit/GeometryElement/buffer)

A Metal buffer that contains index data that defines the geometry of an object.

[`var primitive: GeometryElement.Primitive`](/documentation/ARKit/GeometryElement/primitive-swift.property)

Get the type of the geometry element.

[`enum Primitive`](/documentation/ARKit/GeometryElement/Primitive-swift.enum)

The kind of primitive, lines or triangles, that a geometry element contains.

[`var count: Int`](/documentation/ARKit/GeometryElement/count)

The number of primitives in the Metal buffer for a geometry element.

[`var bytesPerIndex: Int`](/documentation/ARKit/GeometryElement/bytesPerIndex)

The number of bytes that represent an index value.

[`var description: String`](/documentation/ARKit/GeometryElement/description)

A textual representation of this geometry element.

### Default Implementations

[Equatable Implementations](/documentation/ARKit/GeometryElement/Equatable-Implementations)

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)