コード例 #1
0
 public ARTrackable.TrackingState GetTrackingState(IntPtr trackableHandle)
 {
     ARTrackable.TrackingState state = ARTrackable.TrackingState.STOPPED;
     NDKAPI.HwArTrackable_getTrackingState(m_ndkSession.SessionHandle, trackableHandle,
                                           ref state);
     return(state);
 }
コード例 #2
0
        public static bool TryGetTrackingQuality(out int quality)
        {
            quality = default;

            if (!ARFrame.TextureIsAvailable())
            {
                return(false);
            }

            ARTrackable.TrackingState trackingState = ARFrame.GetTrackingState();

            switch (trackingState)
            {
            case ARTrackable.TrackingState.TRACKING:
                quality = 4;
                break;

            case ARTrackable.TrackingState.PAUSED:
                quality = 1;
                break;

            default:
                quality = 0;
                break;
            }

            return(true);
        }
コード例 #3
0
        public static ARTrackable.TrackingState GetTrackingState()
        {
            if (ARSessionManager.Instance.SessionStatus != ARSessionStatus.RUNNING &&
                ARSessionManager.Instance.SessionStatus != ARSessionStatus.PAUSED)
            {
                return(ARTrackable.TrackingState.STOPPED);
            }
            IntPtr cameraPtr = ARSessionManager.Instance.m_ndkSession.FrameAdapter.AcquireCameraHandle();

            ARTrackable.TrackingState state = ARSessionManager.Instance.m_ndkSession.CameraAdapter.GetTrackingState(cameraPtr);
            ARSessionManager.Instance.m_ndkSession.CameraAdapter.Release(cameraPtr);
            return(state);
        }
コード例 #4
0
 public static extern void HwArTrackable_getTrackingState(IntPtr sessionHandle,
                                                          IntPtr trackableHandle, ref ARTrackable.TrackingState trackingState);