mirror of
https://github.com/mii443/rust-openvr.git
synced 2025-08-23 08:45:31 +00:00
113 lines
2.6 KiB
C++
113 lines
2.6 KiB
C++
#include "OVR.h"
|
|
|
|
extern "C"
|
|
{
|
|
void OVR_system_init(void)
|
|
{
|
|
OVR::System::Init(OVR::Log::ConfigureDefaultLog(OVR::LogMask_All));
|
|
}
|
|
|
|
OVR::DeviceManager* OVR_DeviceManager_Create(void)
|
|
{
|
|
return OVR::DeviceManager::Create();
|
|
}
|
|
|
|
OVR::HMDDevice* OVR_DeviceManager_EnumerateDevices(OVR::DeviceManager* pManager)
|
|
{
|
|
return pManager->EnumerateDevices<OVR::HMDDevice>().CreateDevice();
|
|
}
|
|
|
|
OVR::HMDInfo* OVR_HDMDevice_GetDeviceInfo(OVR::HMDDevice* pHMD)
|
|
{
|
|
OVR::HMDInfo *hdm = new OVR::HMDInfo;
|
|
pHMD->GetDeviceInfo(hdm);
|
|
return hdm;
|
|
}
|
|
|
|
OVR::SensorDevice* OVR_HDMDevice_GetSensor(OVR::HMDDevice* pHMD)
|
|
{
|
|
return pHMD->GetSensor();
|
|
}
|
|
|
|
OVR::SensorFusion* OVR_SensorFusion(OVR::HMDDevice* pHMD)
|
|
{
|
|
OVR::SensorFusion* SFusion = new OVR::SensorFusion;
|
|
return SFusion;
|
|
}
|
|
|
|
bool OVR_SensorFusion_AttachToSensor(OVR::SensorFusion* SFusion, OVR::SensorDevice *pSensor)
|
|
{
|
|
return (*SFusion).AttachToSensor(pSensor);
|
|
}
|
|
|
|
|
|
unsigned OVR_HMDInfo_GetScreenHResolution(OVR::HMDInfo* info)
|
|
{
|
|
return info->HResolution;
|
|
}
|
|
|
|
unsigned OVR_HMDInfo_GetScreenVResolution(OVR::HMDInfo* info)
|
|
{
|
|
return info->VResolution;
|
|
}
|
|
|
|
float OVR_HMDInfo_GetHScreenSize(OVR::HMDInfo* info)
|
|
{
|
|
return info->HScreenSize;
|
|
}
|
|
|
|
float OVR_HMDInfo_GetVScreenSize(OVR::HMDInfo* info)
|
|
{
|
|
return info->VScreenSize;
|
|
}
|
|
|
|
float OVR_HMDInfo_GetVScreenCenter(OVR::HMDInfo* info)
|
|
{
|
|
return info->VScreenCenter;
|
|
}
|
|
|
|
float OVR_HMDInfo_GetEyeToScreenDistance(OVR::HMDInfo* info)
|
|
{
|
|
return info->EyeToScreenDistance;
|
|
}
|
|
|
|
float OVR_HMDInfo_GetLensSeparationDistance(OVR::HMDInfo* info)
|
|
{
|
|
return info->LensSeparationDistance;
|
|
}
|
|
|
|
float OVR_HMDInfo_GetInterpupillaryDistance(OVR::HMDInfo* info)
|
|
{
|
|
return info->InterpupillaryDistance;
|
|
}
|
|
|
|
float OVR_HMDInfo_GetDistortionK(OVR::HMDInfo* info, int idx)
|
|
{
|
|
return info->DistortionK[idx];
|
|
}
|
|
|
|
float OVR_HMDInfo_GetChromaAbCorrection(OVR::HMDInfo* info, int idx)
|
|
{
|
|
return info->ChromaAbCorrection[idx];
|
|
}
|
|
|
|
unsigned OVR_HMDInfo_GetDesktopX(OVR::HMDInfo* info)
|
|
{
|
|
return info->HResolution;
|
|
}
|
|
|
|
unsigned OVR_HMDInfo_GetDesktopY(OVR::HMDInfo* info)
|
|
{
|
|
return info->DesktopY;
|
|
}
|
|
|
|
char* OVR_HMDInfo_GetDisplayDeviceName(OVR::HMDInfo* info)
|
|
{
|
|
return info->DisplayDeviceName;
|
|
}
|
|
|
|
long OVR_HMDInfo_GetDisplayId(OVR::HMDInfo* info)
|
|
{
|
|
return info->DisplayId;
|
|
}
|
|
} |