Example #1
0
 Matrix4 GetHMDMatrixPoseEye(ref Valve.VR.CVRSystem HMD, Valve.VR.EVREye eye)
 {
     if (HMD == null)
     {
         return(new Matrix4());
     }
     Valve.VR.HmdMatrix34_t M = HMD.GetEyeToHeadTransform(eye);
     return(UtilOld.steamVRMatrixToMatrix4(M).Inverted());
 }
Example #2
0
        private void initScene()
        {
            //OpenCV Cube init
            objectList = new List <MCvPoint3D32f>();
            for (int i = 0; i < _height; i++)
            {
                for (int j = 0; j < _width; j++)
                {
                    objectList.Add(new MCvPoint3D32f(j * _squareSize, i * _squareSize, 0.0F));
                }
            }

            axisPoints = new List <MCvPoint3D32f>();
            axisPoints.Add(new MCvPoint3D32f(0.0f, 0.0f, 0.0f));
            axisPoints.Add(new MCvPoint3D32f(3.0f, 0.0f, 0.0f));
            axisPoints.Add(new MCvPoint3D32f(0.0f, 3.0f, 0.0f));
            axisPoints.Add(new MCvPoint3D32f(0.0f, 0.0f, -3.0f));

            cubePoints = new List <MCvPoint3D32f>();
            cubePoints.Add(new MCvPoint3D32f(0.0f, 0.0f, 0.0f));
            cubePoints.Add(new MCvPoint3D32f(0.0f, 3.0f, 0.0f));
            cubePoints.Add(new MCvPoint3D32f(3.0f, 3.0f, 0.0f));
            cubePoints.Add(new MCvPoint3D32f(3.0f, 0.0f, 0.0f));
            cubePoints.Add(new MCvPoint3D32f(0.0f, 0.0f, -3.0f));
            cubePoints.Add(new MCvPoint3D32f(0.0f, 3.0f, -3.0f));
            cubePoints.Add(new MCvPoint3D32f(3.0f, 3.0f, -3.0f));
            cubePoints.Add(new MCvPoint3D32f(3.0f, 0.0f, -3.0f));

            //OpenGL objects init
            marker_cube_g = new Geometry.CubeGeometry(3.0f, 3.0f, -3.0f);
            marker_cube_m = new Material.TextureMaterial(mScene.rhinoDoc, "texture.jpg", false);

            controller_cube_g = new Geometry.CubeGeometry(0.05f, 0.05f, -0.05f);
            controller_cube_m = new Material.TextureMaterial(mScene.rhinoDoc, "texture.jpg", false);

            //TODO- how to deal with controllerPose ?
            //SceneNode controller_cube = new SceneNode("controller_cube", ref controller_cube_g, ref controller_cube_m); ;
            //mScene.staticGeometry.add(ref controller_cube);

            //we need eyepose before calibration
            if (mHMD == null)
            {
                mEyePosLeft = new Matrix4();
            }

            Valve.VR.HmdMatrix34_t M_L = mHMD.GetEyeToHeadTransform(Valve.VR.EVREye.Eye_Left);
            mEyePosLeft = UtilOld.steamVRMatrixToMatrix4(M_L).Inverted();
            Valve.VR.HmdMatrix34_t M_R = mHMD.GetEyeToHeadTransform(Valve.VR.EVREye.Eye_Right);
            mEyePosRight = UtilOld.steamVRMatrixToMatrix4(M_R).Inverted();
        }
Example #3
0
            public RigidTransform(HmdMatrix34_t pose)
            {
                Matrix4x4 matrix = Matrix4x4.identity;

                matrix[0, 0] = pose.m0;
                matrix[0, 1] = pose.m1;
                matrix[0, 2] = -pose.m2;
                matrix[0, 3] = pose.m3;

                matrix[1, 0] = pose.m4;
                matrix[1, 1] = pose.m5;
                matrix[1, 2] = -pose.m6;
                matrix[1, 3] = pose.m7;

                matrix[2, 0] = -pose.m8;
                matrix[2, 1] = -pose.m9;
                matrix[2, 2] = pose.m10;
                matrix[2, 3] = -pose.m11;

                this.pos = matrix.GetPosition();
                this.rot = matrix.GetRotation();
            }
