All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
Device Pose Feature

Classes

struct  VuDevicePoseConfig
 Configuration for creating a Device Pose observer. More...
 

Enumerations

enum  VuDevicePoseCreationError : int32_t {
  VU_DEVICE_POSE_CREATION_ERROR_NONE = 0x0 ,
  VU_DEVICE_POSE_CREATION_ERROR_INTERNAL = 0x1 ,
  VU_DEVICE_POSE_CREATION_ERROR_AUTOACTIVATION_FAILED = 0x2 ,
  VU_DEVICE_POSE_CREATION_ERROR_FEATURE_NOT_SUPPORTED = 0x3
}
 Configuration error for Device Pose creation. More...
 
enum  VuDevicePoseObservationStatusInfo : int32_t {
  VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_NORMAL ,
  VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_NOT_OBSERVED ,
  VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_UNKNOWN ,
  VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_INITIALIZING ,
  VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_RELOCALIZING ,
  VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_EXCESSIVE_MOTION ,
  VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_INSUFFICIENT_FEATURES ,
  VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_INSUFFICIENT_LIGHT
}
 Status info for the pose of Device Pose observations. More...
 
enum  { VU_OBSERVER_DEVICE_POSE_TYPE = 0x8 }
 
enum  { VU_OBSERVATION_DEVICE_POSE_TYPE = 0x8 }
 

Functions

VuDevicePoseConfig vuDevicePoseConfigDefault ()
 Default Device Pose configuration.
 
VuResult vuEngineCreateDevicePoseObserver (VuEngine *engine, VuObserver **observer, const VuDevicePoseConfig *config, VuDevicePoseCreationError *errorCode)
 Create a Device Pose observer.
 
VuResult vuEngineGetDevicePoseObservers (const VuEngine *engine, VuObserverList *observerList)
 Get all Device Pose observers.
 
VuResult vuStateGetDevicePoseObservations (const VuState *state, VuObservationList *observationList)
 Get all Device Pose observations.
 
VuResult vuDevicePoseObservationGetStatusInfo (const VuObservation *observation, VuDevicePoseObservationStatusInfo *statusInfo)
 Get status info associated to the pose status of a Device Pose observation.
 
VuResult vuDevicePoseObserverSetStaticMode (VuObserver *observer, VuBool staticModeEnabled)
 Set the Device Pose to static.
 
VuResult vuDevicePoseObserverGetStaticMode (VuObserver *observer, VuBool *staticModeEnabled)
 Get if the Device Pose is set to static.
 
VuResult vuEngineResetWorldTracking (VuEngine *engine)
 Reset world tracking.
 

Detailed Description

An activated Device Pose observer will always output a reason for an observation with a NO_POSE status in its status info.

Enumeration Type Documentation

◆ VuDevicePoseCreationError

enum VuDevicePoseCreationError : int32_t

Configuration error for Device Pose creation.

Enumerator
VU_DEVICE_POSE_CREATION_ERROR_NONE 

No error.

VU_DEVICE_POSE_CREATION_ERROR_INTERNAL 

An internal error occurred while creating the observer.

VU_DEVICE_POSE_CREATION_ERROR_AUTOACTIVATION_FAILED 

An error occurred while auto-activating the observer.

VU_DEVICE_POSE_CREATION_ERROR_FEATURE_NOT_SUPPORTED 

Device tracking functionality is not supported on the current device.

◆ VuDevicePoseObservationStatusInfo

Status info for the pose of Device Pose observations.

Provides further information on the pose status reported as part of VuPoseInfo. The status info is retrieved with vuDevicePoseObservationGetStatusInfo.

Note
All enum values defined by VuObservationPoseStatus may be reported as part of a Device Pose observation, except VU_OBSERVATION_POSE_STATUS_EXTENDED_TRACKED.
See also
VuPoseInfo
VuObservationPoseStatus
vuObservationHasPoseInfo
vuObservationGetPoseInfo
vuStateGetObservationsWithPoseInfo
vuDevicePoseObservationGetStatusInfo
Enumerator
VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_NORMAL 

Tracking is working normally. Reported for VU_OBSERVATION_POSE_STATUS_TRACKED.

VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_NOT_OBSERVED 

Device pose is not observed. Reported for VU_OBSERVATION_POSE_STATUS_NO_POSE.

VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_UNKNOWN 

Unknown reason for VU_OBSERVATION_POSE_STATUS_NO_POSE or VU_OBSERVATION_POSE_STATUS_LIMITED.

VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_INITIALIZING 

The tracking system is currently initializing. Reported for VU_OBSERVATION_POSE_STATUS_NO_POSE or VU_OBSERVATION_POSE_STATUS_LIMITED.

VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_RELOCALIZING 

The tracking system is currently relocalizing. Reported for VU_OBSERVATION_POSE_STATUS_NO_POSE or VU_OBSERVATION_POSE_STATUS_LIMITED.

VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_EXCESSIVE_MOTION 

The device is moving too fast. Reported for VU_OBSERVATION_POSE_STATUS_LIMITED.

VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_INSUFFICIENT_FEATURES 

There are insufficient features available in the scene. Reported for VU_OBSERVATION_POSE_STATUS_LIMITED.

VU_DEVICE_POSE_OBSERVATION_STATUS_INFO_INSUFFICIENT_LIGHT 

Not enough light for accurate tracking. Reported for VU_OBSERVATION_POSE_STATUS_LIMITED.

◆ anonymous enum

anonymous enum
Enumerator
VU_OBSERVER_DEVICE_POSE_TYPE 

Type identifier for Device Pose observers.

◆ anonymous enum

anonymous enum
Enumerator
VU_OBSERVATION_DEVICE_POSE_TYPE 

Type identifier for Device Pose observations.

Function Documentation

◆ vuDevicePoseConfigDefault()

VuDevicePoseConfig vuDevicePoseConfigDefault ( )

Default Device Pose configuration.

Note
Use this function to initialize the VuDevicePoseConfig data structure with default values.

◆ vuDevicePoseObservationGetStatusInfo()

VuResult vuDevicePoseObservationGetStatusInfo ( const VuObservation * observation,
VuDevicePoseObservationStatusInfo * statusInfo )

Get status info associated to the pose status of a Device Pose observation.

The status info is intended to be used in combination with VuObservationPoseStatus retrieved via vuObservationGetPoseInfo.

◆ vuDevicePoseObserverSetStaticMode()

VuResult vuDevicePoseObserverSetStaticMode ( VuObserver * observer,
VuBool staticModeEnabled )

Set the Device Pose to static.

Configures the Device Pose for statically mounted devices, e.g. a mobile device on a tripod looking at an object. In such a scenario, standard Vuforia Fusion tracking will not succeed to initialize for lack of movement. This setting configures the device tracker to return static poses to stabilize tracking e.g. in case of the object being occluded.

Note
Changing the static mode will internally also trigger a device tracking reset and re-initialization. All Device Pose observations are reset to VU_OBSERVATION_POSE_STATUS_NO_POSE and tracking is lost on any targets tracked by extended tracking. Any anchors created during the session are destroyed.

◆ vuEngineResetWorldTracking()

VuResult vuEngineResetWorldTracking ( VuEngine * engine)

Reset world tracking.

Note
This resets and re-initializes device tracking. All Device Pose observations are reset to VU_OBSERVATION_POSE_STATUS_NO_POSE and tracking is lost on any targets tracked by extended tracking. Any anchors created during the session are destroyed.