public static LostTrackingReason ToLostTrackingReason(
            this ApiTrackingFailureReason apiTrackingFailureReason)
        {
            switch (apiTrackingFailureReason)
            {
            case ApiTrackingFailureReason.None:
                return(LostTrackingReason.None);

            case ApiTrackingFailureReason.BadState:
                return(LostTrackingReason.BadState);

            case ApiTrackingFailureReason.InsufficientLight:
                return(LostTrackingReason.InsufficientLight);

            case ApiTrackingFailureReason.ExcessiveMotion:
                return(LostTrackingReason.ExcessiveMotion);

            case ApiTrackingFailureReason.InsufficientFeatures:
                return(LostTrackingReason.InsufficientFeatures);

            case ApiTrackingFailureReason.CameraUnavailable:
                return(LostTrackingReason.CameraUnavailable);

            default:
                return(LostTrackingReason.None);
            }
        }
Пример #2
0
        public LostTrackingReason GetLostTrackingReason(IntPtr cameraHandle)
        {
            ApiTrackingFailureReason apiTrackingFailureReason = ApiTrackingFailureReason.None;

            ExternApi.ArCamera_getTrackingFailureReason(m_NativeSession.SessionHandle,
                                                        cameraHandle, ref apiTrackingFailureReason);
            return(apiTrackingFailureReason.ToLostTrackingReason());
        }
Пример #3
0
        public LostTrackingReason GetLostTrackingReason(IntPtr cameraHandle)
        {
            if (InstantPreviewManager.IsProvidingPlatform)
            {
                InstantPreviewManager.LogLimitedSupportMessage("determine tracking failure " +
                                                               "reasons");
                return(LostTrackingReason.None);
            }

            ApiTrackingFailureReason apiTrackingFailureReason = ApiTrackingFailureReason.None;

            ExternApi.ArCamera_getTrackingFailureReason(m_NativeSession.SessionHandle,
                                                        cameraHandle, ref apiTrackingFailureReason);
            return(apiTrackingFailureReason.ToLostTrackingReason());
        }
Пример #4
0
 public static extern void ArCamera_getTrackingFailureReason(
     IntPtr sessionHandle, IntPtr cameraHandle,
     ref ApiTrackingFailureReason outTrackingState);