Yucom/vrclient_x64/vrclient_x64/cppIVRRenderModels_IVRRenderModels_002.cpp

115 lines
6.4 KiB
C++
Raw Normal View History

2018-01-18 20:29:49 +01:00
#include "vrclient_private.h"
#include "vrclient_defs.h"
#include "openvr_v0.9.15/openvr.h"
using namespace vr;
extern "C" {
#include "struct_converters.h"
}
#include "cppIVRRenderModels_IVRRenderModels_002.h"
#ifdef __cplusplus
extern "C" {
#endif
struct cppIVRRenderModels_IVRRenderModels_002
{
#ifdef __cplusplus
virtual bool LoadRenderModel( const char *, RenderModel_t ** ) = 0;
virtual void FreeRenderModel( RenderModel_t * ) = 0;
virtual bool LoadTexture( int32_t, RenderModel_TextureMap_t ** ) = 0;
virtual void FreeTexture( RenderModel_TextureMap_t * ) = 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 *, RenderModel_ComponentState_t * ) = 0;
virtual bool RenderModelHasComponent( const char *, const char * ) = 0;
#endif /* __cplusplus */
};
void cppIVRRenderModels_IVRRenderModels_002_LoadRenderModel( struct cppIVRRenderModels_IVRRenderModels_002_LoadRenderModel_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
RenderModel_t *lin_ppRenderModel;
params->_ret = iface->LoadRenderModel( params->pchRenderModelName, params->ppRenderModel ? &lin_ppRenderModel : nullptr );
if (params->_ret == 0)
*params->ppRenderModel = struct_RenderModel_t_0915_wrap( lin_ppRenderModel );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_FreeRenderModel( struct cppIVRRenderModels_IVRRenderModels_002_FreeRenderModel_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
iface->FreeRenderModel( struct_RenderModel_t_0915_unwrap( params->pRenderModel ) );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_LoadTexture( struct cppIVRRenderModels_IVRRenderModels_002_LoadTexture_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
RenderModel_TextureMap_t *lin_ppTexture;
params->_ret = iface->LoadTexture( params->textureId, params->ppTexture ? &lin_ppTexture : nullptr );
if (params->_ret == 0)
*params->ppTexture = struct_RenderModel_TextureMap_t_0915_wrap( lin_ppTexture );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_FreeTexture( struct cppIVRRenderModels_IVRRenderModels_002_FreeTexture_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
iface->FreeTexture( struct_RenderModel_TextureMap_t_0915_unwrap( params->pTexture ) );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_GetRenderModelName( struct cppIVRRenderModels_IVRRenderModels_002_GetRenderModelName_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
params->_ret = iface->GetRenderModelName( params->unRenderModelIndex, params->pchRenderModelName, params->unRenderModelNameLen );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_GetRenderModelCount( struct cppIVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
params->_ret = iface->GetRenderModelCount( );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_GetComponentCount( struct cppIVRRenderModels_IVRRenderModels_002_GetComponentCount_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
params->_ret = iface->GetComponentCount( params->pchRenderModelName );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_GetComponentName( struct cppIVRRenderModels_IVRRenderModels_002_GetComponentName_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
params->_ret = iface->GetComponentName( params->pchRenderModelName, params->unComponentIndex, params->pchComponentName, params->unComponentNameLen );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_GetComponentButtonMask( struct cppIVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
params->_ret = iface->GetComponentButtonMask( params->pchRenderModelName, params->pchComponentName );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName( struct cppIVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
params->_ret = iface->GetComponentRenderModelName( params->pchRenderModelName, params->pchComponentName, params->pchComponentRenderModelName, params->unComponentRenderModelNameLen );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_GetComponentState( struct cppIVRRenderModels_IVRRenderModels_002_GetComponentState_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
VRControllerState_t lin_pControllerState;
if (params->pControllerState)
struct_VRControllerState001_t_0915_win_to_lin( params->pControllerState, &lin_pControllerState );
params->_ret = iface->GetComponentState( params->pchRenderModelName, params->pchComponentName, params->pControllerState ? &lin_pControllerState : nullptr, params->pComponentState );
2018-01-18 20:29:49 +01:00
}
void cppIVRRenderModels_IVRRenderModels_002_RenderModelHasComponent( struct cppIVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params *params )
2018-01-18 20:29:49 +01:00
{
struct cppIVRRenderModels_IVRRenderModels_002 *iface = (struct cppIVRRenderModels_IVRRenderModels_002 *)params->linux_side;
params->_ret = iface->RenderModelHasComponent( params->pchRenderModelName, params->pchComponentName );
2018-01-18 20:29:49 +01:00
}
#ifdef __cplusplus
}
#endif