| Tilt Five NDK |

Data Structures | Macros | Typedefs | Enumerations
Tilt Five™ Common Types

## Data Structures
struct | T5_Vec2
| 2D vector More...
struct | T5_Vec3
| 3D vector More...
struct | T5_Quat
| Quaternion. More...
struct | T5_GameboardSize
| Physical dimensions of a gameboard. More...
struct | T5_ClientInfo
| Client provided information for use with t5CreateGlasses() More...
struct | T5_GlassesPose
| Glasses pose information to be retrieved with t5GetGlassesPose() More...
struct | T5_CameraStreamConfig
| Camera stream configuration. More...
struct | T5_FrameInfo
| Render information to be used with t5SendFrameToGlasses() More...
struct | T5_CamImage
| Camera Frame information to be retrieved with t5GetFilledCamImageBuffer() More...
struct | T5_WandStreamConfig
| Wand stream configuration. More...
struct | T5_WandReport
| Contains wand related information (Pose, Buttons, Trigger, Stick, Battery) More...
struct | T5_WandStreamEvent
| Represents an event from the wand stream. More...

## Macros
#define | T5_MAX_STRING_PARAM_LEN (260)
| The maximum number of characters allowed for string values. More...
#define | T5_MIN_CAM_IMAGE_BUFFER_WIDTH (768)
| The minimum width required for camera image buffers. More...
#define | T5_MIN_CAM_IMAGE_BUFFER_HEIGHT (600)
| The minimum height required for camera image buffers. More...

## Typedefs
typedef struct T5_ContextImpl * | T5_Context
| Opaque handle used with system-wide functions. More...
typedef struct T5_GlassesImpl * | T5_Glasses
| Opaque handle used with glasses. More...
typedef uint8_t | T5_WandHandle
| Opaque handle used with wands. More...

## Enumerations
enum | T5_GraphicsApi { kT5_GraphicsApi_None = 1 , kT5_GraphicsApi_GL = 2 , kT5_GraphicsApi_D3D11 = 3 }
| Graphics API types. More...
enum | T5_GameboardType { kT5_GameboardType_None = 1 , kT5_GameboardType_LE = 2 , kT5_GameboardType_XE = 3 , kT5_GameboardType_XE_Raised = 4 }
| Possible gameboard types. More...
enum | T5_ConnectionState { kT5_ConnectionState_ExclusiveConnection = 1 , kT5_ConnectionState_ExclusiveReservation = 2 , kT5_ConnectionState_NotExclusivelyConnected = 3 , kT5_ConnectionState_Disconnected = 4 }
| Glasses connection state. More...
enum | T5_GlassesPoseUsage { kT5_GlassesPoseUsage_GlassesPresentation = 1 , kT5_GlassesPoseUsage_SpectatorPresentation = 2 }
| Glasses pose usage indicator. More...
enum | T5_WandStreamEventType { kT5_WandStreamEventType_Connect = 1 , kT5_WandStreamEventType_Disconnect = 2 , kT5_WandStreamEventType_Desync = 3 , kT5_WandStreamEventType_Report = 4 }
| Wand stream event type. More...
enum | T5_Hand { kT5_Hand_Unknown = 0 , kT5_Hand_Left = 1 , kT5_Hand_Right = 2 }
| Wand hand. More...
enum | T5_ParamGlasses { kT5_ParamGlasses_Float_IPD = 1 , kT5_ParamGlasses_UTF8_FriendlyName = 6 }
| Possible parameters that can be retrieved for glasses. More...
enum | T5_ParamSys { kT5_ParamSys_UTF8_Service_Version = 1 , kT5_ParamSys_Integer_CPL_AttRequired = 2 }
| Possible parameters that can be retrieved with System-wide parameters. More...

## Detailed Description

Common types for use with C and C++ interface

## Macro Definition Documentation

## ◆ T5_MAX_STRING_PARAM_LEN

#define T5_MAX_STRING_PARAM_LEN (260)

The maximum number of characters allowed for string values.

Definition at line 38 of file types.h.

## ◆ T5_MIN_CAM_IMAGE_BUFFER_HEIGHT

#define T5_MIN_CAM_IMAGE_BUFFER_HEIGHT (600)

The minimum height required for camera image buffers.

Definition at line 44 of file types.h.

## ◆ T5_MIN_CAM_IMAGE_BUFFER_WIDTH

#define T5_MIN_CAM_IMAGE_BUFFER_WIDTH (768)

The minimum width required for camera image buffers.