Example #4
0
            public HmdMatrix34_t ToHmdMatrix34()
            {
                Matrix4x4     matrix = Matrix4x4.TRS(pos, rot, Vector3.one);
                HmdMatrix34_t pose   = new HmdMatrix34_t();

                pose.m0 = matrix[0, 0];
                pose.m1 = matrix[0, 1];
                pose.m2 = -matrix[0, 2];
                pose.m3 = matrix[0, 3];

                pose.m4 = matrix[1, 0];
                pose.m5 = matrix[1, 1];
                pose.m6 = -matrix[1, 2];
                pose.m7 = matrix[1, 3];

                pose.m8  = -matrix[2, 0];
                pose.m9  = -matrix[2, 1];
                pose.m10 = matrix[2, 2];
                pose.m11 = -matrix[2, 3];

                return(pose);
            }
Example #5
0
        }                                     // 0x00000001811DE790-0x00000001811DE7C0

        public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform)
        {
        }                                                                                                                                                     // 0x00000001811DEB60-0x00000001811DEB90
Example #6
0
 public EVROverlayError SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, uint unTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) => default;                                                                                                                 // 0x00000001811DEF60-0x00000001811DEF90
 public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) => default;                                                                                                            // 0x00000001811DE670-0x00000001811DE6A0
Example #7
0
 // Token: 0x06001FA5 RID: 8101 RVA: 0x0009DC3F File Offset: 0x0009BE3F
 public EVROverlayError SetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform)
 {
     return(this.FnTable.SetOverlayTransformOverlayRelative(ulOverlayHandle, ulOverlayHandleParent, ref pmatParentOverlayToOverlayTransform));
 }
        public void ReadConfig()
        {
            try
            {
                var mCam          = new HmdMatrix34_t();
                var readCamMatrix = false;

                object c     = config; // box
                var    lines = System.IO.File.ReadAllLines(configPath);
                foreach (var line in lines)
                {
                    var split = line.Split('=');
                    if (split.Length == 2)
                    {
                        var key = split[0];
                        if (key == "m")
                        {
                            var values = split[1].Split(',');
                            if (values.Length == 12)
                            {
                                mCam.m0       = float.Parse(values[0]);
                                mCam.m1       = float.Parse(values[1]);
                                mCam.m2       = float.Parse(values[2]);
                                mCam.m3       = float.Parse(values[3]);
                                mCam.m4       = float.Parse(values[4]);
                                mCam.m5       = float.Parse(values[5]);
                                mCam.m6       = float.Parse(values[6]);
                                mCam.m7       = float.Parse(values[7]);
                                mCam.m8       = float.Parse(values[8]);
                                mCam.m9       = float.Parse(values[9]);
                                mCam.m10      = float.Parse(values[10]);
                                mCam.m11      = float.Parse(values[11]);
                                readCamMatrix = true;
                            }
                        }
#if !UNITY_METRO
                        else if (key == "disableStandardAssets")
                        {
                            var field = c.GetType().GetField(key);
                            if (field != null)
                            {
                                field.SetValue(c, bool.Parse(split[1]));
                            }
                        }
                        else
                        {
                            var field = c.GetType().GetField(key);
                            if (field != null)
                            {
                                field.SetValue(c, float.Parse(split[1]));
                            }
                        }
#endif
                    }
                }
                config = (Config)c; //unbox

                // Convert calibrated camera matrix settings.
                if (readCamMatrix)
                {
                    var t = new SteamVR_Utils.RigidTransform(mCam);
                    config.x = t.pos.x;
                    config.y = t.pos.y;
                    config.z = t.pos.z;
                    var angles = t.rot.eulerAngles;
                    config.rx = angles.x;
                    config.ry = angles.y;
                    config.rz = angles.z;
                }
            }
            catch { }

            // Clear target so AttachToCamera gets called to pick up any changes.
            target = null;
#if !UNITY_METRO
            // Listen for changes.
            if (watcher == null)
            {
                var fi = new System.IO.FileInfo(configPath);
                watcher = new System.IO.FileSystemWatcher(fi.DirectoryName, fi.Name);
                watcher.NotifyFilter        = System.IO.NotifyFilters.LastWrite;
                watcher.Changed            += new System.IO.FileSystemEventHandler(OnChanged);
                watcher.EnableRaisingEvents = true;
            }
        }
