Trackable

Something that can be tracked and that Anchors can be attached to.

Summary

Enumerations

ArTrackableType{
  AR_TRACKABLE_BASE_TRACKABLE = 0x41520100,
  AR_TRACKABLE_PLANE = 0x41520101,
  AR_TRACKABLE_POINT = 0x41520102,
  AR_TRACKABLE_NOT_VALID = 0
}
enum
Object types for heterogeneous query/update lists.

Typedefs

ArTrackable typedef
struct ArTrackable_
Trackable base type (reference type, long-lived).
ArTrackableList typedef
struct ArTrackableList_
A list of ArTrackables (value type).

Functions

ArTrackableList_acquireItem(const ArSession *session, const ArTrackableList *trackable_list, int32_t index, ArTrackable **out_trackable)
void
Acquires a reference to an indexed entry in the list.
ArTrackableList_create(const ArSession *session, ArTrackableList **out_trackable_list)
void
Creates a trackable list object.
ArTrackableList_destroy(ArTrackableList *trackable_list)
void
Releases the memory used by a trackable list object, along with all the anchor references it holds.
ArTrackableList_getSize(const ArSession *session, const ArTrackableList *trackable_list, int32_t *out_size)
void
Retrieves the number of trackables in this list.
ArTrackable_acquireNewAnchor(ArSession *session, ArTrackable *trackable, ArPose *pose, ArAnchor **out_anchor)
Creates an Anchor at the given pose in the world coordinate space, attached to this Trackable, and acquires a reference to it.
ArTrackable_getAnchors(const ArSession *session, const ArTrackable *trackable, ArAnchorList *out_anchor_list)
void
Gets the set of anchors attached to this trackable.
ArTrackable_getTrackingState(const ArSession *session, const ArTrackable *trackable, ArTrackingState *out_tracking_state)
void
Retrieves the current state of ARCore's knowledge of the pose of this trackable.
ArTrackable_getType(const ArSession *session, const ArTrackable *trackable, ArTrackableType *out_trackable_type)
void
Retrieves the type of the trackable. See ArTrackableType for valid types.
ArTrackable_release(ArTrackable *trackable)
void
Releases a reference to a trackable.

Enumerations

ArTrackableType

 ArTrackableType

Object types for heterogeneous query/update lists.

Properties
AR_TRACKABLE_BASE_TRACKABLE

The base Trackable type.

Can be passed to ArSession_getAllTrackables() and ArFrame_getUpdatedTrackables() as the filter_type to get all/updated Trackables of all types.

AR_TRACKABLE_NOT_VALID

An invalid Trackable type.

AR_TRACKABLE_PLANE

The ArPlane subtype of Trackable.

AR_TRACKABLE_POINT

The ArPoint subtype of Trackable.

Typedefs

ArTrackable

struct ArTrackable_ ArTrackable

Trackable base type (reference type, long-lived).

ArTrackableList

struct ArTrackableList_ ArTrackableList

A list of ArTrackables (value type).

Allocate with ArTrackableList_create()
Release with ArTrackableList_destroy()

Functions

ArTrackableList_acquireItem

void ArTrackableList_acquireItem(
  const ArSession *session,
  const ArTrackableList *trackable_list,
  int32_t index,
  ArTrackable **out_trackable
)

Acquires a reference to an indexed entry in the list.

This call must eventually be matched with a call to ArTrackable_release().

ArTrackableList_create

void ArTrackableList_create(
  const ArSession *session,
  ArTrackableList **out_trackable_list
)

Creates a trackable list object.

ArTrackableList_destroy

void ArTrackableList_destroy(
  ArTrackableList *trackable_list
)

Releases the memory used by a trackable list object, along with all the anchor references it holds.

ArTrackableList_getSize

void ArTrackableList_getSize(
  const ArSession *session,
  const ArTrackableList *trackable_list,
  int32_t *out_size
)

Retrieves the number of trackables in this list.

ArTrackable_acquireNewAnchor

ArStatus ArTrackable_acquireNewAnchor(
  ArSession *session,
  ArTrackable *trackable,
  ArPose *pose,
  ArAnchor **out_anchor
)

Creates an Anchor at the given pose in the world coordinate space, attached to this Trackable, and acquires a reference to it.

The type of Trackable will determine the semantics of attachment and how the Anchor's pose will be updated to maintain this relationship. Note that the relative offset between the pose of multiple Anchors attached to a Trackable may adjust slightly over time as ARCore updates its model of the world.

Details
Returns
AR_SUCCESS or any of:

ArTrackable_getAnchors

void ArTrackable_getAnchors(
  const ArSession *session,
  const ArTrackable *trackable,
  ArAnchorList *out_anchor_list
)

Gets the set of anchors attached to this trackable.

Details
Parameters
session
The ARCore session
trackable
The trackable to query the anchors of.
out_anchor_list
The list to fill. This list must have already been allocated with ArAnchorList_create(). If previously used, the list will first be cleared.

ArTrackable_getTrackingState

void ArTrackable_getTrackingState(
  const ArSession *session,
  const ArTrackable *trackable,
  ArTrackingState *out_tracking_state
)

Retrieves the current state of ARCore's knowledge of the pose of this trackable.

ArTrackable_getType

void ArTrackable_getType(
  const ArSession *session,
  const ArTrackable *trackable,
  ArTrackableType *out_trackable_type
)

Retrieves the type of the trackable. See ArTrackableType for valid types.

ArTrackable_release

void ArTrackable_release(
  ArTrackable *trackable
)

Releases a reference to a trackable.

This does not mean that the trackable will necessarily stop tracking. The same trackable may still be included in from other calls, for example ArSession_getAllTrackables().

This method may safely be called with nullptr - it will do nothing.

Send feedback about...