# 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)

*** ** * ** ***


```
public final class PerceptionState
```

<br />

*** ** * ** ***

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

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

## Summary

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/arcore/ArDevice.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getArDeviceState()()` the state of the currently tracked device at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()` |
| `final https://developer.android.com/reference/androidx/xr/arcore/Geospatial.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getGeospatialState()()` the state of the geospatial service at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/Depth.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getLeftDepthState()()` the state of the left depth map at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/Eye.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getLeftEyeState()()` the state of the user's left eye at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/Hand.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getLeftHandState()()` the state of the left hand at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/RenderViewpoint.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getLeftRenderViewpointState()()` the state of the left viewpoint used for rendering at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/Depth.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getMonoDepthState()()` the state of the mono depth map at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/RenderViewpoint.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getMonoRenderViewpointState()()` the state of the mono viewpoint used for rendering at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/Depth.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getRightDepthState()()` the state of the right depth map at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/Eye.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getRightEyeState()()` the state of the user's right eye at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/Hand.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getRightHandState()()` the state of the right hand at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final https://developer.android.com/reference/androidx/xr/arcore/RenderViewpoint.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getRightRenderViewpointState()()` the state of the right viewpoint used for rendering at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.time/-comparable-time-mark/index.html` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getTimeMark()()` the time at which the state was computed |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Collection.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/arcore/Trackable.State>` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getTrackableStates()()` the state of the trackables at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()` that are currently being tracked |
| `final https://developer.android.com/reference/androidx/xr/arcore/Face.State` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#getUserFaceState()()` the state of the user's face at the `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#timeMark()`, or null when not supported by the current platform |
| `int` | `https://developer.android.com/reference/androidx/xr/arcore/PerceptionState#hashCode()()` |

## Public methods

### equals

```
public boolean equals(Object other)
```

### getArDeviceState

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

```
public final @NonNull ArDevice.State getArDeviceState()
```

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

### getGeospatialState

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

```
public final Geospatial.State getGeospatialState()
```

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

### getLeftDepthState

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

```
public final Depth.State getLeftDepthState()
```

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

### getLeftEyeState

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

```
public final Eye.State getLeftEyeState()
```

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

### getLeftHandState

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

```
public final Hand.State getLeftHandState()
```

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

### getLeftRenderViewpointState

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

```
public final RenderViewpoint.State getLeftRenderViewpointState()
```

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

### getMonoDepthState

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

```
public final Depth.State getMonoDepthState()
```

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

### getMonoRenderViewpointState

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

```
public final RenderViewpoint.State getMonoRenderViewpointState()
```

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

### getRightDepthState

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

```
public final Depth.State getRightDepthState()
```

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

### getRightEyeState

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

```
public final Eye.State getRightEyeState()
```

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

### getRightHandState

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

```
public final Hand.State getRightHandState()
```

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

### getRightRenderViewpointState

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

```
public final RenderViewpoint.State getRightRenderViewpointState()
```

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

### getTimeMark

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

```
public final @NonNull ComparableTimeMark getTimeMark()
```

the time at which the state was computed

### getTrackableStates

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

```
public final @NonNull Collection<@NonNull Trackable.State> getTrackableStates()
```

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

### getUserFaceState

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

```
public final Face.State getUserFaceState()
```

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

### hashCode

```
public int hashCode()
```