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

Classes

struct  VuVuMarkConfig
 Configuration for creating a VuMark Observer. More...
 
struct  VuVuMarkObservationTemplateInfo
 Template info for a VuMark from its respective observation. More...
 
struct  VuVuMarkObservationInstanceInfo
 Instance info for a VuMark from its respective observation. More...
 
struct  VuVuMarkObservationInfo
 VuMark-specific observation information. More...
 

Enumerations

enum  VuVuMarkCreationError : int32_t {
  VU_VUMARK_CREATION_ERROR_NONE = 0x0 ,
  VU_VUMARK_CREATION_ERROR_INTERNAL = 0x1 ,
  VU_VUMARK_CREATION_ERROR_AUTOACTIVATION_FAILED = 0x2 ,
  VU_VUMARK_CREATION_ERROR_DATABASE_LOAD_ERROR = 0x3 ,
  VU_VUMARK_CREATION_ERROR_INVALID_TARGET_NAME = 0x4 ,
  VU_VUMARK_CREATION_ERROR_TARGET_NOT_FOUND ,
  VU_VUMARK_CREATION_ERROR_INVALID_SCALE = 0x6 ,
  VU_VUMARK_CREATION_ERROR_DATABASE_XML_REQUIRED = 0x7
}
 Configuration error for VuMark creation. More...
 
enum  VuVuMarkObservationStatusInfo : int32_t {
  VU_VUMARK_OBSERVATION_STATUS_INFO_NORMAL = 0x1 ,
  VU_VUMARK_OBSERVATION_STATUS_INFO_NOT_OBSERVED = 0x2 ,
  VU_VUMARK_OBSERVATION_STATUS_INFO_RELOCALIZING
}
 Status info for the pose of VuMark observations. More...
 
enum  VuMarkInstanceIdType : int32_t {
  VU_VUMARK_INSTANCE_ID_BYTE = 0x1 ,
  VU_VUMARK_INSTANCE_ID_STRING = 0x2 ,
  VU_VUMARK_INSTANCE_ID_NUMERIC = 0x3
}
 Status info for VuMark observation. More...
 
enum  { VU_OBSERVER_VUMARK_TYPE = 0x4 }
 
enum  { VU_OBSERVATION_VUMARK_TYPE = 0x4 }
 

Functions

VuVuMarkConfig vuVuMarkConfigDefault ()
 Default VuMark configuration.
 
VuResult vuEngineCreateVuMarkObserver (VuEngine *engine, VuObserver **observer, const VuVuMarkConfig *config, VuVuMarkCreationError *errorCode)
 Create a VuMark observer from a database.
 
VuResult vuEngineGetVuMarkObservers (const VuEngine *engine, VuObserverList *observerList)
 Get all VuMark observers.
 
VuResult vuVuMarkObserverGetTargetUniqueId (const VuObserver *observer, const char **targetId)
 Get the unique id associated to the template from a VuMark observer.
 
VuResult vuVuMarkObserverGetTemplateName (const VuObserver *observer, const char **templateName)
 Get the name associated to the VuMark template from a VuMark observer.
 
VuResult vuVuMarkObserverGetTemplateAABB (const VuObserver *observer, VuAABB *bbox)
 Get the axis-aligned bounding box associated to the VuMark template from a VuMark observer, relative to its frame of reference.
 
VuResult vuVuMarkObserverGetTemplateSize (const VuObserver *observer, VuVector2F *size)
 Get the size in meters associated to the VuMark template from a VuMark observer.
 
VuResult vuVuMarkObserverSetTemplateScale (VuObserver *observer, float scale)
 Re-scale the VuMark template size associated to a VuMark observer.
 
VuResult vuVuMarkObserverGetTemplatePoseOffset (const VuObserver *observer, VuMatrix44F *poseOffset)
 Get the pose transformation offset associated to the VuMark template from a VuMark observer.
 
VuResult vuVuMarkObserverSetTemplatePoseOffset (VuObserver *observer, const VuMatrix44F *poseOffset)
 Set the pose transformation offset associated to the VuMark template from a VuMark observer.
 
