예제 #1
0
 /// <summary>
 /// Register to get Tango depth callbacks.
 ///
 /// NOTE: Tango depth callbacks happen on a different thread than the main
 /// Unity thread.
 /// </summary>
 internal void SetCallback()
 {
     m_pointCloud                    = new TangoPointCloudData();
     m_pointCloud.m_points           = new float[Common.MAX_NUM_POINTS * 4];
     m_xyzPoints                     = new float[Common.MAX_NUM_POINTS * 3];
     m_onPointCloudAvailableCallback = new DepthProvider.APIOnPointCloudAvailable(_OnPointCloudAvailable);
     Tango.DepthProvider.SetCallback(m_onPointCloudAvailableCallback);
 }
예제 #2
0
        /// <summary>
        /// Register to get Tango depth callbacks.
        ///
        /// NOTE: Tango depth callbacks happen on a different thread than the main
        /// Unity thread.
        /// </summary>
        internal static void SetCallback()
        {
            if (m_onPointCloudAvailableCallback != null)
            {
                Debug.Log("DepthListener.SetCallback() called when callback is already set.");
                return;
            }

            Debug.Log("DepthListener.SetCallback()");
            m_onPointCloudAvailableCallback = new DepthProvider.APIOnPointCloudAvailable(_OnPointCloudAvailable);
            Tango.DepthProvider.SetCallback(m_onPointCloudAvailableCallback);
        }
예제 #3
0
        /// <summary>
        /// Stop getting Tango depth callbacks, clear all listeners.
        /// </summary>
        internal static void Reset()
        {
            // Avoid calling into tango_client_api before the correct library is loaded.
            if (m_onPointCloudAvailableCallback != null)
            {
                Tango.DepthProvider.ClearCallback();
            }

            m_onPointCloudAvailableCallback = null;
            m_isDirty                            = false;
            m_pointCloud                         = new TangoPointCloudData();
            m_pointCloud.m_points                = new float[Common.MAX_NUM_POINTS * 4];
            m_xyzPoints                          = new float[Common.MAX_NUM_POINTS * 3];
            m_maxNumReducedDepthPoints           = 0;
            m_onTangoDepthAvailable              = null;
            m_onTangoDepthMultithreadedAvailable = null;
            m_onPointCloudAvailable              = null;
            m_onPointCloudMultithreadedAvailable = null;
        }
예제 #4
0
        /// <summary>
        /// Register to get Tango depth callbacks.
        /// 
        /// NOTE: Tango depth callbacks happen on a different thread than the main
        /// Unity thread.
        /// </summary>
        internal static void SetCallback()
        {
            if (m_onPointCloudAvailableCallback != null)
            {
                Debug.Log("DepthListener.SetCallback() called when callback is already set.");
                return;
            }

            Debug.Log("DepthListener.SetCallback()");
            m_onPointCloudAvailableCallback = new DepthProvider.APIOnPointCloudAvailable(_OnPointCloudAvailable);
            Tango.DepthProvider.SetCallback(m_onPointCloudAvailableCallback);
        }
예제 #5
0
        /// <summary>
        /// Stop getting Tango depth callbacks, clear all listeners.
        /// </summary>
        internal static void Reset()
        {
            // Avoid calling into tango_client_api before the correct library is loaded.
            if (m_onPointCloudAvailableCallback != null)
            {
                Tango.DepthProvider.ClearCallback();
            }

            m_onPointCloudAvailableCallback = null;
            m_isDirty = false;
            m_pointCloud = new TangoPointCloudData();
            m_pointCloud.m_points = new float[Common.MAX_NUM_POINTS * 4];
            m_xyzPoints = new float[Common.MAX_NUM_POINTS * 3];
            m_maxNumReducedDepthPoints = 0;
            m_onTangoDepthAvailable = null;
            m_onTangoDepthMultithreadedAvailable = null;
            m_onPointCloudAvailable = null;
            m_onPointCloudMultithreadedAvailable = null;
        }