ArTrackable
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_AUGMENTED_IMAGE
= 0x41520104,
AR_TRACKABLE_FACE
= 0x41520105,
AR_TRACKABLE_STREETSCAPE_GEOMETRY
= 0x41520103,
AR_TRACKABLE_EARTH
= 0x41520109,
AR_TRACKABLE_DEPTH_POINT
= 0x41520111,
AR_TRACKABLE_INSTANT_PLACEMENT_POINT
= 0x41520112,
AR_TRACKABLE_NOT_VALID
= 0
}
Typedefs
Functions
ArTrackableList_acquireItem
(const ArSession
*session, const ArTrackableList
*trackable_list, int32_t index, ArTrackable
**out_trackable)
void
ArTrackableList_create
(const ArSession
*session, ArTrackableList
**out_trackable_list)
void
ArTrackableList_destroy
( ArTrackableList
*trackable_list)
void
ArTrackableList_getSize
(const ArSession
*session, const ArTrackableList
*trackable_list, int32_t *out_size)
void
ArTrackable_acquireNewAnchor
( ArSession
*session, ArTrackable
*trackable, ArPose
*pose, ArAnchor
**out_anchor)
ArTrackable_getAnchors
(const ArSession
*session, const ArTrackable
*trackable, ArAnchorList
*out_anchor_list)
void
ArTrackable_getTrackingState
(const ArSession
*session, const ArTrackable
*trackable, ArTrackingState
*out_tracking_state)
void
ArTrackable_getType
(const ArSession
*session, const ArTrackable
*trackable, ArTrackableType
*out_trackable_type)
void
ArTrackable_release
( ArTrackable
*trackable)
void
Enumerations
ArTrackableType
ArTrackableType
Object types for heterogeneous query/update lists.
The ArAugmentedImage
subtype of 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.
On supported devices, trackable type for depth image based hit results returned by ArFrame_hitTest
when ArConfig_setDepthMode
has been set to AR_DEPTH_MODE_AUTOMATIC
.
Trackable type for ArEarth
.
Trackable type for faces.
Trackable type for results retrieved from ArFrame_hitTestInstantPlacement
.
This trackable type is only available when when ArConfig_setInstantPlacementMode
is AR_INSTANT_PLACEMENT_MODE_LOCAL_Y_UP
.
An invalid Trackable type.
The ArPlane
subtype of Trackable.
The ArPoint
subtype of Trackable.
Trackable type for Streetscape Geometry.
Typedefs
ArTrackableList
struct ArTrackableList_ ArTrackableList
A list of ArTrackable
's
( value type
).
- Create 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.
AR_SUCCESS
or any of: -
AR_ERROR_NOT_TRACKING
if the trackable's tracking state was notAR_TRACKING_STATE_TRACKING
-
AR_ERROR_SESSION_PAUSED
if the session was paused -
AR_ERROR_RESOURCE_EXHAUSTED
if too many anchors exist -
AR_ERROR_ILLEGAL_STATE
if this trackable doesn't support anchors
ArTrackable_getAnchors
void ArTrackable_getAnchors ( const ArSession * session , const ArTrackable * trackable , ArAnchorList * out_anchor_list )
Gets the set of anchors attached to this trackable.
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.
Note: Starting in ARCore 1.12, changing the active camera config using ArSession_setCameraConfig
may cause the tracking state on certain devices to become permanently AR_TRACKING_STATE_PAUSED
. For consistent behavior across all supported devices, release any previously created trackables when setting a new camera config.
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 function may safely be called with NULL
- it will do nothing.