Example #9
0
 // Token: 0x06001F4B RID: 8011 RVA: 0x0009D448 File Offset: 0x0009B648
 public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose)
 {
     return(this.FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose));
 }
Example #10
0
	public abstract EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
Example #11
0
	public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose)
	{
		bool result = FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose);
		return result;
	}
Example #12
0
	public override EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,ref uint punTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
	{
		CheckIfUsable();
		punTrackedDevice = 0;
		EVROverlayError result = VRNativeEntrypoints.VR_IVROverlay_GetOverlayTransformTrackedDeviceRelative(m_pVROverlay,ulOverlayHandle,ref punTrackedDevice,ref pmatTrackedDeviceToOverlayTransform);
		return result;
	}
Example #13
0
	public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose)
	{
		bool result = FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose);
		return result;
	}
Example #14
0
	public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose)
	{
		FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose);
	}
Example #15
0
	public void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform)
	{
		FnTable.ApplyTransform(ref pOutputPose,ref pTrackedDevicePose,ref pTransform);
	}
Example #16
0
 // Token: 0x06001F49 RID: 8009 RVA: 0x0009D422 File Offset: 0x0009B622
 public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose)
 {
     this.FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose);
 }
Example #17
0
 // Token: 0x06001F45 RID: 8005 RVA: 0x0009D3D2 File Offset: 0x0009B5D2
 public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose)
 {
     return(this.FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose));
 }
Example #18
0
 public bool IsOverlayVisible(ulong ulOverlayHandle) => default;                                                                                                                                                                                                                                 // 0x00000001811DE880-0x00000001811DE8B0
 public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform) => default;                                                                                        // 0x00000001811DE730-0x00000001811DE760
Example #19
0
	public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform)
	{
		EVROverlayError result = FnTable.GetOverlayTransformAbsolute(ulOverlayHandle,ref peTrackingOrigin,ref pmatTrackingOriginToOverlayTransform);
		return result;
	}
Example #20
0
	public override bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose)
	{
		CheckIfUsable();
		bool result = VRNativeEntrypoints.VR_IVRChaperoneSetup_GetLiveSeatedZeroPoseToRawTrackingPose(m_pVRChaperoneSetup,ref pmatSeatedZeroPoseToRawTrackingPose);
		return result;
	}
Example #21
0
	public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,ref uint punTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
	{
		punTrackedDevice = 0;
		EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,ref punTrackedDevice,ref pmatTrackedDeviceToOverlayTransform);
		return result;
	}
Example #22
0
	internal static extern bool VR_IVRChaperoneSetup_GetLiveSeatedZeroPoseToRawTrackingPose(IntPtr instancePtr, ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
Example #23
0
	public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,HmdVector2_t coordinatesInOverlay,ref HmdMatrix34_t pmatTransform)
	{
		EVROverlayError result = FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle,eTrackingOrigin,coordinatesInOverlay,ref pmatTransform);
		return result;
	}
Example #24
0
	public abstract void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
Example #25
0
	public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform)
	{
		FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin,ref pmatTrackingOriginToKeyboardTransform);
	}
Example #26
0
	public override void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform)
	{
		CheckIfUsable();
		VRNativeEntrypoints.VR_IVRSystem_ApplyTransform(m_pVRSystem,ref pOutputPose,ref pTrackedDevicePose,ref pTransform);
	}
Example #27
0
 public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform)
 {
     return(this.FnTable.GetOverlayTransformAbsolute(ulOverlayHandle, ref peTrackingOrigin, ref pmatTrackingOriginToOverlayTransform));
 }
