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

Public Attributes

void * arSession
 ARKit session, pointer of type "ARSession".
 
void * arFrame
 ARKit frame, pointer of type "ARFrame".
 

Detailed Description

ARKit-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 ARSession pointer 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.

The ARFrame pointer will remain valid only for the duration of one Vuforia Engine frame. The current ARFrame can, however, always be obtained directly from the ARSession, using arSession.currentFrame.

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.

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

ARKit session, pointer of type "ARSession".

The caller needs to cast the arSession pointer to the appropriate type as follows: ARSession* session = (__bridge ARSession*)info.arSession;

◆ arFrame

void* arFrame

ARKit frame, pointer of type "ARFrame".

The caller needs to cast the arFrame pointer to the appropriate type as follows: ARFrame* frame = (__bridge ARFrame*)info.arFrame;

Alternatively the frame can also be obtained directly from the ARSession, using arSession.currentFrame;