예제 #1
0
        private static void FindControllerType()
        {
            uint index = OpenVR.System.GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole.RightHand);

            StringBuilder         result = new StringBuilder();
            ETrackedPropertyError error  = ETrackedPropertyError.TrackedProp_Success;

            OpenVR.System.GetStringTrackedDeviceProperty(index, ETrackedDeviceProperty.Prop_ControllerType_String, result, 64, ref error);
            if (error == ETrackedPropertyError.TrackedProp_Success)
            {
                string resultString = result.ToString();

                if (resultString == "")
                {
                    return;
                }

                if (resultString.Contains("vive_controller"))
                {
                    currentGlyphs = viveGlyphs;
                }
                else if (resultString.Contains("holographic_controller"))
                {
                    currentGlyphs = wmrGlyphs;
                }
                else
                {
                    currentGlyphs = standardGlyphs;
                }

                RoR2Application.onUpdate -= FindControllerType;
            }
        }
예제 #2
0
        void GetIndex(int deviceNum)
        {
            ERole role = (ERole)deviceNum;

            if (role == ERole.HMD)
            {
                devices[deviceNum].index = (int)EIndex.Hmd;
                return;
            }

            int DeviceCount = 0;

            for (uint i = 0; i < (uint)EIndex.Limit; i++)
            {
                ETrackedPropertyError error = new ETrackedPropertyError();
                ETrackedDeviceClass   type  = (ETrackedDeviceClass)OpenVR.System.GetInt32TrackedDeviceProperty(i, ETrackedDeviceProperty.Prop_DeviceClass_Int32, ref error);

                if (pTrackingToUse == ETrackedDeviceClass.Controller && type == ETrackedDeviceClass.Controller ||
                    pTrackingToUse == ETrackedDeviceClass.GenericTracker && type == ETrackedDeviceClass.GenericTracker)
                {
                    if (role == ERole.LeftHand && DeviceCount == 0 || role == ERole.RightHand && DeviceCount == 1)
                    {
                        devices[deviceNum].index = (int)i;
                        return;
                    }

                    DeviceCount++;
                }
            }
        }
예제 #3
0
        public bool Initialize()
        {
            if (!m_initialized)
            {
                EVRInitError l_initError = EVRInitError.None;
                m_vrSystem = OpenVR.Init(ref l_initError, EVRApplicationType.VRApplication_Overlay);
                if (l_initError == EVRInitError.None)
                {
                    OpenVR.Overlay.CreateOverlay("leap.control.notification", "Ultraleap Control", ref m_notificationOverlay);

                    // Find fake Leap Motion station device
                    for (uint i = 0; i < OpenVR.k_unMaxTrackedDeviceCount; i++)
                    {
                        ETrackedPropertyError l_propertyError = ETrackedPropertyError.TrackedProp_Success;
                        ulong l_property = m_vrSystem.GetUint64TrackedDeviceProperty(i, ETrackedDeviceProperty.Prop_VendorSpecific_Reserved_Start, ref l_propertyError);
                        if ((l_propertyError == ETrackedPropertyError.TrackedProp_Success) && (l_property == 0x4C4D6F74696F6E))
                        {
                            m_leapDevice = i;
                            break;
                        }
                    }

                    m_initialized = true;
                    m_active      = true;
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Unable to initialize OpenVR: " + Valve.VR.OpenVR.GetStringForHmdError(l_initError), "Driver Leap Control");
                }
            }

            return(m_initialized);
        }
예제 #4
0
        public string GetStringTrackedDeviceProperty(uint deviceIndex, ETrackedDeviceProperty property)
        {
            ETrackedPropertyError error = ETrackedPropertyError.TrackedProp_Success;
            uint length = OpenVR.System.GetStringTrackedDeviceProperty(deviceIndex, property, null, 0, ref error);

            if (error == ETrackedPropertyError.TrackedProp_UnknownProperty)
            {
                return(null);
            }

            if (error != ETrackedPropertyError.TrackedProp_Success && error != ETrackedPropertyError.TrackedProp_BufferTooSmall)
            {
                throw new OpenVRException($"Failed to get property '{property}' for device at index {deviceIndex}: {error}", property, error);
            }

            if (length > 0)
            {
                StringBuilder stringBuilder = new StringBuilder((int)length);
                OpenVR.System.GetStringTrackedDeviceProperty(deviceIndex, property, stringBuilder, length, ref error);

                if (error != ETrackedPropertyError.TrackedProp_Success)
                {
                    throw new OpenVRException($"Failed to get property '{property}' for device at index {deviceIndex}: {error}", property, error);
                }

                return(stringBuilder.ToString());
            }

            return(null);
        }