internal static extern bool SteamAPI_vr_IHmd_GetLastTrackerFromHeadPose(IntPtr instancePtr, ref HmdMatrix34_t pmPose);
Example #29
0
 public EVROverlayError SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, uint unTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
 {
     return(this.FnTable.SetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, unTrackedDevice, ref pmatTrackedDeviceToOverlayTransform));
 }
    public void ReadConfig()
    {
        try
        {
            var mCam = new HmdMatrix34_t();
            var readCamMatrix = false;

            object c = config; // box
            var lines = System.IO.File.ReadAllLines(configPath);
            foreach (var line in lines)
            {
                var split = line.Split('=');
                if (split.Length == 2)
                {
                    var key = split[0];
                    if (key == "m")
                    {
                        var values = split[1].Split(',');
                        if (values.Length == 12)
                        {
                            mCam.m0 = float.Parse(values[0]);
                            mCam.m1 = float.Parse(values[1]);
                            mCam.m2 = float.Parse(values[2]);
                            mCam.m3 = float.Parse(values[3]);
                            mCam.m4 = float.Parse(values[4]);
                            mCam.m5 = float.Parse(values[5]);
                            mCam.m6 = float.Parse(values[6]);
                            mCam.m7 = float.Parse(values[7]);
                            mCam.m8 = float.Parse(values[8]);
                            mCam.m9 = float.Parse(values[9]);
                            mCam.m10 = float.Parse(values[10]);
                            mCam.m11 = float.Parse(values[11]);
                            readCamMatrix = true;
                        }
                    }
                    else if (key == "disableStandardAssets")
                    {
                        var field = c.GetType().GetField(key);
                        if (field != null)
                            field.SetValue(c, bool.Parse(split[1]));
                    }
                    else
                    {
                        var field = c.GetType().GetField(key);
                        if (field != null)
                            field.SetValue(c, float.Parse(split[1]));
                    }
                }
            }
            config = (Config)c; //unbox

            // Convert calibrated camera matrix settings.
            if (readCamMatrix)
            {
                var t = new SteamVR_Utils.RigidTransform(mCam);
                config.x = t.pos.x;
                config.y = t.pos.y;
                config.z = t.pos.z;
                var angles = t.rot.eulerAngles;
                config.rx = angles.x;
                config.ry = angles.y;
                config.rz = angles.z;
            }
        }
        catch { }
    }
Example #31
0
 public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
 {
     punTrackedDevice = 0u;
     return(this.FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, ref punTrackedDevice, ref pmatTrackedDeviceToOverlayTransform));
 }
Example #32
0
 public EVROverlayError SetOverlayTransformAbsolute(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) => default;                                                                                                          // 0x00000001811DEED0-0x00000001811DEF00
 public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) => default;                                                                                                     // 0x00000001811DE5E0-0x00000001811DE610
Example #33
0
 public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform)
 {
     return(this.FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle, eTrackingOrigin, coordinatesInOverlay, ref pmatTransform));
 }
Example #34
0
 public EVROverlayError GetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ref ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform) => default;                                                                                                            // 0x00000001811DE610-0x00000001811DE640
 public EVROverlayError SetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform) => default;                                                                                                                // 0x00000001811DEF00-0x00000001811DEF30
Example #35
0
 public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform)
 {
     this.FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin, ref pmatTrackingOriginToKeyboardTransform);
 }
Example #36
0
	public override void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose)
	{
		CheckIfUsable();
		VRNativeEntrypoints.VR_IVRChaperoneSetup_SetWorkingStandingZeroPoseToRawTrackingPose(m_pVRChaperoneSetup,ref pMatStandingZeroPoseToRawTrackingPose);
	}
Example #37
0
 public static Vector3 GetPosition(HmdMatrix34_t matrix)
 {
     return(new Vector3(matrix.m3, matrix.m7, -matrix.m11));
 }
