C++ Java Unity
C++ Reference
Vuforia::Driver Namespace Reference

Classes

class  AnchorCallback
 Interface to notify about anchor updates. More...
 
class  CameraCallback
 Interface that will be used to deliver camera frames to Vuforia. More...
 
class  ExternalCamera
 Interface used by Vuforia to interact with the external camera implementation. More...
 
class  ExternalPositionalDeviceTracker
 Interface used by Vuforia to interact with the external positional device tracker implementation. More...
 
class  PoseCallback
 Interface that will be used to deliver pose(s) to Vuforia. More...
 
class  VuforiaDriver
 Interface used by Vuforia to interact with the Vuforia Driver implementation. More...
 

Enumerations

enum  PixelFormat : int32_t {
  UNKNOWN,
  YUYV,
  NV12,
  NV21
}
 A list of the supported pixel formats for camera frames. More...
 
enum  FocusMode : int32_t {
  UNKNOWN,
  AUTO,
  CONTINUOUS_AUTO,
  MACRO,
  INFINITY_FOCUS,
  FIXED
}
 Camera focus modes. More...
 
enum  ExposureMode : int32_t {
  UNKNOWN,
  AUTO,
  CONTINUOUS_AUTO,
  MANUAL,
  SHUTTER_PRIORITY
}
 Camera exposure modes. More...
 
enum  Capability : uint32_t {
  CAMERA_IMAGE = 0,
  CAMERA_POSE = 1
}
 Driver Capabilities. More...
 
enum  PoseReason {
  INITIALIZING,
  VALID,
  EXCESSIVE_MOTION,
  INSUFFICIENT_FEATURES,
  INSUFFICIENT_LIGHT,
  RELOCALIZING
}
 enum to describe state of the camera pose. More...
 
enum  PoseCoordSystem { CAMERA }
 Pose is expected to be in camera coordinate system. More...
 
enum  PoseValidity {
  VALID,
  UNRELIABLE
}
 Indicates validity (quality) of the pose. More...
 
enum  AnchorStatus {
  ADDED,
  UPDATED,
  REMOVED,
  PAUSED
}
 enum to describe anchor update reason More...
 

Functions

 VUFORIA_DRIVER_PACKED_STRUCT (PlatformData{})
 Platform specific initialization data. More...
 
 VUFORIA_DRIVER_PACKED_STRUCT (CameraMode{uint32_t width{0};uint32_t height{0};uint32_t fps{0};PixelFormat format{PixelFormat::YUYV};})
 Describes the size, frame rate and format of a camera frame. More...
 
 VUFORIA_DRIVER_PACKED_STRUCT (CameraIntrinsics{float focalLengthX{0.f};float focalLengthY{0.f};float principalPointX{0.f};float principalPointY{0.f}; float distortionCoefficients[8]{0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f};})
 Properties required to support the intrinsics for a camera. More...
 
 VUFORIA_DRIVER_PACKED_STRUCT (CameraFrame{ uint64_t timestamp{0};uint64_t exposureTime{0};uint8_t *buffer{nullptr};uint32_t bufferSize{0};uint32_t index{0};uint32_t width{0};uint32_t height{0};uint32_t stride{0};PixelFormat format{PixelFormat::YUYV};CameraIntrinsics intrinsics;})
 Describes a camera frame. More...
 
 VUFORIA_DRIVER_PACKED_STRUCT (Pose{uint64_t timestamp{0}; float translationData[3];float rotationData[9];PoseReason reason;PoseCoordSystem coordinateSystem;PoseValidity validity;})
 Describes a Pose. More...
 
 VUFORIA_DRIVER_PACKED_STRUCT (AnchorPose{float translationData[3];float rotationData[9];})
 Structure for storing translation and rotation matrix associated with an anchor. More...
 
 VUFORIA_DRIVER_PACKED_STRUCT (Anchor{const char *uuid;AnchorPose pose;})
 Structure for storing an anchor information. More...
 

Variables

const uint32_t VUFORIA_DRIVER_API_VERSION = 4
 External provider API-version number, that this header defines. More...
 

Enumeration Type Documentation

enum PixelFormat : int32_t
strong

A list of the supported pixel formats for camera frames.

Enumerator
UNKNOWN 

Unknown format.

YUYV 