예제 #5
0
        //device情報を取得する
        public bool GetPropertyInt32(uint idx, ETrackedDeviceProperty prop, out int result)
        {
            ETrackedPropertyError error = new ETrackedPropertyError();

            result = openvr.GetInt32TrackedDeviceProperty(idx, prop, ref error);
            return(error == ETrackedPropertyError.TrackedProp_Success);
        }
예제 #6
0
        //device情報を取得する
        public bool GetPropertyUint64(uint idx, ETrackedDeviceProperty prop, out ulong result)
        {
            ETrackedPropertyError error = new ETrackedPropertyError();

            result = openvr.GetUint64TrackedDeviceProperty(idx, prop, ref error);
            return(error == ETrackedPropertyError.TrackedProp_Success);
        }
예제 #7
0
 private void Check(ETrackedPropertyError error, [CallerMemberName] string memberName = "", [CallerFilePath] string filePath = "", [CallerLineNumber] int lineNumber = 0)
 {
     if (error != ETrackedPropertyError.TrackedProp_Success)
     {
         throw new Exception($"OpenVR error {error} in {memberName} at {filePath}:{lineNumber}");
     }
 }
예제 #8
0
    // Token: 0x06000DDC RID: 3548 RVA: 0x00057EBC File Offset: 0x000560BC
    public void UpdateModel()
    {
        CVRSystem system = OpenVR.System;

        if (system == null)
        {
            return;
        }
        ETrackedPropertyError etrackedPropertyError = ETrackedPropertyError.TrackedProp_Success;
        uint stringTrackedDeviceProperty            = system.GetStringTrackedDeviceProperty((uint)this.index, ETrackedDeviceProperty.Prop_RenderModelName_String, null, 0U, ref etrackedPropertyError);

        if (stringTrackedDeviceProperty <= 1U)
        {
            Debug.LogError("Failed to get render model name for tracked object " + this.index);
            return;
        }
        StringBuilder stringBuilder = new StringBuilder((int)stringTrackedDeviceProperty);

        system.GetStringTrackedDeviceProperty((uint)this.index, ETrackedDeviceProperty.Prop_RenderModelName_String, stringBuilder, stringTrackedDeviceProperty, ref etrackedPropertyError);
        string text = stringBuilder.ToString();

        if (this.renderModelName != text)
        {
            this.renderModelName = text;
            base.StartCoroutine(this.SetModelAsync(text));
        }
    }
예제 #9
0
        /// <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());
        }
예제 #10
0
        public void FetchPointerOffset(uint index, Transform pointer)
        {
            StringBuilder renderModelName = new StringBuilder(50);

            ETrackedPropertyError pError = new ETrackedPropertyError();

            OpenVR.System.GetStringTrackedDeviceProperty(index,
                                                         ETrackedDeviceProperty.Prop_RenderModelName_String, renderModelName, 50, ref pError);

            VRControllerState_t state = new VRControllerState_t();
            RenderModel_ControllerMode_State_t rState    = new RenderModel_ControllerMode_State_t();
            RenderModel_ComponentState_t       compState = new RenderModel_ComponentState_t();
            bool found = OpenVR.RenderModels.GetComponentState(renderModelName.ToString(), "tip", ref state, ref rState,
                                                               ref compState);

            if (!found)
            {
                return;
            }

            var pose = new SteamVR_Utils.RigidTransform(compState.mTrackingToComponentLocal);

            pointer.localPosition = pose.pos;
            pointer.localRotation = pose.rot;
        }
