10 #if defined __cplusplus 15 #define VARJO_FNTABLE_CALLTYPE __cdecl 17 #define VARJO_FNTABLE_CALLTYPE 293 const char* key,
const char* value);
308 const char* key,
char* value, int32_t valueLength);
333 const char* message);
348 const char* message);
473 #if defined __cplusplus 475 #endif // __cplusplus 477 #endif // VARJO_PLUGIN_H SetConfigurationString_t SetConfigurationString
Definition: Varjo_plugin.h:296
static const varjo_PoseFlags varjo_PoseFlags_TrackingDisconnected
Flag indicating that the tracker is disconnected.
Definition: Varjo_plugin.h:392
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AngularVelocityZ
Flag indicating the Z-axis angular velocity measurement is off-scale.
Definition: Varjo_plugin.h:114
static const varjo_IMUCapability varjo_IMUCapability_Acceleration
IMU HW is capable of reporting accelerometer measurements.
Definition: Varjo_plugin.h:99
struct varjo_Matrix4x4 varjo_Matrix4x4
Double precision 4x4 matrix.
double y
Quaternion component y.
Definition: Varjo_plugin.h:406
const char * varjo_GetPluginName()
Provides plugin name.
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AngularVelocityY
Flag indicating the Y-axis angular velocity measurement is not valid.
Definition: Varjo_plugin.h:129
int64_t varjo_PluginSystemState
Plugin system state.
Definition: Varjo_plugin.h:167
varjo_PoseFlags poseFlags
Bit field value describing pose.
Definition: Varjo_plugin.h:427
static const varjo_PoseFlags varjo_PoseFlags_HasAcceleration
Flag indicating that the pose has acceleration information.
Definition: Varjo_plugin.h:397
varjo_IMUCapability(VARJO_FNTABLE_CALLTYPE * GetIMUCapabilities_t)(varjo_PluginUtilitySession session)
Returns hardware capabilities of the IMU.
Definition: Varjo_plugin.h:197
struct varjo_PluginContext_t * varjo_PluginContext
Plugin session context.
Definition: Varjo_plugin.h:358
const char *(VARJO_FNTABLE_CALLTYPE * GetProductId_t)(varjo_PluginUtilitySession session)
Returns Varjo product id string.
Definition: Varjo_plugin.h:184
struct varjo_DevicePose varjo_DevicePose
Structure describing tracked device pose.
const char *(VARJO_FNTABLE_CALLTYPE * EnumConfigurationKeys_t)(varjo_PluginUtilitySession session, varjo_ConfigurationKeyIterator *handle)
Enumerates configuration keys.
Definition: Varjo_plugin.h:279
varjo_Vector3D angularVelocity
Device angular velocity (radians/s)
Definition: Varjo_plugin.h:158
varjo_PluginStatus varjo_PluginInit(const varjo_PluginUtilityAPI *pluginUtilityAPI, varjo_PluginUtilitySession pluginUtilitySession, varjo_PluginContext *context)
Initializes plugin.
uint64_t varjo_IMUDataInvalid
Bit-field type determining which values of IMU data are not valid, e.g.
Definition: Varjo_plugin.h:124
uint64_t varjo_PluginType
Bit-field type determining type of plugin API.
Definition: Varjo_plugin.h:26
int32_t varjo_Bool
Type representing logical values - True and False.
Definition: Varjo_types.h:15
GetIMUToHMDTransform_t GetIMUToHMDTransform
Definition: Varjo_plugin.h:213
varjo_Quaternion rotation
Device rotation.
Definition: Varjo_plugin.h:423
static const varjo_PluginSystemState varjo_PluginSystemState_OK
Plugin system is functioning correctly.
Definition: Varjo_plugin.h:168
void(VARJO_FNTABLE_CALLTYPE * SetConfigurationString_t)(varjo_PluginUtilitySession session, const char *key, const char *value)
Sets configuration entry.
Definition: Varjo_plugin.h:291
int64_t varjo_PluginStatus
Plugin status.
Definition: Varjo_plugin.h:58
Double precision 3x3 matrix.
Definition: Varjo_plugin.h:83
64bit floating point 3D vector.
Definition: Varjo_types.h:27
static const varjo_IMUComponent varjo_IMUComponent_Accelerometer
Constant identifying IMU component accelerometer.
Definition: Varjo_plugin.h:140
static const varjo_PoseFlags varjo_PoseFlags_HasAngularVelocity
Flag indicating that the pose has angular velocity information.
Definition: Varjo_plugin.h:396
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AccelerationY
Flag indicating the Y-axis acceleration measurement is not valid.
Definition: Varjo_plugin.h:126
struct varjo_Matrix3x3 varjo_Matrix3x3
Double precision 3x3 matrix.
double w
Quaternion component w.
Definition: Varjo_plugin.h:404
struct varjo_ImuSample varjo_ImuSample
Structure describing a sample of IMU data.
Structure describing tracked device pose.
Definition: Varjo_plugin.h:419
GetProductId_t GetProductId
Definition: Varjo_plugin.h:188
Double precision 4x4 matrix.
Definition: Varjo_plugin.h:91
int64_t varjo_Nanoseconds
Time in nanoseconds.
Definition: Varjo_types.h:22
varjo_PluginStatus varjo_TrackerStop(varjo_PluginContext context)
Stops the tracker processing.
static const varjo_PoseFlags varjo_PoseFlags_HasVelocity
Flag indicating that the pose has velocity information.
Definition: Varjo_plugin.h:395
struct varjo_IMUComponentCalibrationInfo varjo_IMUDeviceCalibrationInfo
Structure containing calibration parameters for an IMU device.
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:253
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AttitudeX
Flag indicating the X-axis attitude measurement is not valid.
Definition: Varjo_plugin.h:131
varjo_IMUDataOffscale offscaleFlags
Offscale flags.
Definition: Varjo_plugin.h:160
static const varjo_PoseFlags varjo_PoseFlags_HasPosition
Flag indicating that the pose has position information.
Definition: Varjo_plugin.h:393
varjo_Vector3D velocity
Device linear velocity (m/s)
Definition: Varjo_plugin.h:424
Double precision quaternion.
Definition: Varjo_plugin.h:403
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AngularVelocityX
Flag indicating the X-axis angular velocity measurement is off-scale.
Definition: Varjo_plugin.h:112
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AccelerationZ
Flag indicating the Z-axis acceleration measurement is not valid.
Definition: Varjo_plugin.h:127
SyncConfiguration_t SyncConfiguration
Definition: Varjo_plugin.h:269
struct varjo_PluginUtilitySession_t * varjo_PluginUtilitySession
varjo_PluginUtilitySession
Definition: Varjo_plugin.h:77
GetIMUComponentCalibration_t GetIMUComponentCalibration
Definition: Varjo_plugin.h:240
Structure containing calibration parameters for an IMU device.
Definition: Varjo_plugin.h:147
static const varjo_IMUComponent varjo_IMUComponent_Magnetometer
Constant identifying IMU component magnetometer.
Definition: Varjo_plugin.h:142
static const varjo_IMUComponent varjo_IMUComponent_Gyro
Constant identifying IMU component gyro.
Definition: Varjo_plugin.h:141
GetConfigurationString_t GetConfigurationString
Definition: Varjo_plugin.h:311
varjo_Vector3D attitude
Device attitude.
Definition: Varjo_plugin.h:159
struct varjo_Quaternion varjo_Quaternion
Double precision quaternion.
static const varjo_PoseFlags varjo_PoseFlags_Ok
Flag indicating that the tracking is OK.
Definition: Varjo_plugin.h:390
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AttitudeZ
Flag indicating the Z-axis attitude measurement is not valid.
Definition: Varjo_plugin.h:133
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:234
static const varjo_PoseFlags varjo_PoseFlags_TrackingLost
Flag indicating that no tracking data is available.
Definition: Varjo_plugin.h:391
varjo_Vector3D angularVelocity
Device angular velocity (radians/s)
Definition: Varjo_plugin.h:425
Structure describing a sample of IMU data.
Definition: Varjo_plugin.h:155
static const varjo_IMUCapability varjo_IMUCapability_Attitude
IMU HW is capable of reporting magnetometer measurements.
Definition: Varjo_plugin.h:101
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AttitudeX
Flag indicating the X-axis attitude measurement is off-scale.
Definition: Varjo_plugin.h:115
double z
Quaternion component z.
Definition: Varjo_plugin.h:407
varjo_Vector3D acceleration
Device acceleration (m/s^2)
Definition: Varjo_plugin.h:157
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AccelerationX
Flag indicating the X-axis acceleration measurement is not valid.
Definition: Varjo_plugin.h:125
void(VARJO_FNTABLE_CALLTYPE * WriteLogMessage_t)(varjo_PluginUtilitySession session, const char *message)
Writes a message to the log.
Definition: Varjo_plugin.h:331
const char * varjo_GetPluginStatusDescription(varjo_PluginStatus pluginStatus)
Provides a string description of a given status code.
struct varjo_ConfigurationKeyIterator_t * varjo_ConfigurationKeyIterator
Settings key enumeration handle.
Definition: Varjo_plugin.h:72
varjo_IMUDataInvalid validityFlags
Validity flags.
Definition: Varjo_plugin.h:161
uint64_t varjo_GetPluginAPIVersion()
Provides the API version number supported by the plugin.
varjo_Matrix3x3 scale
Calibration scale.
Definition: Varjo_plugin.h:148
WriteLogMessage_t WriteLogMessage
Definition: Varjo_plugin.h:336
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AngularVelocityY
Flag indicating the Y-axis angular velocity measurement is off-scale.
Definition: Varjo_plugin.h:113
Utility functions plugins can call.
Definition: Varjo_plugin.h:177
varjo_PluginStatus varjo_TrackerStart(varjo_PluginContext context)
Starts the tracker processing.
#define VARJO_FNTABLE_CALLTYPE
Definition: Varjo_plugin.h:17
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AccelerationY
Flag indicating the Y-axis acceleration measurement is off-scale.
Definition: Varjo_plugin.h:110
varjo_PluginStatus varjo_PluginShutdown(varjo_PluginContext *context)
Deinitializes plugin.
varjo_Bool(VARJO_FNTABLE_CALLTYPE * SyncConfiguration_t)(varjo_PluginUtilitySession session)
Atomically applies set configuration.
Definition: Varjo_plugin.h:265
static const varjo_PoseFlags varjo_PoseFlags_HasRotation
Flag indicating that the pose has rotation information.
Definition: Varjo_plugin.h:394
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AngularVelocityX
Flag indicating the X-axis angular velocity measurement is not valid.
Definition: Varjo_plugin.h:128
static const varjo_PluginSystemState varjo_PluginSystemState_CriticalError
Plugin system is reporting a critical error state, e.g. tracking failure.
Definition: Varjo_plugin.h:170
varjo_Nanoseconds timeStamp
Pose timestamp (ns)
Definition: Varjo_plugin.h:420
varjo_PluginType varjo_GetPluginType()
Provides plugin types supported by the plugin library.
varjo_Vector3D position
Device position (m)
Definition: Varjo_plugin.h:422
varjo_PluginStatus varjo_GetHMDPose(varjo_PluginContext context, varjo_Nanoseconds timeStamp, varjo_DevicePose *pose)
Queries tracker for the HMD pose.
static const varjo_PoseFlags varjo_PoseFlags_HasConfidence
Flag indicating that the pose has confidence information.
Definition: Varjo_plugin.h:398
GetCurrentSystemTime_t GetCurrentSystemTime
Definition: Varjo_plugin.h:324
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AccelerationZ
Flag indicating the Z-axis acceleration measurement is off-scale.
Definition: Varjo_plugin.h:111
varjo_Vector3D acceleration
Device acceleration (m/s^2)
Definition: Varjo_plugin.h:426
varjo_Vector3D bias
Calibration bias.
Definition: Varjo_plugin.h:149
int64_t varjo_IMUComponent
Type identifying IMU component type.
Definition: Varjo_plugin.h:139
varjo_Nanoseconds(VARJO_FNTABLE_CALLTYPE * GetCurrentSystemTime_t)(varjo_PluginUtilitySession session)
Returns current system time.
Definition: Varjo_plugin.h:320
static const varjo_PluginType varjo_PluginType_HMD_Tracker
Flag indicating this plugin provides HMD tracking functionality.
Definition: Varjo_plugin.h:27
static const varjo_IMUCapability varjo_IMUCapability_AngularVelocity
IMU HW is capable of reporting gyro measurements.
Definition: Varjo_plugin.h:100
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AccelerationX
Flag indicating the X-axis acceleration measurement is off-scale.
Definition: Varjo_plugin.h:109
static const varjo_PluginStatus varjo_PluginStatus_OK
Plugin status OK.
Definition: Varjo_plugin.h:59
GetIMUCapabilities_t GetIMUCapabilities
Definition: Varjo_plugin.h:201
struct varjo_PluginUtilityAPI varjo_PluginUtilityAPI
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AttitudeY
Flag indicating the Y-axis attitude measurement is not valid.
Definition: Varjo_plugin.h:132
uint64_t varjo_IMUDataOffscale
Bit-field type determining which values of IMU data are off-scale.
Definition: Varjo_plugin.h:108
double x
Quaternion component x.
Definition: Varjo_plugin.h:405
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AttitudeY
Flag indicating the Y-axis attitude measurement is off-scale.
Definition: Varjo_plugin.h:116
varjo_Nanoseconds timeStamp
IMU sample timestamp (ns)
Definition: Varjo_plugin.h:156
uint64_t varjo_IMUCapability
Bit-field type determining capabilities of IMU hardware.
Definition: Varjo_plugin.h:98
double value[9]
Definition: Varjo_plugin.h:84
varjo_Matrix4x4(VARJO_FNTABLE_CALLTYPE * GetIMUToHMDTransform_t)(varjo_PluginUtilitySession session)
Returns transformation matrix between IMU and the HMD coordinate systems.
Definition: Varjo_plugin.h:209
static const varjo_IMUDataInvalid varjo_IMUDataInvalid_AngularVelocityZ
Flag indicating the Z-axis angular velocity measurement is not valid.
Definition: Varjo_plugin.h:130
ReadIMUSamples_t ReadIMUSamples
Definition: Varjo_plugin.h:258
static const varjo_PluginSystemState varjo_PluginSystemState_Warning
Plugin system is reporting a state requiring user attention e.g. battery low.
Definition: Varjo_plugin.h:169
static const varjo_IMUDataOffscale varjo_IMUDataOffscale_AttitudeZ
Flag indicating the Z-axis attitudey measurement is off-scale.
Definition: Varjo_plugin.h:117
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:345
SetPluginSystemState_t SetPluginSystemState
Definition: Varjo_plugin.h:351
double confidence
Tracker confidence.
Definition: Varjo_plugin.h:428
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:306
EnumConfigurationKeys_t EnumConfigurationKeys
Definition: Varjo_plugin.h:284
uint64_t varjo_PoseFlags
Bit-field type determining tracking status.
Definition: Varjo_plugin.h:389
int64_t frameNo
Frame number, increases monotonically.
Definition: Varjo_plugin.h:421
double value[16]
Definition: Varjo_plugin.h:92