/// <summary> /// Unregisters a Unity multithread handler for the Tango point cloud event. /// </summary> /// <param name="handler">Event handler to register.</param> internal static void UnregisterOnPointCloudMultithreadedAvailable( OnPointCloudMultithreadedAvailableEventHandler handler) { if (handler != null) { m_onPointCloudMultithreadedAvailable -= handler; } }
/// <summary> /// Registers a Unity multithread handler for the Tango point cloud event. /// </summary> /// <param name="handler">Event handler to register.</param> internal void RegisterOnPointCloudMultithreadedAvailable( OnPointCloudMultithreadedAvailableEventHandler handler) { if (handler != null) { m_onPointCloudMultithreadedAvailable += handler; } }
/// <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; }