VuResult vuVuMarkObserverGetUserData (const VuObserver *observer, const char **userData)
 Get the user data for a VuMark template from a VuMark observer's underlying database.
 
VuResult vuVuMarkObserverGetOrigin (const VuObserver *observer, VuVector2F *origin)
 Get the position of the origin of a VuMark template from a VuMark observer.
 
VuResult vuVuMarkObserverGetTrackingFromRuntimeAppearance (const VuObserver *observer, VuBool *isEnabled)
 Get whether tracking should use the VuMark template's background image or not.
 
VuResult vuVuMarkObserverSetTrackingFromRuntimeAppearance (VuObserver *observer, VuBool enable)
 Set whether tracking should use the VuMark template's background image or not.
 
VuResult vuVuMarkObserverSetTrackingOptimization (VuObserver *observer, VuTrackingOptimization optimization)
 Set the tracking optimization of the target associated to the VuMark observer.
 
VuResult vuVuMarkObserverGetTrackingOptimization (const VuObserver *observer, VuTrackingOptimization *optimization)
 Get the tracking optimization of the target associated to the VuMark observer.
 
VuResult vuStateGetVuMarkObservations (const VuState *state, VuObservationList *observationList)
 Get all VuMark observations.
 
VuResult vuVuMarkObservationGetStatusInfo (const VuObservation *observation, VuVuMarkObservationStatusInfo *statusInfo)
 Get status info associated to the pose status of a VuMark observation.
 
VuResult vuVuMarkObservationGetInfo (const VuObservation *observation, VuVuMarkObservationInfo *info)
 Get VuMark-specific info associated with a VuMark observation.
 
VuResult vuVuMarkObservationGetTemplateInfo (const VuObservation *observation, VuVuMarkObservationTemplateInfo *templateInfo)
 Get VuMark template info associated with a VuMark observation.
 
VuResult vuVuMarkObservationGetInstanceInfo (const VuObservation *observation, VuVuMarkObservationInstanceInfo *instanceInfo)
 Get VuMark instance info associated with a VuMark observation.
 
VuResult vuVuMarkObservationGetInstanceImage (const VuObservation *observation, VuImage **instanceImage)
 Get VuMark instance image info associated with a VuMark observation.
 

Detailed Description

Enumeration Type Documentation

◆ VuVuMarkCreationError

enum VuVuMarkCreationError : int32_t

Configuration error for VuMark creation.

Enumerator
VU_VUMARK_CREATION_ERROR_NONE 

No error.

VU_VUMARK_CREATION_ERROR_INTERNAL 

An internal error occurred while creating the observer.

VU_VUMARK_CREATION_ERROR_AUTOACTIVATION_FAILED 

Observer auto-activation failed.

VU_VUMARK_CREATION_ERROR_DATABASE_LOAD_ERROR 

Database file not found or an error occurred when reading data from it (potentially unknown or corrupted file)

VU_VUMARK_CREATION_ERROR_INVALID_TARGET_NAME 

Invalid target name.

VU_VUMARK_CREATION_ERROR_TARGET_NOT_FOUND 

Target with the specified name AND matching target type for this observer not found in database.

VU_VUMARK_CREATION_ERROR_INVALID_SCALE 

Invalid value passed to the scale parameter.

VU_VUMARK_CREATION_ERROR_DATABASE_XML_REQUIRED 

The VuMark could not be loaded from the DAT file directly, because the database only supports loading from the database XML file. Only VuMark databases created for Vuforia 10.15 and newer support loading from the DAT file directly. Older databases must still be loaded via the database XML file.

◆ VuVuMarkObservationStatusInfo

Status info for the pose of VuMark observations.

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

Note
All enum values defined by VuObservationPoseStatus may be reported as part of a VuMark observation.
See also
VuPoseInfo
VuObservationPoseStatus
vuObservationHasPoseInfo
vuObservationGetPoseInfo
vuStateGetObservationsWithPoseInfo
vuStateGetObservationsWithPoseInfo
Enumerator
VU_VUMARK_OBSERVATION_STATUS_INFO_NORMAL 

