/// <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); }
/// <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); }
/// <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; }
/// <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); }
/// <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; }