本文整理汇总了C#中ETrackedDeviceProperty类的典型用法代码示例。如果您正苦于以下问题:C# ETrackedDeviceProperty类的具体用法?C# ETrackedDeviceProperty怎么用?C# ETrackedDeviceProperty使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ETrackedDeviceProperty类属于命名空间,在下文中一共展示了ETrackedDeviceProperty类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TrackedDeviceString
/// <summary>
/// Helper to get a string from a tracked device property
/// </summary>
public static Result<string, ETrackedPropertyError> TrackedDeviceString(this CVRSystem hmd, int trackedDeviceIndex, ETrackedDeviceProperty prop)
{
if (hmd == null) throw new ArgumentNullException(nameof(hmd));
if (trackedDeviceIndex < 0 || trackedDeviceIndex > OpenVR.k_unMaxTrackedDeviceCount) throw new ArgumentOutOfRangeException(nameof(trackedDeviceIndex));
ETrackedPropertyError err = ETrackedPropertyError.TrackedProp_Success;
uint requiredBufferLen = hmd.GetStringTrackedDeviceProperty((uint)trackedDeviceIndex, prop, null, 0, ref err);
if (err != ETrackedPropertyError.TrackedProp_BufferTooSmall) return Result<string, ETrackedPropertyError>.Err(err);
if (requiredBufferLen == 0) return "";
var pchBuffer = new StringBuilder((int)requiredBufferLen);
requiredBufferLen = hmd.GetStringTrackedDeviceProperty((uint)trackedDeviceIndex, prop, pchBuffer, requiredBufferLen, ref err);
if (err != ETrackedPropertyError.TrackedProp_Success) return Result<string, ETrackedPropertyError>.Err(err);
return pchBuffer.ToString();
}
示例2: GetBoolTrackedDeviceProperty
public abstract bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError);
示例3: GetStringProperty
private string GetStringProperty(ETrackedDeviceProperty prop)
{
ETrackedPropertyError eTrackedPropertyError = ETrackedPropertyError.TrackedProp_Success;
uint stringTrackedDeviceProperty = this.hmd.GetStringTrackedDeviceProperty(0u, prop, null, 0u, ref eTrackedPropertyError);
if (stringTrackedDeviceProperty > 1u)
{
StringBuilder stringBuilder = new StringBuilder((int)stringTrackedDeviceProperty);
this.hmd.GetStringTrackedDeviceProperty(0u, prop, stringBuilder, stringTrackedDeviceProperty, ref eTrackedPropertyError);
return stringBuilder.ToString();
}
return (eTrackedPropertyError == ETrackedPropertyError.TrackedProp_Success) ? "<unknown>" : eTrackedPropertyError.ToString();
}
示例4: GetMatrix34TrackedDeviceProperty
public override HmdMatrix34_t GetMatrix34TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
{
CheckIfUsable();
HmdMatrix34_t result = VRNativeEntrypoints.VR_IVRSystem_GetMatrix34TrackedDeviceProperty(m_pVRSystem,unDeviceIndex,prop,ref pError);
return result;
}
示例5: VR_IVRSystem_GetStringTrackedDeviceProperty
internal static extern uint VR_IVRSystem_GetStringTrackedDeviceProperty(IntPtr instancePtr, uint unDeviceIndex, ETrackedDeviceProperty prop, System.Text.StringBuilder pchValue, uint unBufferSize, ref ETrackedPropertyError pError);
示例6: VR_IVRSystem_GetUint64TrackedDeviceProperty
internal static extern ulong VR_IVRSystem_GetUint64TrackedDeviceProperty(IntPtr instancePtr, uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
示例7: GetStringTrackedDeviceProperty
public abstract uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError);
示例8: GetUint64TrackedDeviceProperty
public abstract ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError);
示例9: GetFloatTrackedDeviceProperty
public float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
{
float result = FnTable.GetFloatTrackedDeviceProperty(unDeviceIndex,prop,ref pError);
return result;
}
示例10: GetBoolTrackedDeviceProperty
public bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
{
bool result = FnTable.GetBoolTrackedDeviceProperty(unDeviceIndex,prop,ref pError);
return result;
}
示例11: TrackedDeviceStrings
public static IEnumerable<string> TrackedDeviceStrings(this CVRSystem hmd, ETrackedDeviceProperty prop)
{
if (hmd == null) throw new ArgumentNullException(nameof(hmd));
return DeviceIndexes.Select(i => hmd.TrackedDeviceString(i, prop)).WhereSuccess();
}
示例12: GetFloatProperty
//convenience wrap with logging
private static bool GetFloatProperty(uint device, ETrackedDeviceProperty property, ref float outputValue)
{
ETrackedPropertyError pError = 0;
var val = m_vrSystem.GetFloatTrackedDeviceProperty(device, ETrackedDeviceProperty.Prop_UserIpdMeters_Float, ref pError);
if (pError == ETrackedPropertyError.TrackedProp_Success)
{
outputValue = val;
return true;
}
Log.WriteLine("ERROR GetFloatTrackedDeviceProperty(" + device + "," + property + "," + outputValue + ") returned error " + pError);
return false;
}
示例13: DeviceInfo
public Result<string, ETrackedPropertyError> DeviceInfo(int deviceIndex, ETrackedDeviceProperty prop)
=> hmd.TrackedDeviceString(deviceIndex, ETrackedDeviceProperty.Prop_RenderModelName_String);
示例14: GetFloatTrackedDeviceProperty
public abstract float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError);
示例15: GetInt32TrackedDeviceProperty
public int GetInt32TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
{
int result = FnTable.GetInt32TrackedDeviceProperty(unDeviceIndex,prop,ref pError);
return result;
}