 |
VARJO TRACKING PLUGIN SDK DOCUMENTATION
|
Go to the documentation of this file.
10 #if defined __cplusplus
15 #define VARJO_FNTABLE_CALLTYPE __cdecl
17 #define VARJO_FNTABLE_CALLTYPE
285 const char* key,
const char* value);
300 const char* key,
char* value, int32_t valueLength);
325 const char* message);
340 const char* message);
465 #if defined __cplusplus
467 #endif // __cplusplus
469 #endif // VARJO_PLUGIN_H
const char * varjo_GetPluginName()
Provides plugin name.
static const varjo_PluginStatus varjo_PluginStatus_OK
Plugin status OK.
Definition: Varjo_plugin.h:59
static const varjo_PluginSystemState varjo_PluginSystemState_OK
Plugin system is functioning correctly.
Definition: Varjo_plugin.h:160
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AccelerationY
Flag indicating the Y-axis acceleration measurement is off-scale.
Definition: Varjo_plugin.h:102
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AngularVelocityZ
Flag indicating the Z-axis angular velocity measurement is off-scale.
Definition: Varjo_plugin.h:106
WriteLogMessage_t WriteLogMessage
Definition: Varjo_plugin.h:328
int64_t varjo_Nanoseconds
Time in nanoseconds.
Definition: Varjo_types.h:22
static const varjo_PoseFlags varjo_PoseFlags_HasConfidence
Flag indicating that the pose has confidence information.
Definition: Varjo_plugin.h:390
varjo_Vector3D acceleration
Device acceleration (m/s^2)
Definition: Varjo_plugin.h:149
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AngularVelocityX
Flag indicating the X-axis angular velocity measurement is not valid.
Definition: Varjo_plugin.h:120
const char *(VARJO_FNTABLE_CALLTYPE * GetProductId_t)(varjo_PluginUtilitySession session)
Returns Varjo product id string.
Definition: Varjo_plugin.h:176
static const varjo_IMUComponent varjo_IMUComponent_Magnetometer
Constant identifying IMU component magnetometer.
Definition: Varjo_plugin.h:134
int32_t(VARJO_FNTABLE_CALLTYPE * GetConfigurationString_t)(varjo_PluginUtilitySession session, const char *key, char *value, int32_t valueLength)
Writes configuration entry.
Definition: Varjo_plugin.h:298
double value[16]
Definition: Varjo_plugin.h:84
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AccelerationY
Flag indicating the Y-axis acceleration measurement is not valid.
Definition: Varjo_plugin.h:118
Structure describing a sample of IMU data.
Definition: Varjo_plugin.h:147
EnumConfigurationKeys_t EnumConfigurationKeys
Definition: Varjo_plugin.h:276
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AttitudeZ
Flag indicating the Z-axis attitudey measurement is off-scale.
Definition: Varjo_plugin.h:109
void(VARJO_FNTABLE_CALLTYPE * SetConfigurationString_t)(varjo_PluginUtilitySession session, const char *key, const char *value)
Sets configuration entry.
Definition: Varjo_plugin.h:283
SetConfigurationString_t SetConfigurationString
Definition: Varjo_plugin.h:288
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AttitudeX
Flag indicating the X-axis attitude measurement is not valid.
Definition: Varjo_plugin.h:123
const char * varjo_GetPluginStatusDescription(varjo_PluginStatus pluginStatus)
Provides a string description of a given status code.
GetIMUToHMDTransform_t GetIMUToHMDTransform
Definition: Varjo_plugin.h:205
static const varjo_PoseFlags varjo_PoseFlags_HasPosition
Flag indicating that the pose has position information.
Definition: Varjo_plugin.h:385
varjo_PluginStatus varjo_TrackerStop(varjo_PluginContext context)
Stops the tracker processing.
static const varjo_PluginType varjo_PluginType_HMD_Tracker
Flag indicating this plugin provides HMD tracking functionality.
Definition: Varjo_plugin.h:27
int32_t(VARJO_FNTABLE_CALLTYPE * ReadIMUSamples_t)(varjo_PluginUtilitySession session, varjo_ImuSample *samples, int32_t sampleCount)
Reads up to sampleCount samples of varjo_ImuSample into a samples buffer.
Definition: Varjo_plugin.h:245
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AttitudeX
Flag indicating the X-axis attitude measurement is off-scale.
Definition: Varjo_plugin.h:107
varjo_PluginStatus varjo_PluginShutdown(varjo_PluginContext *context)
Deinitializes plugin.
uint64_t varjo_PluginType
Bit-field type determining type of plugin API.
Definition: Varjo_plugin.h:26
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AccelerationX
Flag indicating the X-axis acceleration measurement is off-scale.
Definition: Varjo_plugin.h:101
static const varjo_PluginSystemState varjo_PluginSystemState_Warning
Plugin system is reporting a state requiring user attention e.g. battery low.
Definition: Varjo_plugin.h:161
Double precision 4x4 matrix.
Definition: Varjo_plugin.h:83
uint64_t varjo_GetPluginAPIVersion()
Provides the API version number supported by the plugin.
int64_t varjo_PluginSystemState
Plugin system state.
Definition: Varjo_plugin.h:159
static const varjo_PluginSystemState varjo_PluginSystemState_CriticalError
Plugin system is reporting a critical error state, e.g. tracking failure.
Definition: Varjo_plugin.h:162
Definition: Varjo_plugin.h:169
static const varjo_IMUComponent varjo_IMUComponent_Accelerometer
Constant identifying IMU component accelerometer.
Definition: Varjo_plugin.h:132
int32_t varjo_Bool
Type representing logical values - True and False.
Definition: Varjo_types.h:15
varjo_Matrix3x3 scale
Calibration scale.
Definition: Varjo_plugin.h:140
void(VARJO_FNTABLE_CALLTYPE * SetPluginSystemState_t)(varjo_PluginUtilitySession session, varjo_PluginSystemState state, const char *message)
Indicates a plugin system state to Varjo SW stack.
Definition: Varjo_plugin.h:337
double x
Quaternion component x.
Definition: Varjo_plugin.h:397
#define VARJO_FNTABLE_CALLTYPE
Definition: Varjo_plugin.h:17
varjo_Nanoseconds timeStamp
IMU sample timestamp (ns)
Definition: Varjo_plugin.h:148
struct varjo_ImuSample varjo_ImuSample
Structure describing a sample of IMU data.
const char *(VARJO_FNTABLE_CALLTYPE * EnumConfigurationKeys_t)(varjo_PluginUtilitySession session, varjo_ConfigurationKeyIterator *handle)
Enumerates configuration keys.
Definition: Varjo_plugin.h:271
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AngularVelocityX
Flag indicating the X-axis angular velocity measurement is off-scale.
Definition: Varjo_plugin.h:104
GetConfigurationString_t GetConfigurationString
Definition: Varjo_plugin.h:303
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AccelerationZ
Flag indicating the Z-axis acceleration measurement is off-scale.
Definition: Varjo_plugin.h:103
varjo_PoseFlags poseFlags
Bit field value describing pose.
Definition: Varjo_plugin.h:419
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AttitudeY
Flag indicating the Y-axis attitude measurement is off-scale.
Definition: Varjo_plugin.h:108
double y
Quaternion component y.
Definition: Varjo_plugin.h:398
struct varjo_DevicePose varjo_DevicePose
Structure describing tracked device pose.
double z
Quaternion component z.
Definition: Varjo_plugin.h:399
varjo_Bool(VARJO_FNTABLE_CALLTYPE * SyncConfiguration_t)(varjo_PluginUtilitySession session)
Atomically applies set configuration.
Definition: Varjo_plugin.h:257
GetProductId_t GetProductId
Definition: Varjo_plugin.h:180
int64_t frameNo
Frame number, increases monotonically.
Definition: Varjo_plugin.h:413
struct varjo_ConfigurationKeyIterator_t * varjo_ConfigurationKeyIterator
Settings key enumeration handle.
Definition: Varjo_plugin.h:72
uint64_t varjo_IMUDataInvalid
Bit-field type determining which values of IMU data are not valid, e.g.
Definition: Varjo_plugin.h:116
static const varjo_IMUCapability varjo_IMUCapability_Acceleration
IMU HW is capable of reporting accelerometer measurements.
Definition: Varjo_plugin.h:91
varjo_Vector3D bias
Calibration bias.
Definition: Varjo_plugin.h:141
varjo_IMUDataInvalid validityFlags
Validity flags.
Definition: Varjo_plugin.h:153
varjo_PluginStatus varjo_PluginInit(const varjo_PluginUtilityAPI *pluginUtilityAPI, varjo_PluginUtilitySession pluginUtilitySession, varjo_PluginContext *context)
Initializes plugin.
uint64_t varjo_IMUCapability
Bit-field type determining capabilities of IMU hardware.
Definition: Varjo_plugin.h:90
varjo_PluginType varjo_GetPluginType()
Provides plugin types supported by the plugin library.
static const varjo_PoseFlags varjo_PoseFlags_HasRotation
Flag indicating that the pose has rotation information.
Definition: Varjo_plugin.h:386
void(VARJO_FNTABLE_CALLTYPE * WriteLogMessage_t)(varjo_PluginUtilitySession session, const char *message)
Writes a message to the log.
Definition: Varjo_plugin.h:323
varjo_IMUCapability(VARJO_FNTABLE_CALLTYPE * GetIMUCapabilities_t)(varjo_PluginUtilitySession session)
Returns hardware capabilities of the IMU.
Definition: Varjo_plugin.h:189
varjo_Vector3D velocity
Device linear velocity (m/s)
Definition: Varjo_plugin.h:416
struct varjo_Matrix4x4 varjo_Matrix4x4
Double precision 4x4 matrix.
varjo_Vector3D angularVelocity
Device angular velocity (radians/s)
Definition: Varjo_plugin.h:417
SyncConfiguration_t SyncConfiguration
Definition: Varjo_plugin.h:261
struct varjo_IMUComponentCalibrationInfo varjo_IMUDeviceCalibrationInfo
Structure containing calibration parameters for an IMU device.
static const varjo_PoseFlags varjo_PoseFlags_TrackingLost
Flag indicating that no tracking data is available.
Definition: Varjo_plugin.h:383
static const varjo_PoseFlags varjo_PoseFlags_HasAcceleration
Flag indicating that the pose has acceleration information.
Definition: Varjo_plugin.h:389
varjo_IMUDataOffscale offscaleFlags
Offscale flags.
Definition: Varjo_plugin.h:152
int64_t varjo_PluginStatus
Plugin status.
Definition: Varjo_plugin.h:58
Structure containing calibration parameters for an IMU device.
Definition: Varjo_plugin.h:139
varjo_PluginStatus varjo_TrackerStart(varjo_PluginContext context)
Starts the tracker processing.
static const varjo_IMUCapability varjo_IMUCapability_Attitude
IMU HW is capable of reporting magnetometer measurements.
Definition: Varjo_plugin.h:93
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AngularVelocityY
Flag indicating the Y-axis angular velocity measurement is not valid.
Definition: Varjo_plugin.h:121
varjo_Nanoseconds timeStamp
Pose timestamp (ns)
Definition: Varjo_plugin.h:412
struct varjo_PluginUtilitySession_t * varjo_PluginUtilitySession
varjo_PluginUtilitySession
Definition: Varjo_plugin.h:77
varjo_Vector3D angularVelocity
Device angular velocity (radians/s)
Definition: Varjo_plugin.h:150
double w
Quaternion component w.
Definition: Varjo_plugin.h:396
void(VARJO_FNTABLE_CALLTYPE * GetIMUComponentCalibration_t)(varjo_PluginUtilitySession session, varjo_IMUComponent component, varjo_IMUComponentCalibrationInfo *calibrationInfo)
Returns calibration for an IMU component.
Definition: Varjo_plugin.h:226
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AngularVelocityZ
Flag indicating the Z-axis angular velocity measurement is not valid.
Definition: Varjo_plugin.h:122
ReadIMUSamples_t ReadIMUSamples
Definition: Varjo_plugin.h:250
64bit floating point 3D vector.
Definition: Varjo_types.h:27
struct varjo_Quaternion varjo_Quaternion
Double precision quaternion.
int64_t varjo_IMUComponent
Type identifying IMU component type.
Definition: Varjo_plugin.h:131
static const varjo_PoseFlags varjo_PoseFlags_TrackingDisconnected
Flag indicating that the tracker is disconnected.
Definition: Varjo_plugin.h:384
GetIMUCapabilities_t GetIMUCapabilities
Definition: Varjo_plugin.h:193
GetCurrentSystemTime_t GetCurrentSystemTime
Definition: Varjo_plugin.h:316
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AttitudeZ
Flag indicating the Z-axis attitude measurement is not valid.
Definition: Varjo_plugin.h:125
SetPluginSystemState_t SetPluginSystemState
Definition: Varjo_plugin.h:343
GetIMUComponentCalibration_t GetIMUComponentCalibration
Definition: Varjo_plugin.h:232
uint64_t varjo_IMUDataOffscale
Bit-field type determining which values of IMU data are off-scale.
Definition: Varjo_plugin.h:100
varjo_Vector3D position
Device position (m)
Definition: Varjo_plugin.h:414
struct varjo_PluginContext_t * varjo_PluginContext
Plugin session context.
Definition: Varjo_plugin.h:350
uint64_t varjo_PoseFlags
Bit-field type determining tracking status.
Definition: Varjo_plugin.h:381
varjo_Matrix4x4(VARJO_FNTABLE_CALLTYPE * GetIMUToHMDTransform_t)(varjo_PluginUtilitySession session)
Returns transformation matrix between IMU and the HMD coordinate systems.
Definition: Varjo_plugin.h:201
Double precision quaternion.
Definition: Varjo_plugin.h:395
varjo_Nanoseconds(VARJO_FNTABLE_CALLTYPE * GetCurrentSystemTime_t)(varjo_PluginUtilitySession session)
Returns current system time.
Definition: Varjo_plugin.h:312
static const varjo_IMUCapability varjo_IMUCapability_AngularVelocity
IMU HW is capable of reporting gyro measurements.
Definition: Varjo_plugin.h:92
Structure describing tracked device pose.
Definition: Varjo_plugin.h:411
static const varjo_PoseFlags varjo_PoseFlags_HasVelocity
Flag indicating that the pose has velocity information.
Definition: Varjo_plugin.h:387
static const varjo_IMUComponent varjo_IMUComponent_Gyro
Constant identifying IMU component gyro.
Definition: Varjo_plugin.h:133
double confidence
Tracker confidence.
Definition: Varjo_plugin.h:420
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AccelerationX
Flag indicating the X-axis acceleration measurement is not valid.
Definition: Varjo_plugin.h:117
varjo_Vector3D acceleration
Device acceleration (m/s^2)
Definition: Varjo_plugin.h:418
static const varjo_PoseFlags varjo_PoseFlags_Ok
Flag indicating that the tracking is OK.
Definition: Varjo_plugin.h:382
struct varjo_PluginUtilityAPI varjo_PluginUtilityAPI
static const varjo_PoseFlags varjo_PoseFlags_HasAngularVelocity
Flag indicating that the pose has angular velocity information.
Definition: Varjo_plugin.h:388
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AngularVelocityY
Flag indicating the Y-axis angular velocity measurement is off-scale.
Definition: Varjo_plugin.h:105
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AccelerationZ
Flag indicating the Z-axis acceleration measurement is not valid.
Definition: Varjo_plugin.h:119
varjo_Vector3D attitude
Device attitude.
Definition: Varjo_plugin.h:151
varjo_PluginStatus varjo_GetHMDPose(varjo_PluginContext context, varjo_Nanoseconds timeStamp, varjo_DevicePose *pose)
Queries tracker for the HMD pose.
varjo_Quaternion rotation
Device rotation.
Definition: Varjo_plugin.h:415
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AttitudeY
Flag indicating the Y-axis attitude measurement is not valid.
Definition: Varjo_plugin.h:124
Double precision 3x3 matrix.
Definition: Varjo_types.h:37