Proton/vrclient_x64/vrclient_x64/cppIVRTrackedCamera_IVRTrackedCamera_005.cpp

124 lines
8.0 KiB
C++
Raw Normal View History

2018-12-14 13:20:13 -06:00
#include "vrclient_private.h"
#include "vrclient_defs.h"
2019-08-16 09:10:37 -05:00
#include "openvr_v1.6.10/ivrclientcore.h"
2018-12-14 13:20:13 -06:00
using namespace vr;
extern "C" {
#include "struct_converters.h"
}
#include "cppIVRTrackedCamera_IVRTrackedCamera_005.h"
#ifdef __cplusplus
extern "C" {
#endif
struct cppIVRTrackedCamera_IVRTrackedCamera_005
{
#ifdef __cplusplus
virtual const char * GetCameraErrorNameFromEnum( uint32_t ) = 0;
virtual uint32_t HasCamera( uint32_t, bool * ) = 0;
virtual uint32_t GetCameraFrameSize( uint32_t, uint32_t, uint32_t *, uint32_t *, uint32_t * ) = 0;
virtual uint32_t GetCameraIntrinsics( uint32_t, uint32_t, uint32_t, HmdVector2_t *, HmdVector2_t * ) = 0;
virtual uint32_t GetCameraProjection( uint32_t, uint32_t, uint32_t, float, float, HmdMatrix44_t * ) = 0;
virtual uint32_t AcquireVideoStreamingService( uint32_t, uint64_t * ) = 0;
virtual uint32_t ReleaseVideoStreamingService( uint64_t ) = 0;
virtual uint32_t GetVideoStreamFrameBuffer( uint64_t, uint32_t, void *, uint32_t, CameraVideoStreamFrameHeader_t *, uint32_t ) = 0;
virtual uint32_t GetVideoStreamTextureSize( uint32_t, uint32_t, VRTextureBounds_t *, uint32_t *, uint32_t * ) = 0;
virtual uint32_t GetVideoStreamTextureD3D11( uint64_t, uint32_t, void *, void **, CameraVideoStreamFrameHeader_t *, uint32_t ) = 0;
virtual uint32_t GetVideoStreamTextureGL( uint64_t, uint32_t, uint32_t *, CameraVideoStreamFrameHeader_t *, uint32_t ) = 0;
virtual uint32_t ReleaseVideoStreamTextureGL( uint64_t, uint32_t ) = 0;
#endif /* __cplusplus */
};
void cppIVRTrackedCamera_IVRTrackedCamera_005_GetCameraErrorNameFromEnum( struct cppIVRTrackedCamera_IVRTrackedCamera_005_GetCameraErrorNameFromEnum_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->GetCameraErrorNameFromEnum( params->eCameraError );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_HasCamera( struct cppIVRTrackedCamera_IVRTrackedCamera_005_HasCamera_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->HasCamera( params->nDeviceIndex, params->pHasCamera );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_GetCameraFrameSize( struct cppIVRTrackedCamera_IVRTrackedCamera_005_GetCameraFrameSize_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->GetCameraFrameSize( params->nDeviceIndex, params->eFrameType, params->pnWidth, params->pnHeight, params->pnFrameBufferSize );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_GetCameraIntrinsics( struct cppIVRTrackedCamera_IVRTrackedCamera_005_GetCameraIntrinsics_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->GetCameraIntrinsics( params->nDeviceIndex, params->nCameraIndex, params->eFrameType, params->pFocalLength, params->pCenter );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_GetCameraProjection( struct cppIVRTrackedCamera_IVRTrackedCamera_005_GetCameraProjection_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->GetCameraProjection( params->nDeviceIndex, params->nCameraIndex, params->eFrameType, params->flZNear, params->flZFar, params->pProjection );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_AcquireVideoStreamingService( struct cppIVRTrackedCamera_IVRTrackedCamera_005_AcquireVideoStreamingService_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->AcquireVideoStreamingService( params->nDeviceIndex, params->pHandle );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_ReleaseVideoStreamingService( struct cppIVRTrackedCamera_IVRTrackedCamera_005_ReleaseVideoStreamingService_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->ReleaseVideoStreamingService( params->hTrackedCamera );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamFrameBuffer( struct cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamFrameBuffer_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
CameraVideoStreamFrameHeader_t lin_pFrameHeader;
if (params->pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_win_to_lin( params->pFrameHeader, &lin_pFrameHeader );
uint32_t lin_nFrameHeaderSize = params->nFrameHeaderSize ? sizeof(lin_pFrameHeader) : 0;
params->_ret = iface->GetVideoStreamFrameBuffer( params->hTrackedCamera, params->eFrameType, params->pFrameBuffer, params->nFrameBufferSize, params->pFrameHeader ? &lin_pFrameHeader : nullptr, lin_nFrameHeaderSize );
if (params->pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_lin_to_win( &lin_pFrameHeader, params->pFrameHeader, params->nFrameHeaderSize );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureSize( struct cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureSize_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->GetVideoStreamTextureSize( params->nDeviceIndex, params->eFrameType, params->pTextureBounds, params->pnWidth, params->pnHeight );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureD3D11( struct cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureD3D11_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
CameraVideoStreamFrameHeader_t lin_pFrameHeader;
if (params->pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_win_to_lin( params->pFrameHeader, &lin_pFrameHeader );
uint32_t lin_nFrameHeaderSize = params->nFrameHeaderSize ? sizeof(lin_pFrameHeader) : 0;
params->_ret = iface->GetVideoStreamTextureD3D11( params->hTrackedCamera, params->eFrameType, params->pD3D11DeviceOrResource, params->ppD3D11ShaderResourceView, params->pFrameHeader ? &lin_pFrameHeader : nullptr, lin_nFrameHeaderSize );
if (params->pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_lin_to_win( &lin_pFrameHeader, params->pFrameHeader, params->nFrameHeaderSize );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureGL( struct cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureGL_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
CameraVideoStreamFrameHeader_t lin_pFrameHeader;
if (params->pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_win_to_lin( params->pFrameHeader, &lin_pFrameHeader );
uint32_t lin_nFrameHeaderSize = params->nFrameHeaderSize ? sizeof(lin_pFrameHeader) : 0;
params->_ret = iface->GetVideoStreamTextureGL( params->hTrackedCamera, params->eFrameType, params->pglTextureId, params->pFrameHeader ? &lin_pFrameHeader : nullptr, lin_nFrameHeaderSize );
if (params->pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_lin_to_win( &lin_pFrameHeader, params->pFrameHeader, params->nFrameHeaderSize );
2018-12-14 13:20:13 -06:00
}
void cppIVRTrackedCamera_IVRTrackedCamera_005_ReleaseVideoStreamTextureGL( struct cppIVRTrackedCamera_IVRTrackedCamera_005_ReleaseVideoStreamTextureGL_params *params )
2018-12-14 13:20:13 -06:00
{
struct cppIVRTrackedCamera_IVRTrackedCamera_005 *iface = (struct cppIVRTrackedCamera_IVRTrackedCamera_005 *)params->linux_side;
params->_ret = iface->ReleaseVideoStreamTextureGL( params->hTrackedCamera, params->glTextureId );
2018-12-14 13:20:13 -06:00
}
#ifdef __cplusplus
}
#endif