AugmentedObject


public final class AugmentedObject implements Trackable


A representation of a physical object in real space.

Augmented Objects are detected by the XR system and provide information about their pose, extents, and label.

The pose represents the position and orientation of the center point of the object.

The extents describe the size of the object, as axis-aligned half-widths.

The label is an instance of androidx.xr.runtime.AugmentedObjectCategory that describes what the object is.

Summary

Nested types

public final class AugmentedObject.State implements Trackable.State

The representation of the current state of an AugmentedObject.

Public methods

@NonNull AnchorCreateResult

Creates an Anchor that is attached to this trackable, using the given initial pose.

@NonNull StateFlow<@NonNull AugmentedObject.State>

A StateFlow that contains the latest State of the AugmentedObject.

static final @NonNull StateFlow<@NonNull Collection<@NonNull AugmentedObject>>

Subscribes to a flow of AugmentedObjects.

Public methods

createAnchor

public @NonNull AnchorCreateResult createAnchor(@NonNull Pose pose)

Creates an Anchor that is attached to this trackable, using the given initial pose.

Throws
kotlin.IllegalStateException

if Session.config.augmentedObjectCategories is empty.

getState

public @NonNull StateFlow<@NonNull AugmentedObject.StategetState()

A StateFlow that contains the latest State of the AugmentedObject.

subscribe

Added in 1.0.0-alpha06
public static final @NonNull StateFlow<@NonNull Collection<@NonNull AugmentedObject>> subscribe(@NonNull Session session)

Subscribes to a flow of AugmentedObjects.

The flow emits a new collection of AugmentedObjects whenever the underlying XR system detects new objects or updates the state of existing ones. This typically happens on each frame update of the XR system.

Parameters
@NonNull Session session

The Session to subscribe to.