All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
VuPlatformARCoreInfo Struct Reference

Public Attributes

void * arSession
 ARCore session, pointer of type "ArSession".
 
void * arFrame
 ARCore frame, pointer of type "ArFrame".
 

Detailed Description

ARCore-specific info for the platform-based Vuforia Fusion Provider.

Note
The pointers contained in this data structure are owned by Vuforia Engine and should be used with caution by the developer. For example do not release the session, do not pause the session, do not reconfigure it, doing so will cause Vuforia Engine's handling of the information from the provider to fail in undefined ways.

Valid values for the pointers will be available only after Vuforia Engine has been started and the Vuforia State contains camera frame data.

The values for the pointers will remain valid until Vuforia Engine is stopped, either by calling vuEngineStop explicitly or when an asynchronous life-cycle error is reported via the VuErrorHandler callback with error codes VU_ENGINE_ERROR_INVALID_LICENSE and VU_ENGINE_ERROR_CAMERA_DEVICE_LOST.

On receiving a VuErrorHandler callback with either of the errors VU_ENGINE_ERROR_INVALID_LICENSE and VU_ENGINE_ERROR_CAMERA_DEVICE_LOST, the pointers may already be invalid inside the callback. The App must therefore not make use of the pointers inside the callback, and return the control to Vuforia Engine without delay. The pointers can be re-requested after Vuforia Engine has been (re-)started.

On ARCore the pointers might additionally be invalidated without Vuforia Engine being stopped. This will be reported through the error code VU_ENGINE_ERROR_PLATFORM_FUSION_PROVIDER_INFO_INVALIDATED of the VuErrorHandler callback.

Users are advised to always register for the VuErrorHandler via the VuErrorHandlerConfig when using the Fusion Provider pointers and handle potential asynchronous invalidation of these pointers appropriately.

Member Data Documentation

◆ arSession

void* arSession

ARCore session, pointer of type "ArSession".

The caller needs to cast the arSession pointer to the appropriate type as follows: ArSession* session = static_cast<ArSession*>(info.arSession);

◆ arFrame

void* arFrame

ARCore frame, pointer of type "ArFrame".

The caller needs to cast the arFrame pointer to the appropriate type as follows: ArFrame* frame = static_cast<ArFrame*>(info.arFrame);

Do not update the ArSession to get the ArFrame, doing so will cause Vuforia Engine to enter an undefined state.