# PerceptionState

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/PerceptionState.kt+class:androidx.xr.arcore.PerceptionState) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-arcore#1.0.0)

*** ** * ** ***


```
class PerceptionState
```

<br />

*** ** * ** ***

State of ARCore for Jetpack XR at a specific point in time.

Can be obtained from `https://developer.android.com/reference/kotlin/androidx/xr/arcore/package-summary#(androidx.xr.runtime.CoreState).perceptionState()`.

## Summary

| ### Public functions |
|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#hashCode()()` |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/ArDevice.State` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#arDeviceState()` the state of the currently tracked device at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()` |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Geospatial.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#geospatialState()` the state of the geospatial service at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Depth.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#leftDepthState()` the state of the left depth map at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Eye.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#leftEyeState()` the state of the user's left eye at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Hand.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#leftHandState()` the state of the left hand at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/RenderViewpoint.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#leftRenderViewpointState()` the state of the left viewpoint used for rendering at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Depth.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#monoDepthState()` the state of the mono depth map at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/RenderViewpoint.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#monoRenderViewpointState()` the state of the mono viewpoint used for rendering at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Depth.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#rightDepthState()` the state of the right depth map at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Eye.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#rightEyeState()` the state of the user's right eye at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Hand.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#rightHandState()` the state of the right hand at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/RenderViewpoint.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#rightRenderViewpointState()` the state of the right viewpoint used for rendering at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.time/-comparable-time-mark/index.html` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()` the time at which the state was computed |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/kotlin/androidx/xr/arcore/Trackable.State>` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#trackableStates()` the state of the trackables at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()` that are currently being tracked |
| `https://developer.android.com/reference/kotlin/androidx/xr/arcore/Face.State?` | `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#userFaceState()` the state of the user's face at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |

## Public functions

### equals

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

```
open fun hashCode(): Int
```

## Public properties

### arDeviceState

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

```
val arDeviceState: ArDevice.State
```

the state of the currently tracked device at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`

### geospatialState

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

```
val geospatialState: Geospatial.State?
```

the state of the geospatial service at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### leftDepthState

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

```
val leftDepthState: Depth.State?
```

the state of the left depth map at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### leftEyeState

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

```
val leftEyeState: Eye.State?
```

the state of the user's left eye at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### leftHandState

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

```
val leftHandState: Hand.State?
```

the state of the left hand at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### leftRenderViewpointState

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

```
val leftRenderViewpointState: RenderViewpoint.State?
```

the state of the left viewpoint used for rendering at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### monoDepthState

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

```
val monoDepthState: Depth.State?
```

the state of the mono depth map at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### monoRenderViewpointState

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

```
val monoRenderViewpointState: RenderViewpoint.State?
```

the state of the mono viewpoint used for rendering at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### rightDepthState

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

```
val rightDepthState: Depth.State?
```

the state of the right depth map at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### rightEyeState

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

```
val rightEyeState: Eye.State?
```

the state of the user's right eye at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### rightHandState

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

```
val rightHandState: Hand.State?
```

the state of the right hand at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### rightRenderViewpointState

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

```
val rightRenderViewpointState: RenderViewpoint.State?
```

the state of the right viewpoint used for rendering at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform

### timeMark

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

```
val timeMark: ComparableTimeMark
```

the time at which the state was computed

### trackableStates

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

```
val trackableStates: Collection<Trackable.State>
```

the state of the trackables at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()` that are currently being tracked

### userFaceState

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

```
val userFaceState: Face.State?
```

the state of the user's face at the `https://developer.android.com/reference/kotlin/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform