public LostTrackingReason GetTrackingLostReason() { LostTrackingReason lost_tracking_reason = LostTrackingReason.NONE; NativeApi.NRTrackingPoseGetTrackingReason(m_NativeInterface.TrackingHandle, headTrackingHandle, ref lost_tracking_reason); return(lost_tracking_reason); }
private void CheckHMDPoseState() { if (!NRSessionManager.Instance.IsInitialized || !isInited) { return; } var currentReason = NRFrame.LostTrackingReason; if (m_LastReason == LostTrackingReason.NONE && currentReason != LostTrackingReason.NONE && isReady) { if (OnHMDLostTracking != null) { OnHMDLostTracking.Invoke(); } } if (m_LastReason != LostTrackingReason.NONE && currentReason == LostTrackingReason.NONE && !isReady) { if (OnHMDPoseReady != null) { OnHMDPoseReady.Invoke(); } isReady = true; } m_LastReason = currentReason; }
public LostTrackingReason GetTrackingLostReason() { LostTrackingReason lost_tracking_reason = LostTrackingReason.NONE; var result = NativeApi.NRTrackingPoseGetTrackingReason(m_NativeInterface.TrackingHandle, headTrackingHandle, ref lost_tracking_reason); NativeErrorListener.Check(result, this, "GetTrackingLostReason"); return(lost_tracking_reason); }
private void Update() { if (SessionState == SessionState.Running) { m_LostTrackingReason = NativeAPI.NativeHeadTracking.GetTrackingLostReason(); } NRFrame.OnUpdate(); }
public LostTrackingReason GetTrackingLostReason() { if (headTrackingHandle == 0) { return(LostTrackingReason.INITIALIZING); } LostTrackingReason lost_tracking_reason = LostTrackingReason.NONE; var result = NativeApi.NRTrackingPoseGetTrackingReason(m_NativeInterface.TrackingHandle, headTrackingHandle, ref lost_tracking_reason); if (result != NativeResult.TrackingNotRunning) { NativeErrorListener.Check(result, this, "GetTrackingLostReason"); } return(lost_tracking_reason); }
private void CheckHMDPoseState() { if (NRFrame.SessionStatus != SessionState.Running) { return; } var currentReason = NRFrame.LostTrackingReason; // When LostTrackingReason changed. if (currentReason != m_LastReason) { if (currentReason != LostTrackingReason.NONE) { OnHMDLostTracking?.Invoke(); } else if (currentReason == LostTrackingReason.NONE) { OnHMDPoseReady?.Invoke(); } m_LastReason = currentReason; } }
public static extern NativeResult NRTrackingPoseGetTrackingReason(UInt64 tracking_handle, UInt64 tracking_pose_handle, ref LostTrackingReason out_tracking_reason);