2018-01-18 22:29:49 +03:00
|
|
|
#include "vrclient_private.h"
|
|
|
|
#include "vrclient_defs.h"
|
|
|
|
#include "openvr_v0.9.18/openvr.h"
|
|
|
|
using namespace vr;
|
|
|
|
extern "C" {
|
|
|
|
#include "struct_converters.h"
|
|
|
|
}
|
|
|
|
#include "cppIVRSystem_IVRSystem_011.h"
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2023-09-28 11:22:41 +03:00
|
|
|
|
|
|
|
struct cppIVRSystem_IVRSystem_011
|
|
|
|
{
|
|
|
|
#ifdef __cplusplus
|
|
|
|
virtual void GetRecommendedRenderTargetSize( uint32_t *, uint32_t * ) = 0;
|
|
|
|
virtual HmdMatrix44_t GetProjectionMatrix( uint32_t, float, float, uint32_t ) = 0;
|
|
|
|
virtual void GetProjectionRaw( uint32_t, float *, float *, float *, float * ) = 0;
|
|
|
|
virtual DistortionCoordinates_t ComputeDistortion( uint32_t, float, float ) = 0;
|
|
|
|
virtual HmdMatrix34_t GetEyeToHeadTransform( uint32_t ) = 0;
|
|
|
|
virtual bool GetTimeSinceLastVsync( float *, uint64_t * ) = 0;
|
|
|
|
virtual int32_t GetD3D9AdapterIndex( ) = 0;
|
|
|
|
virtual void GetDXGIOutputInfo( int32_t * ) = 0;
|
|
|
|
virtual bool IsDisplayOnDesktop( ) = 0;
|
|
|
|
virtual bool SetDisplayVisibility( bool ) = 0;
|
|
|
|
virtual void GetDeviceToAbsoluteTrackingPose( uint32_t, float, TrackedDevicePose_t *, uint32_t ) = 0;
|
|
|
|
virtual void ResetSeatedZeroPose( ) = 0;
|
|
|
|
virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose( ) = 0;
|
|
|
|
virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose( ) = 0;
|
|
|
|
virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( uint32_t, uint32_t *, uint32_t, uint32_t ) = 0;
|
|
|
|
virtual uint32_t GetTrackedDeviceActivityLevel( uint32_t ) = 0;
|
|
|
|
virtual void ApplyTransform( TrackedDevicePose_t *, const TrackedDevicePose_t *, const HmdMatrix34_t * ) = 0;
|
|
|
|
virtual uint32_t GetTrackedDeviceIndexForControllerRole( uint32_t ) = 0;
|
|
|
|
virtual uint32_t GetControllerRoleForTrackedDeviceIndex( uint32_t ) = 0;
|
|
|
|
virtual uint32_t GetTrackedDeviceClass( uint32_t ) = 0;
|
|
|
|
virtual bool IsTrackedDeviceConnected( uint32_t ) = 0;
|
|
|
|
virtual bool GetBoolTrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0;
|
|
|
|
virtual float GetFloatTrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0;
|
|
|
|
virtual int32_t GetInt32TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0;
|
|
|
|
virtual uint64_t GetUint64TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0;
|
|
|
|
virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0;
|
|
|
|
virtual uint32_t GetStringTrackedDeviceProperty( uint32_t, uint32_t, char *, uint32_t, uint32_t * ) = 0;
|
|
|
|
virtual const char * GetPropErrorNameFromEnum( uint32_t ) = 0;
|
|
|
|
virtual bool PollNextEvent( VREvent_t *, uint32_t ) = 0;
|
|
|
|
virtual bool PollNextEventWithPose( uint32_t, VREvent_t *, uint32_t, TrackedDevicePose_t * ) = 0;
|
|
|
|
virtual const char * GetEventTypeNameFromEnum( uint32_t ) = 0;
|
|
|
|
virtual HiddenAreaMesh_t GetHiddenAreaMesh( uint32_t ) = 0;
|
|
|
|
virtual bool GetControllerState( uint32_t, VRControllerState_t * ) = 0;
|
|
|
|
virtual bool GetControllerStateWithPose( uint32_t, uint32_t, VRControllerState_t *, TrackedDevicePose_t * ) = 0;
|
|
|
|
virtual void TriggerHapticPulse( uint32_t, uint32_t, uint16_t ) = 0;
|
|
|
|
virtual const char * GetButtonIdNameFromEnum( uint32_t ) = 0;
|
|
|
|
virtual const char * GetControllerAxisTypeNameFromEnum( uint32_t ) = 0;
|
|
|
|
virtual bool CaptureInputFocus( ) = 0;
|
|
|
|
virtual void ReleaseInputFocus( ) = 0;
|
|
|
|
virtual bool IsInputFocusCapturedByAnotherProcess( ) = 0;
|
|
|
|
virtual uint32_t DriverDebugRequest( uint32_t, const char *, char *, uint32_t ) = 0;
|
|
|
|
virtual uint32_t PerformFirmwareUpdate( uint32_t ) = 0;
|
|
|
|
virtual void AcknowledgeQuit_Exiting( ) = 0;
|
|
|
|
virtual void AcknowledgeQuit_UserPrompt( ) = 0;
|
|
|
|
virtual void PerformanceTestEnableCapture( bool ) = 0;
|
|
|
|
virtual void PerformanceTestReportFidelityLevelChange( int32_t ) = 0;
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
};
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize( struct cppIVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->GetRecommendedRenderTargetSize( params->pnWidth, params->pnHeight );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetProjectionMatrix( struct cppIVRSystem_IVRSystem_011_GetProjectionMatrix_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
*params->_ret = iface->GetProjectionMatrix( params->eEye, params->fNearZ, params->fFarZ, params->eProjType );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetProjectionRaw( struct cppIVRSystem_IVRSystem_011_GetProjectionRaw_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->GetProjectionRaw( params->eEye, params->pfLeft, params->pfRight, params->pfTop, params->pfBottom );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_ComputeDistortion( struct cppIVRSystem_IVRSystem_011_ComputeDistortion_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
*params->_ret = iface->ComputeDistortion( params->eEye, params->fU, params->fV );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetEyeToHeadTransform( struct cppIVRSystem_IVRSystem_011_GetEyeToHeadTransform_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
*params->_ret = iface->GetEyeToHeadTransform( params->eEye );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetTimeSinceLastVsync( struct cppIVRSystem_IVRSystem_011_GetTimeSinceLastVsync_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetTimeSinceLastVsync( params->pfSecondsSinceLastVsync, params->pulFrameCounter );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetD3D9AdapterIndex( struct cppIVRSystem_IVRSystem_011_GetD3D9AdapterIndex_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetD3D9AdapterIndex( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetDXGIOutputInfo( struct cppIVRSystem_IVRSystem_011_GetDXGIOutputInfo_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->GetDXGIOutputInfo( params->pnAdapterIndex );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_IsDisplayOnDesktop( struct cppIVRSystem_IVRSystem_011_IsDisplayOnDesktop_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->IsDisplayOnDesktop( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_SetDisplayVisibility( struct cppIVRSystem_IVRSystem_011_SetDisplayVisibility_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->SetDisplayVisibility( params->bIsVisibleOnDesktop );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose( struct cppIVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->GetDeviceToAbsoluteTrackingPose( params->eOrigin, params->fPredictedSecondsToPhotonsFromNow, params->pTrackedDevicePoseArray, params->unTrackedDevicePoseArrayCount );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_ResetSeatedZeroPose( struct cppIVRSystem_IVRSystem_011_ResetSeatedZeroPose_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->ResetSeatedZeroPose( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( struct cppIVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
*params->_ret = iface->GetSeatedZeroPoseToStandingAbsoluteTrackingPose( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose( struct cppIVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
*params->_ret = iface->GetRawZeroPoseToStandingAbsoluteTrackingPose( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass( struct cppIVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetSortedTrackedDeviceIndicesOfClass( params->eTrackedDeviceClass, params->punTrackedDeviceIndexArray, params->unTrackedDeviceIndexArrayCount, params->unRelativeToTrackedDeviceIndex );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel( struct cppIVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetTrackedDeviceActivityLevel( params->unDeviceId );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_ApplyTransform( struct cppIVRSystem_IVRSystem_011_ApplyTransform_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->ApplyTransform( params->pOutputPose, params->pTrackedDevicePose, params->pTransform );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole( struct cppIVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetTrackedDeviceIndexForControllerRole( params->unDeviceType );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex( struct cppIVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetControllerRoleForTrackedDeviceIndex( params->unDeviceIndex );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetTrackedDeviceClass( struct cppIVRSystem_IVRSystem_011_GetTrackedDeviceClass_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetTrackedDeviceClass( params->unDeviceIndex );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_IsTrackedDeviceConnected( struct cppIVRSystem_IVRSystem_011_IsTrackedDeviceConnected_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->IsTrackedDeviceConnected( params->unDeviceIndex );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty( struct cppIVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetBoolTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty( struct cppIVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetFloatTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty( struct cppIVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetInt32TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty( struct cppIVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetUint64TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty( struct cppIVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
*params->_ret = iface->GetMatrix34TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty( struct cppIVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetStringTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pchValue, params->unBufferSize, params->pError );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetPropErrorNameFromEnum( struct cppIVRSystem_IVRSystem_011_GetPropErrorNameFromEnum_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetPropErrorNameFromEnum( params->error );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_PollNextEvent( struct cppIVRSystem_IVRSystem_011_PollNextEvent_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
2023-09-27 15:09:21 +03:00
|
|
|
VREvent_t lin_pEvent;
|
2023-09-27 12:05:52 +03:00
|
|
|
if (params->pEvent)
|
|
|
|
struct_VREvent_t_0918_win_to_lin( params->pEvent, &lin_pEvent );
|
|
|
|
uint32_t lin_uncbVREvent = params->uncbVREvent ? sizeof(lin_pEvent) : 0;
|
2023-09-28 11:22:41 +03:00
|
|
|
params->_ret = iface->PollNextEvent( params->pEvent ? &lin_pEvent : nullptr, lin_uncbVREvent );
|
2023-09-27 12:05:52 +03:00
|
|
|
if (params->pEvent)
|
|
|
|
struct_VREvent_t_0918_lin_to_win( &lin_pEvent, params->pEvent, params->uncbVREvent );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_PollNextEventWithPose( struct cppIVRSystem_IVRSystem_011_PollNextEventWithPose_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
2023-09-27 15:09:21 +03:00
|
|
|
VREvent_t lin_pEvent;
|
2023-09-27 12:05:52 +03:00
|
|
|
if (params->pEvent)
|
|
|
|
struct_VREvent_t_0918_win_to_lin( params->pEvent, &lin_pEvent );
|
|
|
|
uint32_t lin_uncbVREvent = params->uncbVREvent ? sizeof(lin_pEvent) : 0;
|
2023-09-28 11:22:41 +03:00
|
|
|
params->_ret = iface->PollNextEventWithPose( params->eOrigin, params->pEvent ? &lin_pEvent : nullptr, lin_uncbVREvent, params->pTrackedDevicePose );
|
2023-09-27 12:05:52 +03:00
|
|
|
if (params->pEvent)
|
|
|
|
struct_VREvent_t_0918_lin_to_win( &lin_pEvent, params->pEvent, params->uncbVREvent );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetEventTypeNameFromEnum( struct cppIVRSystem_IVRSystem_011_GetEventTypeNameFromEnum_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetEventTypeNameFromEnum( params->eType );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetHiddenAreaMesh( struct cppIVRSystem_IVRSystem_011_GetHiddenAreaMesh_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
*params->_ret = iface->GetHiddenAreaMesh( params->eEye );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetControllerState( struct cppIVRSystem_IVRSystem_011_GetControllerState_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
VRControllerState_t lin_pControllerState;
|
2023-09-27 12:05:52 +03:00
|
|
|
if (params->pControllerState)
|
|
|
|
struct_VRControllerState001_t_0918_win_to_lin( params->pControllerState, &lin_pControllerState );
|
2023-09-28 11:22:41 +03:00
|
|
|
params->_ret = iface->GetControllerState( params->unControllerDeviceIndex, params->pControllerState ? &lin_pControllerState : nullptr );
|
2023-09-27 12:05:52 +03:00
|
|
|
if (params->pControllerState)
|
|
|
|
struct_VRControllerState001_t_0918_lin_to_win( &lin_pControllerState, params->pControllerState, -1 );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetControllerStateWithPose( struct cppIVRSystem_IVRSystem_011_GetControllerStateWithPose_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
VRControllerState_t lin_pControllerState;
|
2023-09-27 12:05:52 +03:00
|
|
|
if (params->pControllerState)
|
|
|
|
struct_VRControllerState001_t_0918_win_to_lin( params->pControllerState, &lin_pControllerState );
|
2023-09-28 11:22:41 +03:00
|
|
|
params->_ret = iface->GetControllerStateWithPose( params->eOrigin, params->unControllerDeviceIndex, params->pControllerState ? &lin_pControllerState : nullptr, params->pTrackedDevicePose );
|
2023-09-27 12:05:52 +03:00
|
|
|
if (params->pControllerState)
|
|
|
|
struct_VRControllerState001_t_0918_lin_to_win( &lin_pControllerState, params->pControllerState, -1 );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_TriggerHapticPulse( struct cppIVRSystem_IVRSystem_011_TriggerHapticPulse_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->TriggerHapticPulse( params->unControllerDeviceIndex, params->unAxisId, params->usDurationMicroSec );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetButtonIdNameFromEnum( struct cppIVRSystem_IVRSystem_011_GetButtonIdNameFromEnum_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetButtonIdNameFromEnum( params->eButtonId );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum( struct cppIVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetControllerAxisTypeNameFromEnum( params->eAxisType );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_CaptureInputFocus( struct cppIVRSystem_IVRSystem_011_CaptureInputFocus_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->CaptureInputFocus( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_ReleaseInputFocus( struct cppIVRSystem_IVRSystem_011_ReleaseInputFocus_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->ReleaseInputFocus( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess( struct cppIVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->IsInputFocusCapturedByAnotherProcess( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_DriverDebugRequest( struct cppIVRSystem_IVRSystem_011_DriverDebugRequest_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->DriverDebugRequest( params->unDeviceIndex, params->pchRequest, params->pchResponseBuffer, params->unResponseBufferSize );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_PerformFirmwareUpdate( struct cppIVRSystem_IVRSystem_011_PerformFirmwareUpdate_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
params->_ret = iface->PerformFirmwareUpdate( params->unDeviceIndex );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting( struct cppIVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->AcknowledgeQuit_Exiting( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt( struct cppIVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->AcknowledgeQuit_UserPrompt( );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_PerformanceTestEnableCapture( struct cppIVRSystem_IVRSystem_011_PerformanceTestEnableCapture_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->PerformanceTestEnableCapture( params->bEnable );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
2023-09-27 12:05:52 +03:00
|
|
|
void cppIVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange( struct cppIVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange_params *params )
|
2018-01-18 22:29:49 +03:00
|
|
|
{
|
2023-09-28 11:22:41 +03:00
|
|
|
struct cppIVRSystem_IVRSystem_011 *iface = (struct cppIVRSystem_IVRSystem_011 *)params->linux_side;
|
|
|
|
iface->PerformanceTestReportFidelityLevelChange( params->nFidelityLevel );
|
2018-01-18 22:29:49 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|