2018-01-18 13:29:49 -06:00
|
|
|
#include "vrclient_private.h"
|
|
|
|
#include "vrclient_defs.h"
|
2018-06-05 09:37:23 -05:00
|
|
|
#include "openvr_v1.0.15/ivrclientcore.h"
|
2018-01-18 13:29:49 -06:00
|
|
|
using namespace vr;
|
|
|
|
extern "C" {
|
|
|
|
#include "struct_converters.h"
|
|
|
|
}
|
|
|
|
#include "cppIVRRenderModels_IVRRenderModels_005.h"
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2023-09-28 10:22:41 +02:00
|
|
|
|
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005
|
|
|
|
{
|
|
|
|
#ifdef __cplusplus
|
|
|
|
virtual uint32_t LoadRenderModel_Async( const char *, RenderModel_t ** ) = 0;
|
|
|
|
virtual void FreeRenderModel( RenderModel_t * ) = 0;
|
|
|
|
virtual uint32_t LoadTexture_Async( int32_t, RenderModel_TextureMap_t ** ) = 0;
|
|
|
|
virtual void FreeTexture( RenderModel_TextureMap_t * ) = 0;
|
|
|
|
virtual uint32_t LoadTextureD3D11_Async( int32_t, void *, void ** ) = 0;
|
|
|
|
virtual uint32_t LoadIntoTextureD3D11_Async( int32_t, void * ) = 0;
|
|
|
|
virtual void FreeTextureD3D11( void * ) = 0;
|
|
|
|
virtual uint32_t GetRenderModelName( uint32_t, char *, uint32_t ) = 0;
|
|
|
|
virtual uint32_t GetRenderModelCount( ) = 0;
|
|
|
|
virtual uint32_t GetComponentCount( const char * ) = 0;
|
|
|
|
virtual uint32_t GetComponentName( const char *, uint32_t, char *, uint32_t ) = 0;
|
|
|
|
virtual uint64_t GetComponentButtonMask( const char *, const char * ) = 0;
|
|
|
|
virtual uint32_t GetComponentRenderModelName( const char *, const char *, char *, uint32_t ) = 0;
|
|
|
|
virtual bool GetComponentState( const char *, const char *, const VRControllerState_t *, const RenderModel_ControllerMode_State_t *, RenderModel_ComponentState_t * ) = 0;
|
|
|
|
virtual bool RenderModelHasComponent( const char *, const char * ) = 0;
|
|
|
|
virtual uint32_t GetRenderModelThumbnailURL( const char *, char *, uint32_t, uint32_t * ) = 0;
|
|
|
|
virtual uint32_t GetRenderModelOriginalPath( const char *, char *, uint32_t, uint32_t * ) = 0;
|
|
|
|
virtual const char * GetRenderModelErrorNameFromEnum( uint32_t ) = 0;
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
};
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async( struct cppIVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
2023-09-27 14:09:21 +02:00
|
|
|
RenderModel_t *lin_ppRenderModel;
|
2023-09-28 10:22:41 +02:00
|
|
|
params->_ret = iface->LoadRenderModel_Async( params->pchRenderModelName, params->ppRenderModel ? &lin_ppRenderModel : nullptr );
|
2023-09-27 11:05:52 +02:00
|
|
|
if (params->_ret == 0)
|
|
|
|
*params->ppRenderModel = struct_RenderModel_t_1015_wrap( lin_ppRenderModel );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_FreeRenderModel( struct cppIVRRenderModels_IVRRenderModels_005_FreeRenderModel_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
iface->FreeRenderModel( struct_RenderModel_t_1015_unwrap( params->pRenderModel ) );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_LoadTexture_Async( struct cppIVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
2023-09-27 14:09:21 +02:00
|
|
|
RenderModel_TextureMap_t *lin_ppTexture;
|
2023-09-28 10:22:41 +02:00
|
|
|
params->_ret = iface->LoadTexture_Async( params->textureId, params->ppTexture ? &lin_ppTexture : nullptr );
|
2023-09-27 11:05:52 +02:00
|
|
|
if (params->_ret == 0)
|
|
|
|
*params->ppTexture = struct_RenderModel_TextureMap_t_1015_wrap( lin_ppTexture );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_FreeTexture( struct cppIVRRenderModels_IVRRenderModels_005_FreeTexture_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
iface->FreeTexture( struct_RenderModel_TextureMap_t_1015_unwrap( params->pTexture ) );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async( struct cppIVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->LoadTextureD3D11_Async( params->textureId, params->pD3D11Device, params->ppD3D11Texture2D );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async( struct cppIVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->LoadIntoTextureD3D11_Async( params->textureId, params->pDstTexture );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_FreeTextureD3D11( struct cppIVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
iface->FreeTextureD3D11( params->pD3D11Texture2D );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetRenderModelName( struct cppIVRRenderModels_IVRRenderModels_005_GetRenderModelName_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetRenderModelName( params->unRenderModelIndex, params->pchRenderModelName, params->unRenderModelNameLen );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetRenderModelCount( struct cppIVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetRenderModelCount( );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetComponentCount( struct cppIVRRenderModels_IVRRenderModels_005_GetComponentCount_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetComponentCount( params->pchRenderModelName );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetComponentName( struct cppIVRRenderModels_IVRRenderModels_005_GetComponentName_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetComponentName( params->pchRenderModelName, params->unComponentIndex, params->pchComponentName, params->unComponentNameLen );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetComponentButtonMask( struct cppIVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetComponentButtonMask( params->pchRenderModelName, params->pchComponentName );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName( struct cppIVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetComponentRenderModelName( params->pchRenderModelName, params->pchComponentName, params->pchComponentRenderModelName, params->unComponentRenderModelNameLen );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetComponentState( struct cppIVRRenderModels_IVRRenderModels_005_GetComponentState_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
VRControllerState_t lin_pControllerState;
|
2023-09-27 11:05:52 +02:00
|
|
|
if (params->pControllerState)
|
|
|
|
struct_VRControllerState001_t_1015_win_to_lin( params->pControllerState, &lin_pControllerState );
|
2023-09-28 10:22:41 +02:00
|
|
|
params->_ret = iface->GetComponentState( params->pchRenderModelName, params->pchComponentName, params->pControllerState ? &lin_pControllerState : nullptr, params->pState, params->pComponentState );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_RenderModelHasComponent( struct cppIVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->RenderModelHasComponent( params->pchRenderModelName, params->pchComponentName );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL( struct cppIVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetRenderModelThumbnailURL( params->pchRenderModelName, params->pchThumbnailURL, params->unThumbnailURLLen, params->peError );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath( struct cppIVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetRenderModelOriginalPath( params->pchRenderModelName, params->pchOriginalPath, params->unOriginalPathLen, params->peError );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
2023-09-27 11:05:52 +02:00
|
|
|
void cppIVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum( struct cppIVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params *params )
|
2018-01-18 13:29:49 -06:00
|
|
|
{
|
2023-09-28 10:22:41 +02:00
|
|
|
struct cppIVRRenderModels_IVRRenderModels_005 *iface = (struct cppIVRRenderModels_IVRRenderModels_005 *)params->linux_side;
|
|
|
|
params->_ret = iface->GetRenderModelErrorNameFromEnum( params->error );
|
2018-01-18 13:29:49 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|