예제 #11
0
        public static bool IsLogitechPen(uint deviceIndex)
        {
            ETrackedPropertyError error = ETrackedPropertyError.TrackedProp_Success;
            uint bufferCapacity         = OpenVR.System.GetStringTrackedDeviceProperty(
                deviceIndex,
                ETrackedDeviceProperty.Prop_ControllerType_String,
                null,
                0,
                ref error);

            System.Text.StringBuilder buffer = new System.Text.StringBuilder((int)bufferCapacity);
            OpenVR.System.GetStringTrackedDeviceProperty(
                deviceIndex,
                ETrackedDeviceProperty.Prop_ControllerType_String,
                buffer,
                bufferCapacity,
                ref error);
            string s = buffer.ToString();

            if (error == ETrackedPropertyError.TrackedProp_Success)
            {
                if (s.StartsWith("logitech_stylus"))
                {
                    return(true);
                }
            }
            return(false);
        }
예제 #12
0
        private bool IsPositionTrackedDevice(uint index)
        {
            ETrackedPropertyError errorCode = ETrackedPropertyError.TrackedProp_Success;

            // ポジショントラッキング対応のデバイスはこのプロパティに対応してないが、エラー時はfalseを返してくるので問題はない
            return(!openVR.GetBoolTrackedDeviceProperty(index, ETrackedDeviceProperty.Prop_NeverTracked_Bool, ref errorCode));
        }
예제 #13
0
        //Copy & Past openvr_api.dll [32bit version - Can be found in Unity folder] into **FilePath/bin/Debug [together with the build *.exe]
        private void GetViveControllerBattery()
        {
            CVRSystem             hmd   = OpenVR.System;
            ETrackedPropertyError error = ETrackedPropertyError.TrackedProp_Success;
            float leftBat  = hmd.GetFloatTrackedDeviceProperty(hmd.GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole.LeftHand), ETrackedDeviceProperty.Prop_DeviceBatteryPercentage_Float, ref error);
            float rightBat = hmd.GetFloatTrackedDeviceProperty(hmd.GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole.RightHand), ETrackedDeviceProperty.Prop_DeviceBatteryPercentage_Float, ref error);

            leftBat  = leftBat * 100f;
            rightBat = rightBat * 100f;
            int    leftBatInt     = (int)leftBat;
            int    rightBatInt    = (int)rightBat;
            string leftBatString  = ((int)leftBat).ToString() + " %";
            string rightBatString = ((int)rightBat).ToString() + " %";

            if (leftBatInt == 0)
            {
                leftBatString = "Off";
            }
            if (rightBatInt == 0)
            {
                rightBatString = "Off";
            }
            controllerBattery = "Controller Battery : Left - " + leftBatString + " / Right - " + rightBatString;

            ChangeBatteryImage(leftBatInt, rightBatInt);
        }
예제 #14
0
        /// <summary>
        /// Internal start call for VR setup.
        /// </summary>
        public void Start()
        {
            uint w = 0;
            uint h = 0;

            VR.GetRecommendedRenderTargetSize(ref w, ref h);
            if (w <= 0 || h <= 0)
            {
                throw new Exception("Failed to start VR: Invalid render target size!");
            }
            w *= 2;
            TheClient.Engine3D.MainView.Generate(TheClient.Engine3D, (int)w, (int)h);
            TheClient.Engine3D.MainView.GenerateFBO();
            StringBuilder         val  = new StringBuilder(256);
            ETrackedPropertyError errx = ETrackedPropertyError.TrackedProp_Success;

            VR.GetStringTrackedDeviceProperty(OpenVR.k_unTrackedDeviceIndex_Hmd, ETrackedDeviceProperty.Prop_TrackingSystemName_String, val, 256, ref errx);
            SysConsole.Output(OutputType.INIT, "Switching to VR mode: " + w + "/" + h + "... " + val.ToString());
            VRModel    = val.ToString();
            Compositor = OpenVR.Compositor;
            Compositor.SetTrackingSpace(ETrackingUniverseOrigin.TrackingUniverseStanding);
            Compositor.CompositorBringToFront();
            LeftTexture              = new VRControllerTextureEngine();
            RightTexture             = new VRControllerTextureEngine();
            LeftTexture.BaseTexture  = TheClient.Textures.GetTexture("vr/controller/vive_circle_left");
            RightTexture.BaseTexture = TheClient.Textures.GetTexture("vr/controller/vive_circle_right");
            LeftTexture.GenerateFirst();
            RightTexture.GenerateFirst();
            RightControllerModel = TheClient.Models.GetModel("vr/controller/vive");
            LeftControllerModel  = TheClient.Models.GetModel("vr/controller/vive");
        }
        private string GetPropertyString(int device, ETrackedDeviceProperty property)
        {
            StringBuilder         b   = new StringBuilder(1024);
            ETrackedPropertyError err = ETrackedPropertyError.TrackedProp_Success;

            system.GetStringTrackedDeviceProperty((uint)device, property, b, (uint)b.Capacity, ref err);
            return(b.ToString());
        }
