---
title: ARGeometrySource
framework: arkit
role: symbol
role_heading: Class
path: arkit/argeometrysource
---

# ARGeometrySource

Mesh data in a buffer-based array.

## Declaration

```swift
class ARGeometrySource
```

## Overview

Overview Mesh-anchor geometry (ARMeshGeometry) uses geometry sources to hold 3D data like vertices, and normals, in an efficent, array-like format. A Metal buffer wraps the data, and other properties specify  how to interpret that data. In the case that componentsPerVector is greater than 1, the element type of the geometry-source array is itself a sequence (pairs, triplets, and so on).

## Topics

### Accessing Geometry

- [subscript(_:)](arkit/argeometrysource/subscript(_:)-3v98f.md)
- [subscript(_:)](arkit/argeometrysource/subscript(_:)-7jf4y.md)
- [buffer](arkit/argeometrysource/buffer.md)

### Getting Geometry Information

- [componentsPerVector](arkit/argeometrysource/componentspervector.md)
- [count](arkit/argeometrysource/count.md)
- [format](arkit/argeometrysource/format.md)
- [offset](arkit/argeometrysource/offset.md)
- [stride](arkit/argeometrysource/stride.md)

### Initializers

- [init(coder:)](arkit/argeometrysource/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Accessing Geometry Data

- [vertices](arkit/armeshgeometry/vertices.md)