Example #38
0
	public override EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform)
	{
		CheckIfUsable();
		EVROverlayError result = VRNativeEntrypoints.VR_IVROverlay_GetOverlayTransformAbsolute(m_pVROverlay,ulOverlayHandle,ref peTrackingOrigin,ref pmatTrackingOriginToOverlayTransform);
		return result;
	}
Example #39
0
	internal static extern EVROverlayError VR_IVROverlay_GetOverlayTransformTrackedDeviceRelative(IntPtr instancePtr, ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
Example #40
0
	internal static extern void VR_IVRChaperoneSetup_SetWorkingStandingZeroPoseToRawTrackingPose(IntPtr instancePtr, ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
Example #41
0
	internal static extern void VR_IVRSystem_ApplyTransform(IntPtr instancePtr, ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform);
Example #42
0
	internal static extern EVROverlayError VR_IVROverlay_GetOverlayTransformAbsolute(IntPtr instancePtr, ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
Example #43
0
 public void UpdatePos()
 {
     SteamVR_Utils.RigidTransform rigid = new SteamVR_Utils.RigidTransform(this.transform);
     Valve.VR.HmdMatrix34_t       trans = rigid.ToHmdMatrix34();
     SteamVR.instance.overlay.SetKeyboardTransformAbsolute(Valve.VR.ETrackingUniverseOrigin.TrackingUniverseStanding, ref trans);
 }
Example #44
0
	public abstract void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform);
Example #45
0
 internal static extern bool VR_IVRChaperoneSetup_GetWorkingTagPoseByName(IntPtr instancePtr, string pchTagName, ref HmdMatrix34_t pmatTagPose, ref float pflScale);
Example #46
0
	public abstract bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose);
Example #47
0
        public RigidTransform(HmdMatrix34_t pose)
        {
            var m = Matrix4x4.identity;

            m[0, 0] = pose.m0;
            m[0, 1] = pose.m1;
            m[0, 2] = -pose.m2;
            m[0, 3] = pose.m3;

            m[1, 0] = pose.m4;
            m[1, 1] = pose.m5;
            m[1, 2] = -pose.m6;
            m[1, 3] = pose.m7;

            m[2, 0] = -pose.m8;
            m[2, 1] = -pose.m9;
            m[2, 2] = pose.m10;
            m[2, 3] = -pose.m11;

            this.pos = m.GetPosition();
            this.rot = m.GetRotation();
        }
Example #48
0
	public abstract bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
Example #49
0
 // Token: 0x06001EE7 RID: 7911 RVA: 0x0009C9E1 File Offset: 0x0009ABE1
 public void ApplyTransform(ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform)
 {
     this.FnTable.ApplyTransform(ref pOutputPose, ref pTrackedDevicePose, ref pTransform);
 }
Example #50
0
	public abstract EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,ref uint punTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
internal static extern bool SteamAPI_vr_IHmd_GetTrackerFromHeadPose(IntPtr instancePtr, float fPredictedSecondsFromNow, ref HmdMatrix34_t pmPose, ref HmdTrackingResult peResult);
Example #52
0
        public HmdMatrix34_t ToHmdMatrix34()
        {
            var m = Matrix4x4.TRS(pos, rot, Vector3.one);
            var pose = new HmdMatrix34_t();

            pose.m0 = m[0, 0];
            pose.m1 = m[0, 1];
            pose.m2 = -m[0, 2];
            pose.m3 = m[0, 3];

            pose.m4 = m[1, 0];
            pose.m5 = m[1, 1];
            pose.m6 = -m[1, 2];
            pose.m7 = m[1, 3];

            pose.m8 = -m[2, 0];
            pose.m9 = -m[2, 1];
            pose.m10 = m[2, 2];
            pose.m11 = -m[2, 3];

            return pose;
        }
Example #53
0
        public EDeviceActivityLevel GetTrackedDeviceActivityLevel(uint unDeviceId) => default;                                                                                        // 0x00000001811E0A60-0x00000001811E0A90

        public void ApplyTransform(ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform)
        {
        }                                                                                                                                                                                                                                   // 0x00000001811DFF00-0x00000001811DFF30