Tracking is working normally. Reported for VU_OBSERVATION_POSE_STATUS_TRACKED or VU_OBSERVATION_POSE_STATUS_EXTENDED_TRACKED.

VU_VUMARK_OBSERVATION_STATUS_INFO_NOT_OBSERVED 

Target is not observed. Reported for VU_OBSERVATION_POSE_STATUS_NO_POSE.

VU_VUMARK_OBSERVATION_STATUS_INFO_RELOCALIZING 

The tracking system is currently relocalizing. Reported for VU_OBSERVATION_POSE_STATUS_LIMITED.

◆ VuMarkInstanceIdType

enum VuMarkInstanceIdType : int32_t

Status info for VuMark observation.

Enumerator
VU_VUMARK_INSTANCE_ID_BYTE 

Generic byte data, stored in little-endian order in the buffer (e.g. an ID of 0x123456 would appear as { 0x56, 0x34, 0x12 })

VU_VUMARK_INSTANCE_ID_STRING 

Printable string data in ASCII.

VU_VUMARK_INSTANCE_ID_NUMERIC 

Numeric data, not larger than a 64 bit unsigned long long.

◆ anonymous enum

anonymous enum
Enumerator
VU_OBSERVER_VUMARK_TYPE 

Type identifier for VuMark observers.

◆ anonymous enum

anonymous enum
Enumerator
VU_OBSERVATION_VUMARK_TYPE 

Type identifier for VuMark observations.

Function Documentation

◆ vuVuMarkConfigDefault()

VuVuMarkConfig vuVuMarkConfigDefault ( )

Default VuMark configuration.

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

◆ vuEngineCreateVuMarkObserver()

VuResult vuEngineCreateVuMarkObserver ( VuEngine * engine,
VuObserver ** observer,
const VuVuMarkConfig * config,
VuVuMarkCreationError * errorCode )

Create a VuMark observer from a database.

Note
Note that loading the database may take a significant amount of time, it is therefore recommended that this method is not called on the main/UI thread.

◆ vuVuMarkObserverGetTemplatePoseOffset()

VuResult vuVuMarkObserverGetTemplatePoseOffset ( const VuObserver * observer,
VuMatrix44F * poseOffset )

Get the pose transformation offset associated to the VuMark template from a VuMark observer.

Note
The pose offset is represented as a pose matrix using the OpenGL convention.

◆ vuVuMarkObserverSetTemplatePoseOffset()

VuResult vuVuMarkObserverSetTemplatePoseOffset ( VuObserver * observer,
const VuMatrix44F * poseOffset )

Set the pose transformation offset associated to the VuMark template from a VuMark observer.

Note
The pose offset is represented as a pose matrix using the OpenGL convention.

◆ vuVuMarkObserverSetTrackingOptimization()

VuResult vuVuMarkObserverSetTrackingOptimization ( VuObserver * observer,
VuTrackingOptimization optimization )

Set the tracking optimization of the target associated to the VuMark observer.

This setting modifies the internal target tracking parameters to optimize the tracking quality and robustness.

Note
Only VU_TRACKING_OPTIMIZATION_DEFAULT and VU_TRACKING_OPTIMIZATION_AR_CONTROLLER are allowed. This function will fail if VU_TRACKING_OPTIMIZATION_LOW_FEATURE_OBJECTS is provided.
This operation will reset any tracking operation for the VuMark observer. It is recommended to use this function before starting the Vuforia Engine.

◆ vuVuMarkObservationGetStatusInfo()

VuResult vuVuMarkObservationGetStatusInfo ( const VuObservation * observation,
VuVuMarkObservationStatusInfo * statusInfo )

Get status info associated to the pose status of a VuMark observation.

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

◆ vuVuMarkObservationGetInstanceImage()

VuResult vuVuMarkObservationGetInstanceImage ( const VuObservation * observation,
VuImage ** instanceImage )

Get VuMark instance image info associated with a VuMark observation.

Note
The lifetime of the returned image is bound to the lifetime of the observation.