# SpatialAnnotationTrackingOptions.Builder

Artifact: [androidx.xr.arcore:arcore](https://developer.android.com/jetpack/androidx/releases/xr-arcore) [View Source](https://cs.android.com/search?q=file:androidx/xr/arcore/SpatialAnnotationTrackingOptions.kt+class:androidx.xr.arcore.SpatialAnnotationTrackingOptions.Builder) Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

*** ** * ** ***


```
class SpatialAnnotationTrackingOptions.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#Builder(java.nio.ByteBuffer,androidx.xr.runtime.math.IntSize2d,kotlin.Long)( imageBuffer: https://developer.android.com/reference/java/nio/ByteBuffer.html, imageSize: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/IntSize2d, timestampNanos: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html )` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#build()()` Builds a new `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions` instance. |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#setAlignment(androidx.xr.arcore.SpatialAnnotationQuadAlignment)(alignment: https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationQuadAlignment)` Sets the physical alignment behavior of the resulting 3D quad. |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#setFormat(androidx.xr.arcore.SpatialAnnotationImageFormat)(format: https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationImageFormat)` Sets the pixel format encoding. |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#setImageBuffer(java.nio.ByteBuffer)(imageBuffer: https://developer.android.com/reference/java/nio/ByteBuffer.html)` Sets the raw image byte buffer from the camera frame. |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#setImageSize(androidx.xr.runtime.math.IntSize2d)(imageSize: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/IntSize2d)` Sets the 2D pixel dimensions of the image buffer. |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#setQuads(kotlin.collections.Map)(quads: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationId, https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/Quad>)` Sets the bounding quadrilaterals mapped to their unique tracking IDs. |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#setRowStride(kotlin.Int)(rowStride: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the row stride (bytes per row) of the image buffer. |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions.Builder#setTimestampNanos(kotlin.Long)(timestampNanos: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets the system timestamp in nanoseconds correlating to the camera frame, using the `https://developer.android.com/reference/java/lang/System.html#nanoTime()` clock base. |

## Public constructors

### Builder

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
Builder(
    imageBuffer: ByteBuffer,
    imageSize: IntSize2d,
    timestampNanos: Long
)
```

| Parameters |
|---|---|
| `imageBuffer: https://developer.android.com/reference/java/nio/ByteBuffer.html` | the raw image byte buffer from the camera frame |
| `imageSize: https://developer.android.com/reference/kotlin/androidx/xr/runtime/math/IntSize2d` | the 2D pixel dimensions of the image buffer |
| `timestampNanos: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | the system timestamp in nanoseconds correlating to the camera frame, using the `https://developer.android.com/reference/java/lang/System.html#nanoTime()` clock base |

## Public functions

### build

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
fun build(): SpatialAnnotationTrackingOptions
```

Builds a new `https://developer.android.com/reference/kotlin/androidx/xr/arcore/SpatialAnnotationTrackingOptions` instance.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if required fields were not explicitly set |

### setAlignment

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
fun setAlignment(alignment: SpatialAnnotationQuadAlignment): SpatialAnnotationTrackingOptions.Builder
```

Sets the physical alignment behavior of the resulting 3D quad. Defaults to SCREEN.

### setFormat

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
fun setFormat(format: SpatialAnnotationImageFormat): SpatialAnnotationTrackingOptions.Builder
```

Sets the pixel format encoding. Defaults to RGBA.

### setImageBuffer

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
fun setImageBuffer(imageBuffer: ByteBuffer): SpatialAnnotationTrackingOptions.Builder
```

Sets the raw image byte buffer from the camera frame.

### setImageSize

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
fun setImageSize(imageSize: IntSize2d): SpatialAnnotationTrackingOptions.Builder
```

Sets the 2D pixel dimensions of the image buffer.

### setQuads

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
fun setQuads(quads: Map<SpatialAnnotationId, Quad>): SpatialAnnotationTrackingOptions.Builder
```

Sets the bounding quadrilaterals mapped to their unique tracking IDs.

### setRowStride

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
fun setRowStride(rowStride: Int): SpatialAnnotationTrackingOptions.Builder
```

Sets the row stride (bytes per row) of the image buffer.

### setTimestampNanos

Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.1.0-alpha01)

```
fun setTimestampNanos(timestampNanos: Long): SpatialAnnotationTrackingOptions.Builder
```

Sets the system timestamp in nanoseconds correlating to the camera frame, using the `https://developer.android.com/reference/java/lang/System.html#nanoTime()` clock base.