You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
774 lines
33 KiB
774 lines
33 KiB
package com.jme3.system.jopenvr;
|
|
|
|
import com.jme3.input.vr.openvr.OpenVRInput;
|
|
import com.jme3.system.jopenvr.JOpenVRLibrary.EColorSpace;
|
|
import com.jme3.system.jopenvr.JOpenVRLibrary.ETextureType;
|
|
import com.jme3.system.jopenvr.JOpenVRLibrary.ETrackedDeviceProperty;
|
|
import com.jme3.system.jopenvr.JOpenVRLibrary.ETrackedPropertyError;
|
|
import com.jme3.system.jopenvr.JOpenVRLibrary.EVRCompositorError;
|
|
import com.jme3.system.jopenvr.JOpenVRLibrary.EVRInitError;
|
|
import com.sun.jna.Memory;
|
|
import com.sun.jna.Pointer;
|
|
import com.sun.jna.ptr.IntByReference;
|
|
|
|
/**
|
|
* A utility class that provide helper methods for OpenVR system.
|
|
* @author Julien Seinturier - 2017 - <a href="http://www.seinturier.fr">http://www.seinturier.fr</a>
|
|
*/
|
|
public class OpenVRUtil {
|
|
|
|
/**
|
|
* Get the value of the given string {@link JOpenVRLibrary.ETrackedDeviceProperty property} attached to the given device.
|
|
* @param system the underlying OpenVR system.
|
|
* @param deviceIndex the index of the device to query.
|
|
* @param property the property to query.
|
|
* @param bufferSize the size of the buffer to use for storing native string.
|
|
* @return the value of the given string property attached to the given device.
|
|
* @see OpenVRInput#getTrackedControllerCount()
|
|
* @see JOpenVRLibrary.ETrackedDeviceProperty
|
|
* @see #getTrackedDeviceStringProperty(VR_IVRSystem_FnTable, int, int)
|
|
*/
|
|
public static String getTrackedDeviceStringProperty(VR_IVRSystem_FnTable system, int deviceIndex, int property, int bufferSize){
|
|
String str ="";
|
|
|
|
int unBufferSize = 256;
|
|
Pointer pchValue = new Memory(unBufferSize);
|
|
IntByReference pError = new IntByReference();
|
|
|
|
system.GetStringTrackedDeviceProperty.apply(deviceIndex, property, pchValue, unBufferSize, pError);
|
|
|
|
if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_Success){
|
|
str = pchValue.getString(0);
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_BufferTooSmall){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_CouldNotContactServer){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_InvalidDevice){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_InvalidOperation){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_NotYetAvailable){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_PermissionDenied){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_UnknownProperty){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_WrongDataType){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else if (pError.getValue() == ETrackedPropertyError.ETrackedPropertyError_TrackedProp_WrongDeviceClass){
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
} else {
|
|
throw new IllegalArgumentException("Cannot access property \""+getETrackedDevicePropertyString(property)+"\" ("+property+") for device "+deviceIndex+": "+getETrackedPropertyErrorString(pError.getValue())+" ("+pError.getValue()+")");
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
/**
|
|
* Get the value of the given string {@link JOpenVRLibrary.ETrackedDeviceProperty property} attached to the given device.
|
|
* @param system the underlying OpenVR system.
|
|
* @param deviceIndex the index of the device to query.
|
|
* @param property the property to query.
|
|
* @return the value of the given string property attached to the given device.
|
|
* @see OpenVRInput#getTrackedControllerCount()
|
|
* @see JOpenVRLibrary.ETrackedDeviceProperty
|
|
* @see #getTrackedDeviceStringProperty(VR_IVRSystem_FnTable, int, int, int)
|
|
*/
|
|
public static String getTrackedDeviceStringProperty(VR_IVRSystem_FnTable system, int deviceIndex, int property){
|
|
return getTrackedDeviceStringProperty(system, deviceIndex, property, 256);
|
|
}
|
|
|
|
/**
|
|
* Get the String description of the given {@link ETrackedPropertyError string tracked property error}.
|
|
* @param error the string tracked property error.
|
|
* @return the String description of the given string tracked property error.
|
|
*/
|
|
public static String getETrackedPropertyErrorString(int error){
|
|
String str ="";
|
|
|
|
switch(error){
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_Success:
|
|
str = "Success";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_WrongDataType:
|
|
str = "Wrong data type";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_WrongDeviceClass:
|
|
str = "Wrong device class";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_BufferTooSmall:
|
|
str = "Buffer too small";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_UnknownProperty:
|
|
str = "Unknown property";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_InvalidDevice:
|
|
str = "Invalid device";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_CouldNotContactServer:
|
|
str = "Could not contact server";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice:
|
|
str = "Value not provided by device";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength:
|
|
str = "String exceed maximum length";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_NotYetAvailable:
|
|
str = "Not yet available";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_PermissionDenied:
|
|
str = "Permission denied";
|
|
break;
|
|
case ETrackedPropertyError.ETrackedPropertyError_TrackedProp_InvalidOperation:
|
|
str = "Invalid operation";
|
|
break;
|
|
default:
|
|
str = "Not handled error";
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
/**
|
|
* Get the description of the given {@link EColorSpace color space}.
|
|
* @param eColorSpace the color space.
|
|
* @return the description of the given color space.
|
|
*/
|
|
public static String getEColorSpaceString(int eColorSpace){
|
|
String str = "";
|
|
|
|
switch(eColorSpace){
|
|
case EColorSpace.EColorSpace_ColorSpace_Auto:
|
|
str = "Auto";
|
|
break;
|
|
case EColorSpace.EColorSpace_ColorSpace_Gamma:
|
|
str = "Gamma";
|
|
break;
|
|
case EColorSpace.EColorSpace_ColorSpace_Linear:
|
|
str = "Linear";
|
|
break;
|
|
default:
|
|
str = "Unknown ("+eColorSpace+")";
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
/**
|
|
* Get the description of the given {@link ETextureType texture type}.
|
|
* @param type the texture type
|
|
* @return the description of the given texture type.
|
|
*/
|
|
public static String getETextureTypeString(int type){
|
|
|
|
String str = "";
|
|
|
|
switch(type){
|
|
case ETextureType.ETextureType_TextureType_DirectX:
|
|
str = "DirectX";
|
|
break;
|
|
case ETextureType.ETextureType_TextureType_OpenGL:
|
|
str = "OpenGL";
|
|
break;
|
|
case ETextureType.ETextureType_TextureType_Vulkan:
|
|
str = "Vulkan";
|
|
break;
|
|
case ETextureType.ETextureType_TextureType_IOSurface:
|
|
str = "IOSurface";
|
|
break;
|
|
case ETextureType.ETextureType_TextureType_DirectX12:
|
|
str = "DirectX12";
|
|
break;
|
|
default:
|
|
str = "Unknown ("+type+")";
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
/**
|
|
* Get the description of the given {@link EVRCompositorError EVR compositor error}.
|
|
* @param error the EVR compositor error.
|
|
* @return the description of the given EVR compositor error.
|
|
*/
|
|
public static String getEVRCompositorErrorString(int error){
|
|
String str ="";
|
|
|
|
switch(error){
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_None:
|
|
str = "None";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_RequestFailed:
|
|
str = "Request failed";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_IncompatibleVersion:
|
|
str = "Incompatible version";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_DoNotHaveFocus:
|
|
str = "Do not have focus";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_InvalidTexture:
|
|
str = "Invalid texture";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_IsNotSceneApplication:
|
|
str = "Is not scene application";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice:
|
|
str = "Texture is on wrong device";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat:
|
|
str = "Texture uses unsupported format";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_SharedTexturesNotSupported:
|
|
str = "Shared textures not supported";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_IndexOutOfRange:
|
|
str = "Index out of range";
|
|
break;
|
|
case EVRCompositorError.EVRCompositorError_VRCompositorError_AlreadySubmitted:
|
|
str = "Already submitted";
|
|
break;
|
|
}
|
|
return str;
|
|
}
|
|
|
|
/**
|
|
* Get the description of the given {@link EVRInitError EVR init error}.
|
|
* @param error the EVR init error.
|
|
* @return the description of the given EVR init error.
|
|
*/
|
|
public static String getEVRInitErrorString(int error){
|
|
String str = "";
|
|
|
|
switch(error){
|
|
|
|
|
|
case EVRInitError.EVRInitError_VRInitError_None:
|
|
str="None";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Unknown:
|
|
str="Unknown";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_InstallationNotFound:
|
|
str="Installation not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_InstallationCorrupt:
|
|
str="Installation corrupt";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_VRClientDLLNotFound:
|
|
str="VR Client DLL not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_FileNotFound:
|
|
str="File not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_FactoryNotFound:
|
|
str="Factory not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_InterfaceNotFound:
|
|
str="Interface not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_InvalidInterface:
|
|
str="Invalid interface";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid:
|
|
str="User config directory invalid";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_HmdNotFound:
|
|
str="HMD not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_NotInitialized:
|
|
str="Not initialized";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_PathRegistryNotFound:
|
|
str="Path registry not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_NoConfigPath:
|
|
str="No config path";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_NoLogPath:
|
|
str="No log path";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_PathRegistryNotWritable:
|
|
str="Path registry not writable";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_AppInfoInitFailed:
|
|
str="AppInfo init failed";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_Retry:
|
|
str="Init retry";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_InitCanceledByUser:
|
|
str="Init canceled by user";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_AnotherAppLaunching:
|
|
str="Another app launching";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_SettingsInitFailed:
|
|
str="Setting init failed";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_ShuttingDown:
|
|
str="Shutting down";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_TooManyObjects:
|
|
str="Too many objects";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_NoServerForBackgroundApp:
|
|
str="No server background app";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_NotSupportedWithCompositor:
|
|
str="Not supported with compositor";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_NotAvailableToUtilityApps:
|
|
str="Not available to utility apps";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_Internal:
|
|
str="Internal";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_HmdDriverIdIsNone:
|
|
str="Driver Id is None";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed:
|
|
str="HMD not found presence failed";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_VRMonitorNotFound:
|
|
str="VR monitor not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_VRMonitorStartupFailed:
|
|
str="VR monitor startup failed";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported:
|
|
str="Low power watchdog not supported";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_InvalidApplicationType:
|
|
str="Invalid application type";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps:
|
|
str="Not available to watchdog apps";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_WatchdogDisabledInSettings:
|
|
str="Watchdog disabled in settings";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_VRDashboardNotFound:
|
|
str="VR dashboard not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Init_VRDashboardStartupFailed:
|
|
str="VR dashboard setup failed";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_Failed:
|
|
str="Driver failed";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_Unknown:
|
|
str="Driver unknown";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_HmdUnknown:
|
|
str="HMD unknown";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_NotLoaded:
|
|
str="Driver not loaded";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_RuntimeOutOfDate:
|
|
str="Driver runtime out of date";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_HmdInUse:
|
|
str="HMD in use";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_NotCalibrated:
|
|
str="Not calibrated";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_CalibrationInvalid:
|
|
str="Calibration invalid";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_HmdDisplayNotFound:
|
|
str="HMD display not found";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown:
|
|
str="Tracked device interface unknown";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds:
|
|
str="HMD driver Id out of bounds";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_Driver_HmdDisplayMirrored:
|
|
str="HMD display mirrored";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_ServerInitFailed:
|
|
str="";
|
|
break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_ConnectFailed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_SharedStateInitFailed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_CompositorInitFailed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_MutexInitFailed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_Failed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_CompositorConnectFailed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_Compositor_Failed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_Compositor_D3D11HardwareRequired: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_Compositor_OverlayInitFailed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck: str=""; break;
|
|
case EVRInitError.EVRInitError_VRInitError_Steam_SteamInstallationNotFound: str=""; break;
|
|
default:
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
/**
|
|
* Get the description of the given tracked device property.
|
|
* @param property the tracked device property.
|
|
* @return the description of the given tracked device property.
|
|
*/
|
|
public static String getETrackedDevicePropertyString(int property){
|
|
String str = "";
|
|
|
|
switch(property){
|
|
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Invalid:
|
|
str = "Invalid";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_TrackingSystemName_String:
|
|
str = "Tracking system name";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ModelNumber_String:
|
|
str = "Model number";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_SerialNumber_String:
|
|
str = "Serial number";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_RenderModelName_String:
|
|
str = "Render model name";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool:
|
|
str = "Will drift in yaw";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ManufacturerName_String:
|
|
str = "Manufacturer name";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String:
|
|
str = "Tracking firmware version";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_HardwareRevision_String:
|
|
str = "Hardware revision";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String:
|
|
str = "All wireless dongle descriptions";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String:
|
|
str = "Connect wireless dongle";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool:
|
|
str = "Device is wireless";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool:
|
|
str = "Device is charging";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float:
|
|
str = "Device battery percentage";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34:
|
|
str = "Status display transform";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool:
|
|
str = "Update available";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool:
|
|
str = "Firmware manual update";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String:
|
|
str = "Firmware manual update URL";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_HardwareRevision_Uint64:
|
|
str = "Hardware revision";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64:
|
|
str = "Firmware version";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_FPGAVersion_Uint64:
|
|
str = "FPGA version";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_VRCVersion_Uint64:
|
|
str = "VRC version";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_RadioVersion_Uint64:
|
|
str = "Radio version";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DongleVersion_Uint64:
|
|
str = "Dongle version";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool:
|
|
str = "Block server shutdown";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool:
|
|
str = "Can unify coordinate system with HMD";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool:
|
|
str = "Contains proximity sensor";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool:
|
|
str = "Device provides battery status";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DeviceClass_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_HasCamera_Bool:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DriverVersion_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ParentDriver_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayFrequency_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_UserIpdMeters_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_IsOnDesktop_Bool:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCType_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCOffset_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCScale_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_EdidVendorID_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCImageRight_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_EdidProductID_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayGCType_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayGCOffset_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayGCScale_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayGCImage_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_LensCenterLeftU_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_LensCenterLeftV_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_LensCenterRightU_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_LensCenterRightV_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_AttachedDeviceId_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_SupportedButtons_Uint64:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Axis0Type_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Axis1Type_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Axis2Type_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Axis3Type_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_Axis4Type_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ModeLabel_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_IconPathName_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_Start:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_UserConfigPath_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_InstallPath_String:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start:
|
|
str = "";
|
|
break;
|
|
case ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End:
|
|
str = "";
|
|
break;
|
|
}
|
|
|
|
|
|
return str;
|
|
}
|
|
}
|
|
|