예제 #16
0
    public float GetBatteryLevel(uint deviceId)
    {
        ETrackedPropertyError error = ETrackedPropertyError.TrackedProp_InvalidDevice;

        var batteryLevel = VRSystem.GetFloatTrackedDeviceProperty(deviceId, ETrackedDeviceProperty.Prop_DeviceBatteryPercentage_Float, ref error);

        return(batteryLevel);
    }
        public static string GetHardwareIDFromIndex(int index)
        {
            ETrackedPropertyError serialNumberError    = new ETrackedPropertyError();
            StringBuilder         serialNumberAsString = new StringBuilder();

            OpenVR.System.GetStringTrackedDeviceProperty((uint)index, ETrackedDeviceProperty.Prop_SerialNumber_String, serialNumberAsString, OpenVR.k_unMaxPropertyStringSize, ref serialNumberError);

            return(serialNumberAsString.ToString().ToUpper());
        }
예제 #18
0
        public bool GetPropertyBool(uint idx, ETrackedDeviceProperty prop, out bool result)
        {
            ReadyCheck(); //実行可能な状態かチェック

            ETrackedPropertyError error = new ETrackedPropertyError();

            result = openvr.GetBoolTrackedDeviceProperty(idx, prop, ref error);
            return(error == ETrackedPropertyError.TrackedProp_Success);
        }
예제 #19
0
        /// <summary>Interrogate OpenVR about a property in the device property Json file. By default we are interested in the Model Number.</summary>
        /// <param name="deviceIndex">Used by OpenVR to identify any tracked device, from the HMD to controllers and Lighthouses.</param>
        /// <param name="trackedDeviceProperty">The property to retrieve from the device property Json file.</param>
        /// <returns> If it exists, a string matching the value of the property in the property Json file of the device.</returns>
        public static string GetControllerProperty(int deviceIndex, ETrackedDeviceProperty trackedDeviceProperty)
        {
            var stringBuilder = new StringBuilder(1000);
            ETrackedPropertyError trackedPropertyError = ETrackedPropertyError.TrackedProp_Success;
            CVRSystem             system = OpenVR.System;

            system.GetStringTrackedDeviceProperty((uint)deviceIndex, trackedDeviceProperty, stringBuilder, 1000, ref trackedPropertyError);
            return(stringBuilder.ToString());
        }
        public string getID(uint index)
        {
            ETrackedPropertyError error = new ETrackedPropertyError();
            StringBuilder         sb    = new StringBuilder();

            OpenVR.System.GetStringTrackedDeviceProperty(index, ETrackedDeviceProperty.Prop_SerialNumber_String, sb, OpenVR.k_unMaxPropertyStringSize, ref error);
            var probablyUniqueDeviceSerial = sb.ToString();

            return(probablyUniqueDeviceSerial);
        }
예제 #21
0
    // Helper function to return serial number of tracked device
    private string GetTrackedDeviceSerialNumber(uint trackedDeviceIndex)
    {
        var result = new System.Text.StringBuilder((int)64);

        ETrackedPropertyError error = new ETrackedPropertyError();

        OpenVR.System.GetStringTrackedDeviceProperty(trackedDeviceIndex, ETrackedDeviceProperty.Prop_SerialNumber_String, result, 64, ref error);

        return(result.ToString());
    }
예제 #22
0
        public float GetTrackedDevicePropertyFloat(uint index, ETrackedDeviceProperty property)
        {
            var   error = new ETrackedPropertyError();
            float value = _vr_system.GetFloatTrackedDeviceProperty(index, property, ref error);

            if (error == ETrackedPropertyError.TrackedProp_Success)
            {
                return(value);
            }
            return(-1);
        }
