VARJO TRACKING PLUGIN SDK DOCUMENTATION
varjo_PluginUtilityAPI Struct Reference

Public Types

typedef const char *(VARJO_FNTABLE_CALLTYPEGetProductId_t) (varjo_PluginUtilitySession session)
 
typedef varjo_IMUCapability(VARJO_FNTABLE_CALLTYPEGetIMUCapabilities_t) (varjo_PluginUtilitySession session)
 
typedef varjo_Matrix4x4(VARJO_FNTABLE_CALLTYPEGetIMUToHMDTransform_t) (varjo_PluginUtilitySession session)
 
typedef void(VARJO_FNTABLE_CALLTYPEGetIMUComponentCalibration_t) (varjo_PluginUtilitySession session, varjo_IMUComponent component, varjo_IMUComponentCalibrationInfo *calibrationInfo)
 
typedef int32_t(VARJO_FNTABLE_CALLTYPEReadIMUSamples_t) (varjo_PluginUtilitySession session, varjo_ImuSample *samples, int32_t sampleCount)
 
typedef varjo_Bool(VARJO_FNTABLE_CALLTYPESyncConfiguration_t) (varjo_PluginUtilitySession session)
 
typedef const char *(VARJO_FNTABLE_CALLTYPEEnumConfigurationKeys_t) (varjo_PluginUtilitySession session, varjo_ConfigurationKeyIterator *handle)
 
typedef void(VARJO_FNTABLE_CALLTYPESetConfigurationString_t) (varjo_PluginUtilitySession session, const char *key, const char *value)
 
typedef int32_t(VARJO_FNTABLE_CALLTYPEGetConfigurationString_t) (varjo_PluginUtilitySession session, const char *key, char *value, int32_t valueLength)
 
typedef varjo_Nanoseconds(VARJO_FNTABLE_CALLTYPEGetCurrentSystemTime_t) (varjo_PluginUtilitySession session)
 
typedef void(VARJO_FNTABLE_CALLTYPEWriteLogMessage_t) (varjo_PluginUtilitySession session, const char *message)
 
typedef void(VARJO_FNTABLE_CALLTYPESetPluginSystemState_t) (varjo_PluginUtilitySession session, varjo_PluginSystemState state, const char *message)
 

Data Fields

GetProductId_t GetProductId
 
GetIMUCapabilities_t GetIMUCapabilities
 
GetIMUToHMDTransform_t GetIMUToHMDTransform
 
GetIMUComponentCalibration_t GetIMUComponentCalibration
 
ReadIMUSamples_t ReadIMUSamples
 
SyncConfiguration_t SyncConfiguration
 
EnumConfigurationKeys_t EnumConfigurationKeys
 
SetConfigurationString_t SetConfigurationString
 
GetConfigurationString_t GetConfigurationString
 
GetCurrentSystemTime_t GetCurrentSystemTime
 
WriteLogMessage_t WriteLogMessage
 
SetPluginSystemState_t SetPluginSystemState
 

Detailed Description

Utility functions plugins can call

Member Typedef Documentation

◆ GetProductId_t

typedef const char*(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::GetProductId_t) ( varjo_PluginUtilitySession session)

Returns Varjo product id string

Parameters
session- Plugin utility session context acquired from varjo_PluginInit
Returns
NULL terminated C-string containing Varjo product id. e.g. "VR-1"

◆ GetIMUCapabilities_t

typedef varjo_IMUCapability(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::GetIMUCapabilities_t) ( varjo_PluginUtilitySession session)

Returns hardware capabilities of the IMU

Parameters
session- Plugin utility session context acquired from varjo_PluginInit
Returns
A combination of varjo_IMUCapability flags describing IMU hardware capabilities.

◆ GetIMUToHMDTransform_t

typedef varjo_Matrix4x4(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::GetIMUToHMDTransform_t) ( varjo_PluginUtilitySession session)

Returns transformation matrix between IMU and the HMD coordinate systems

Parameters
session- Plugin utility session context acquired from varjo_PluginInit
Returns
A transformation matrix between IMU and HMD coordinate systems.

◆ GetIMUComponentCalibration_t

typedef void(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::GetIMUComponentCalibration_t) ( varjo_PluginUtilitySession session, varjo_IMUComponent component, varjo_IMUComponentCalibrationInfo *calibrationInfo)

Returns calibration for an IMU component

Calibration parameters are calculated after production and are constant in run time.

Calibration can be applied this way: IMUCCalibrated = (IMURaw - Bias) * Scale

Parameters
session- Plugin utility session context acquired from varjo_PluginInit
component- IMU hardare component for which the calibration is requested
Returns
IMU calibration parameters for a component

