parent
e61eff13ae
commit
b9071513e7
@ -0,0 +1,10 @@ |
||||
package com.jme3.input.vr; |
||||
|
||||
/** |
||||
* TODO |
||||
* @author Julien Seinturier - (c) 2016 - JOrigin project - <a href="http://www.jorigin.org">http:/www.jorigin.org</a> |
||||
* |
||||
*/ |
||||
public interface VRTrackedController { |
||||
|
||||
} |
@ -0,0 +1,778 @@ |
||||
package com.jme3.system.jopenvr; |
||||
|
||||
import com.jme3.input.vr.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 - (c) 2016 - JOrigin project - <a href="http://www.jorigin.org">http:/www.jorigin.org</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_UsesDriverDirectMode_Bool: |
||||
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; |
||||
} |
||||
} |
Loading…
Reference in new issue