예제 #23
0
    public static int GetInt32TrackedDeviceProperty(this CVRSystem system, uint unDeviceIndex, ETrackedDeviceProperty prop)
    {
        ETrackedPropertyError error = ETrackedPropertyError.TrackedProp_Success;
        int value = system.GetInt32TrackedDeviceProperty(unDeviceIndex, prop, ref error);

        if (error != ETrackedPropertyError.TrackedProp_Success)
        {
            throw OpenVRException.Make(error);
        }
        return(value);
    }
예제 #24
0
	public string GetTrackedDeviceString(uint deviceId)
	{
		ETrackedPropertyError etrackedPropertyError = ETrackedPropertyError.TrackedProp_Success;
		uint stringTrackedDeviceProperty = this.hmd.GetStringTrackedDeviceProperty(deviceId, ETrackedDeviceProperty.Prop_AttachedDeviceId_String, null, 0u, ref etrackedPropertyError);
		if (stringTrackedDeviceProperty > 1u)
		{
			StringBuilder stringBuilder = new StringBuilder((int)stringTrackedDeviceProperty);
			this.hmd.GetStringTrackedDeviceProperty(deviceId, ETrackedDeviceProperty.Prop_AttachedDeviceId_String, stringBuilder, stringTrackedDeviceProperty, ref etrackedPropertyError);
			return stringBuilder.ToString();
		}
		return null;
	}
예제 #25
0
        public string GetPropertyString(uint idx, ETrackedDeviceProperty prop, ref ETrackedPropertyError error)
        {
            var capactiy = openvr.GetStringTrackedDeviceProperty(idx, prop, null, 0, ref error);

            if (capactiy > 1)
            {
                var result = new System.Text.StringBuilder((int)capactiy);
                openvr.GetStringTrackedDeviceProperty(idx, prop, result, capactiy, ref error);
                return(result.ToString());
            }
            return((error != ETrackedPropertyError.TrackedProp_Success) ? error.ToString() : "<unknown>");
        }
예제 #26
0
	public string GetStringProperty(ETrackedDeviceProperty prop, uint deviceId = 0u)
	{
		ETrackedPropertyError etrackedPropertyError = ETrackedPropertyError.TrackedProp_Success;
		uint stringTrackedDeviceProperty = this.hmd.GetStringTrackedDeviceProperty(deviceId, prop, null, 0u, ref etrackedPropertyError);
		if (stringTrackedDeviceProperty > 1u)
		{
			StringBuilder stringBuilder = new StringBuilder((int)stringTrackedDeviceProperty);
			this.hmd.GetStringTrackedDeviceProperty(deviceId, prop, stringBuilder, stringTrackedDeviceProperty, ref etrackedPropertyError);
			return stringBuilder.ToString();
		}
		return (etrackedPropertyError == ETrackedPropertyError.TrackedProp_Success) ? "<unknown>" : etrackedPropertyError.ToString();
	}
예제 #27
0
        public string GetTrackedDevicePropertyString(uint index, ETrackedDeviceProperty property)
        {
            var  sb        = new StringBuilder();
            var  error     = new ETrackedPropertyError();
            uint succeeded = _vr_system.GetStringTrackedDeviceProperty(index, property, sb, (uint)sb.Capacity, ref error);

            if (error == ETrackedPropertyError.TrackedProp_Success)
            {
                return(sb.ToString());
            }
            return(null);
        }
예제 #28
0
파일: Utils.cs 프로젝트: X606/CloneDroneVR
        public static float GetFloatTrackedDeviceProperty(ETrackedDeviceProperty property, uint device = OpenVR.k_unTrackedDeviceIndex_Hmd)
        {
            ETrackedPropertyError propertyError = ETrackedPropertyError.TrackedProp_Success;
            float value = OpenVR.System.GetFloatTrackedDeviceProperty(device, property, ref propertyError);

            if (propertyError != ETrackedPropertyError.TrackedProp_Success)
            {
                throw new Exception("Failed to obtain tracked device property \"" +
                                    property + "\", error: (" + (int)propertyError + ") " + propertyError.ToString());
            }
            return(value);
        }
예제 #29
0
        public float GetFloatTrackedDeviceProperty(uint deviceIndex, ETrackedDeviceProperty property)
        {
            ETrackedPropertyError error = ETrackedPropertyError.TrackedProp_Success;
            float result = OpenVR.System.GetFloatTrackedDeviceProperty(deviceIndex, property, ref error);

            if (error != ETrackedPropertyError.TrackedProp_Success)
            {
                throw new OpenVRException($"Failed to get property '{property}' for device at index {deviceIndex}", property, error);
            }

            return(result);
        }
