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()); }
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(); }
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(); }
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); }
} // 0x00000001811DE790-0x00000001811DE7C0 public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform) { } // 0x00000001811DEB60-0x00000001811DEB90
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
// 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; } }
// Token: 0x06001F4B RID: 8011 RVA: 0x0009D448 File Offset: 0x0009B648 public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) { return(this.FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose)); }
public abstract EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) { bool result = FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); return result; }
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; }
public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose) { bool result = FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose); return result; }
public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose) { FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose); }
public void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform) { FnTable.ApplyTransform(ref pOutputPose,ref pTrackedDevicePose,ref pTransform); }
// Token: 0x06001F49 RID: 8009 RVA: 0x0009D422 File Offset: 0x0009B622 public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose) { this.FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose); }
// Token: 0x06001F45 RID: 8005 RVA: 0x0009D3D2 File Offset: 0x0009B5D2 public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose) { return(this.FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose)); }
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
public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) { EVROverlayError result = FnTable.GetOverlayTransformAbsolute(ulOverlayHandle,ref peTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); return result; }
public override bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) { CheckIfUsable(); bool result = VRNativeEntrypoints.VR_IVRChaperoneSetup_GetLiveSeatedZeroPoseToRawTrackingPose(m_pVRChaperoneSetup,ref pmatSeatedZeroPoseToRawTrackingPose); return result; }
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; }
internal static extern bool VR_IVRChaperoneSetup_GetLiveSeatedZeroPoseToRawTrackingPose(IntPtr instancePtr, ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
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; }
public abstract void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform) { FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin,ref pmatTrackingOriginToKeyboardTransform); }
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); }
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);
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 { } }
public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) { punTrackedDevice = 0u; return(this.FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, ref punTrackedDevice, ref pmatTrackedDeviceToOverlayTransform)); }
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
public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform) { return(this.FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle, eTrackingOrigin, coordinatesInOverlay, ref pmatTransform)); }
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
public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform) { this.FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin, ref pmatTrackingOriginToKeyboardTransform); }
public override void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose) { CheckIfUsable(); VRNativeEntrypoints.VR_IVRChaperoneSetup_SetWorkingStandingZeroPoseToRawTrackingPose(m_pVRChaperoneSetup,ref pMatStandingZeroPoseToRawTrackingPose); }
public static Vector3 GetPosition(HmdMatrix34_t matrix) { return(new Vector3(matrix.m3, matrix.m7, -matrix.m11)); }
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; }
internal static extern EVROverlayError VR_IVROverlay_GetOverlayTransformTrackedDeviceRelative(IntPtr instancePtr, ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
internal static extern void VR_IVRChaperoneSetup_SetWorkingStandingZeroPoseToRawTrackingPose(IntPtr instancePtr, ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
internal static extern void VR_IVRSystem_ApplyTransform(IntPtr instancePtr, ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform);
internal static extern EVROverlayError VR_IVROverlay_GetOverlayTransformAbsolute(IntPtr instancePtr, ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
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); }
public abstract void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform);
internal static extern bool VR_IVRChaperoneSetup_GetWorkingTagPoseByName(IntPtr instancePtr, string pchTagName, ref HmdMatrix34_t pmatTagPose, ref float pflScale);
public abstract bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose);
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(); }
public abstract bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
// 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); }
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);
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; }
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