◆ ReadIMUSamples_t

typedef int32_t(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::ReadIMUSamples_t) ( varjo_PluginUtilitySession session, varjo_ImuSample *samples, int32_t sampleCount)

Reads up to sampleCount samples of varjo_ImuSample into a samples buffer.

The varjo_ImuSample values obtained via ReadIMUSamples_t are not calibrated.

See also
GetIMUComponentCalibration_t
Parameters
session- Plugin utility session context acquired from varjo_PluginInit
samples- Pointer to the buffer where the IMU data samples should be stored
sampleCount- Number of IMU samples to read
Returns
Number of IMU samples read

◆ SyncConfiguration_t

typedef varjo_Bool(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::SyncConfiguration_t) ( varjo_PluginUtilitySession session)

Atomically applies set configuration

Parameters
session- Plugin utility session context acquired from varjo_PluginInit

◆ EnumConfigurationKeys_t

typedef const char*(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::EnumConfigurationKeys_t) ( varjo_PluginUtilitySession session, varjo_ConfigurationKeyIterator *handle)

Enumerates configuration keys

Parameters
session- Plugin utility session context acquired from varjo_PluginInit
handle- enumeration handle, pass NULL to start enumeration
Returns
NULL when enumeration is over, otherwise a null-terminated C-string containing key name.

◆ SetConfigurationString_t

typedef void(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::SetConfigurationString_t) ( varjo_PluginUtilitySession session, const char *key, const char *value)

Sets configuration entry

Parameters
valuefor
key
session- Plugin utility session context acquired from varjo_PluginInit

◆ GetConfigurationString_t

typedef int32_t(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::GetConfigurationString_t) ( varjo_PluginUtilitySession session, const char *key, char *value, int32_t valueLength)

Writes configuration entry

Parameters
valuefor
key
session- Plugin utility session context acquired from varjo_PluginInit
Returns
If value is NULL, returns size of buffer necessary for value, otherwise length of the value for key written to value. Returs 0 if the requested configuration key is not found.

◆ GetCurrentSystemTime_t

typedef varjo_Nanoseconds(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::GetCurrentSystemTime_t) ( varjo_PluginUtilitySession session)

Returns current system time

Parameters
session- Plugin utility session context acquired from varjo_PluginInit
Returns
Current time

◆ WriteLogMessage_t

typedef void(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::WriteLogMessage_t) ( varjo_PluginUtilitySession session, const char *message)

Writes a message to the log

Parameters
session- Plugin utility session context acquired from varjo_PluginInit

◆ SetPluginSystemState_t

typedef void(VARJO_FNTABLE_CALLTYPE* varjo_PluginUtilityAPI::SetPluginSystemState_t) ( varjo_PluginUtilitySession session, varjo_PluginSystemState state, const char *message)

Indicates a plugin system state to Varjo SW stack.

Parameters
session- Plugin utility session context acquired from varjo_PluginInit
state- a value of type varjo_PluginSystemState indicating plugin system state
message- optional message containing technical description of given state

Field Documentation

◆ GetProductId

GetProductId_t varjo_PluginUtilityAPI::GetProductId
See also
GetProductId_t.

◆ GetIMUCapabilities

GetIMUCapabilities_t varjo_PluginUtilityAPI::GetIMUCapabilities

◆ GetIMUToHMDTransform

GetIMUToHMDTransform_t varjo_PluginUtilityAPI::GetIMUToHMDTransform

◆ GetIMUComponentCalibration

GetIMUComponentCalibration_t varjo_PluginUtilityAPI::GetIMUComponentCalibration

◆ ReadIMUSamples

ReadIMUSamples_t varjo_PluginUtilityAPI::ReadIMUSamples
See also
ReadIMUSamples_t.

◆ SyncConfiguration

SyncConfiguration_t varjo_PluginUtilityAPI::SyncConfiguration

◆ EnumConfigurationKeys

EnumConfigurationKeys_t varjo_PluginUtilityAPI::EnumConfigurationKeys

◆ SetConfigurationString

SetConfigurationString_t varjo_PluginUtilityAPI::SetConfigurationString

◆ GetConfigurationString

GetConfigurationString_t varjo_PluginUtilityAPI::GetConfigurationString

◆ GetCurrentSystemTime

GetCurrentSystemTime_t varjo_PluginUtilityAPI::GetCurrentSystemTime

◆ WriteLogMessage

WriteLogMessage_t varjo_PluginUtilityAPI::WriteLogMessage

◆ SetPluginSystemState

SetPluginSystemState_t varjo_PluginUtilityAPI::SetPluginSystemState