Definition at line 41 of file types.h.

## Typedef Documentation

## ◆ T5_Context

typedef struct T5_ContextImpl* T5_Context

Opaque handle used with system-wide functions.

Obtained from t5GetContext().
Release with t5ReleaseContext().

Definition at line 71 of file types.h.

## ◆ T5_Glasses

typedef struct T5_GlassesImpl* T5_Glasses

Opaque handle used with glasses.

Obtained from t5CreateGlasses().
Released with t5DestroyGlasses().

Definition at line 77 of file types.h.

## ◆ T5_WandHandle

typedef uint8_t T5_WandHandle

Opaque handle used with wands.

Obtained from t5ListWandsForGlasses().
Release not currently required.

Definition at line 83 of file types.h.

## Enumeration Type Documentation

## ◆ T5_ConnectionState

enum T5_ConnectionState

Glasses connection state.

Enumerator
kT5_ConnectionState_ExclusiveConnection | Glasses are connected for exclusive use.
kT5_ConnectionState_ExclusiveReservation | Glasses are reserved for exclusive use.
kT5_ConnectionState_NotExclusivelyConnected | Glasses have not been exclusively connected or reserved.
kT5_ConnectionState_Disconnected | Glasses were previously exclusively connected, but the device has disconnected.

Definition at line 153 of file types.h.

## ◆ T5_GameboardType

enum T5_GameboardType

Possible gameboard types.

Enumerator
kT5_GameboardType_None | No gameboard.
kT5_GameboardType_LE | An LE gameboard.
kT5_GameboardType_XE | An XE gameboard, flap laid flat.
kT5_GameboardType_XE_Raised | An XE gameboard, flap raised at an angle on the kickstand.

Definition at line 98 of file types.h.

## ◆ T5_GlassesPoseUsage

enum T5_GlassesPoseUsage

Glasses pose usage indicator.

Enumerator
kT5_GlassesPoseUsage_GlassesPresentation | The pose will be used to render images to be presented on the glasses.
    Querying a glasses pose for this usage will return a pose prediction intended to account for
    the render and presentation latency. The predicted pose is prone to include errors, and the
    rendered images may appear very jittery if they are displayed on a device other than the
    glasses. When displayed via the glasses, the on-glasses image stabilization compensates for
    this prediction error, so the image should not appear jittery.
kT5_GlassesPoseUsage_SpectatorPresentation | The pose will be used to render images to be presented on a device other than the glasses, such at the host system's primary display. Querying a glasses pose for this usage will return a pose with less noise than that intended for presentation via the glasses.

Definition at line 168 of file types.h.

## ◆ T5_GraphicsApi

enum T5_GraphicsApi

Graphics API types.

Enumerator
kT5_GraphicsApi_None | No graphics API (for clients that don't send frames)
kT5_GraphicsApi_GL | OpenGL.
kT5_GraphicsApi_D3D11 | Direct3D 11 (Windows Only)

Definition at line 86 of file types.h.

## ◆ T5_Hand

enum T5_Hand

Wand hand.

Enumerator
kT5_Hand_Unknown | Hand unknown.
kT5_Hand_Left | Left hand.
kT5_Hand_Right | Right hand.

Definition at line 334 of file types.h.

## ◆ T5_ParamGlasses

enum T5_ParamGlasses

Possible parameters that can be retrieved for glasses.

Enumerator
kT5_ParamGlasses_Float_IPD | Interpupillary distance - Float, millimeters
kT5_ParamGlasses_UTF8_FriendlyName | User-facing name of the glasses - UTF8.

Definition at line 419 of file types.h.

## ◆ T5_ParamSys

enum T5_ParamSys

Possible parameters that can be retrieved with System-wide parameters.

Enumerator
kT5_ParamSys_UTF8_Service_Version | Version of the service software - UTF8.
kT5_ParamSys_Integer_CPL_AttRequired | Non-zero if the control panel requires user interaction (E.g. Important firmware update) - Integer, boolean.

Definition at line 429 of file types.h.

## ◆ T5_WandStreamEventType

enum T5_WandStreamEventType

Wand stream event type.

Enumerator
kT5_WandStreamEventType_Connect | Wand connected.
kT5_WandStreamEventType_Disconnect | Wand disconnected.
kT5_WandStreamEventType_Desync | Stream has desynchronized.
kT5_WandStreamEventType_Report | Wand report (Pose, Buttons, Trigger, Stick, Battery)

Definition at line 319 of file types.h.