YUV 4:2:2. Single 16bit interleaved plane. Same as YUY2.

NV12 

YUV 4:2:0. 8bit Y plane + 8bit interleaved UV plane (subsampled 2x2).

NV21 

YUV 4:2:0. 8bit Y plane + 8bit interleaved VU plane (subsampled 2x2).

enum FocusMode : int32_t
strong

Camera focus modes.

Enumerator
UNKNOWN 

Unknown focus mode.

AUTO 

Single trigger auto focus.

CONTINUOUS_AUTO 

Continuous auto focus.

MACRO 

Macro mode.

INFINITY_FOCUS 

Focus to infinity.

FIXED 

Fixed focus that can't be adjusted.

enum ExposureMode : int32_t
strong

Camera exposure modes.

Enumerator
UNKNOWN 

Unknown exposure mode.

AUTO 

Single trigger auto exposure.

CONTINUOUS_AUTO 

Continuous auto exposure.

MANUAL 

Manual exposure mode.

SHUTTER_PRIORITY 

Shutter priority mode.

enum Capability : uint32_t

Driver Capabilities.

Enumerator
CAMERA_IMAGE 
CAMERA_POSE 
enum PoseReason
strong

enum to describe state of the camera pose.

Enumerator
INITIALIZING 
VALID 

The pose is still intializing.

EXCESSIVE_MOTION 

Valid pose.

INSUFFICIENT_FEATURES 

The user is moving the device to fast.

INSUFFICIENT_LIGHT 

There are not enough features to provide a valid pose.

RELOCALIZING 

There is not enough light to provide a valid pose.

The system is relocalizing.

enum PoseCoordSystem
strong

Pose is expected to be in camera coordinate system.

Enumerator
CAMERA 

Camera co-ordinate system.

enum PoseValidity
strong

Indicates validity (quality) of the pose.

Enumerator
VALID 
UNRELIABLE 

The camera pose is valid.

The camera pose is valid, but the quality is not guaranteed.

enum AnchorStatus
strong

enum to describe anchor update reason

Enumerator
ADDED 

Anchor(s) added.

UPDATED 

Anchor(s) updated.

REMOVED 

Anchor(s) removed.

PAUSED 

Anchor(s) paused.

Function Documentation

Vuforia::Driver::VUFORIA_DRIVER_PACKED_STRUCT ( PlatformData{}  )

Platform specific initialization data.

On other platforms just use an empty struct.

Vuforia::Driver::VUFORIA_DRIVER_PACKED_STRUCT ( CameraMode{uint32_t width{0};uint32_t height{0};uint32_t fps{0};PixelFormat format{PixelFormat::YUYV};}  )

Describes the size, frame rate and format of a camera frame.

Vuforia::Driver::VUFORIA_DRIVER_PACKED_STRUCT ( CameraIntrinsics{float focalLengthX{0.f};float focalLengthY{0.f};float principalPointX{0.f};float principalPointY{0.f}; float distortionCoefficients[8]{0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f};}  )

Properties required to support the intrinsics for a camera.

These values should be obtained from camera calibration.

Vuforia::Driver::VUFORIA_DRIVER_PACKED_STRUCT ( CameraFrame{ uint64_t timestamp{0};uint64_t exposureTime{0};uint8_t *buffer{nullptr};uint32_t bufferSize{0};uint32_t index{0};uint32_t width{0};uint32_t height{0};uint32_t stride{0};PixelFormat format{PixelFormat::YUYV};CameraIntrinsics intrinsics;}  )

Describes a camera frame.

Vuforia::Driver::VUFORIA_DRIVER_PACKED_STRUCT ( Pose{uint64_t timestamp{0}; float translationData[3];float rotationData[9];PoseReason reason;PoseCoordSystem coordinateSystem;PoseValidity validity;}  )

Describes a Pose.

Vuforia::Driver::VUFORIA_DRIVER_PACKED_STRUCT ( AnchorPose{float translationData[3];float rotationData[9];}  )

Structure for storing translation and rotation matrix associated with an anchor.

Vuforia::Driver::VUFORIA_DRIVER_PACKED_STRUCT ( Anchor{const char *uuid;AnchorPose pose;}  )

Structure for storing an anchor information.

Variable Documentation

const uint32_t VUFORIA_DRIVER_API_VERSION = 4

External provider API-version number, that this header defines.