예제 #30
0
    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());
    }
예제 #31
0
	public abstract uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError);
예제 #32
0
	public abstract ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError);
예제 #33
0
	public abstract HmdMatrix34_t GetMatrix34TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError);
예제 #34
0
	public override uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError)
	{
		CheckIfUsable();
		uint result = VRNativeEntrypoints.VR_IVRSystem_GetStringTrackedDeviceProperty(m_pVRSystem,unDeviceIndex,prop,pchValue,unBufferSize,ref pError);
		return result;
	}
예제 #35
0
	public uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError)
	{
		uint result = FnTable.GetStringTrackedDeviceProperty(unDeviceIndex,prop,pchValue,unBufferSize,ref pError);
		return result;
	}
예제 #36
0
	internal static extern uint VR_IVRSystem_GetStringTrackedDeviceProperty(IntPtr instancePtr, uint unDeviceIndex, ETrackedDeviceProperty prop, System.Text.StringBuilder pchValue, uint unBufferSize, ref ETrackedPropertyError pError);
예제 #37
0
	public override ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
	{
		CheckIfUsable();
		ulong result = VRNativeEntrypoints.VR_IVRSystem_GetUint64TrackedDeviceProperty(m_pVRSystem,unDeviceIndex,prop,ref pError);
		return result;
	}
예제 #38
0
	internal static extern ulong VR_IVRSystem_GetUint64TrackedDeviceProperty(IntPtr instancePtr, uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
예제 #39
0
	public abstract string GetPropErrorNameFromEnum(ETrackedPropertyError error);
예제 #40
0
	public bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
	{
		bool result = FnTable.GetBoolTrackedDeviceProperty(unDeviceIndex,prop,ref pError);
		return result;
	}
예제 #41
0
파일: openvr_api.cs 프로젝트: Chazman11/SGJ
	public string GetPropErrorNameFromEnum(ETrackedPropertyError error)
	{
		IntPtr result = FnTable.GetPropErrorNameFromEnum(error);
		return Marshal.PtrToStringAnsi(result);
	}
예제 #42
0
	public HmdMatrix34_t GetMatrix34TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
	{
		HmdMatrix34_t result = FnTable.GetMatrix34TrackedDeviceProperty(unDeviceIndex,prop,ref pError);
		return result;
	}
예제 #43
0
	internal static extern float VR_IVRSystem_GetFloatTrackedDeviceProperty(IntPtr instancePtr, uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
예제 #44
0
	public ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
	{
		ulong result = FnTable.GetUint64TrackedDeviceProperty(unDeviceIndex,prop,ref pError);
		return result;
	}
예제 #45
0
	internal static extern HmdMatrix34_t VR_IVRSystem_GetMatrix34TrackedDeviceProperty(IntPtr instancePtr, uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
예제 #46
0
	public int GetInt32TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
	{
		int result = FnTable.GetInt32TrackedDeviceProperty(unDeviceIndex,prop,ref pError);
		return result;
	}
예제 #47
0
	internal static extern IntPtr VR_IVRSystem_GetPropErrorNameFromEnum(IntPtr instancePtr, ETrackedPropertyError error);
예제 #48
0
	public abstract float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError);
예제 #49
0
	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;
	}
예제 #50
0
	public abstract int GetInt32TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError);
예제 #51
0
	public override string GetPropErrorNameFromEnum(ETrackedPropertyError error)
	{
		CheckIfUsable();
		IntPtr result = VRNativeEntrypoints.VR_IVRSystem_GetPropErrorNameFromEnum(m_pVRSystem,error);
		return (string) Marshal.PtrToStructure(result, typeof(string));
	}
예제 #52
0
	public string GetPropErrorNameFromEnum(ETrackedPropertyError error)
	{
		IntPtr result = FnTable.GetPropErrorNameFromEnum(error);
		return (string) Marshal.PtrToStructure(result, typeof(string));
	}
예제 #53
0
	public abstract bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError);
예제 #54
0
	public float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
	{
		float result = FnTable.GetFloatTrackedDeviceProperty(unDeviceIndex,prop,ref pError);
		return result;
	}