/// <summary> /// Get the list of trackables with specified filter. /// </summary> /// <param name="trackables">A list where the returned trackable stored.The previous values will be cleared.</param> /// <param name="filter">Query filter.</param> public static void GetTrackables <T>(List <T> trackables, NRTrackableQueryFilter filter) where T : NRTrackable { if (SessionStatus != SessionState.Running) { return; } trackables.Clear(); NRSessionManager.Instance.NativeAPI.TrackableFactory.GetTrackables <T>(trackables, filter); }
/// <summary> /// Get the list of trackables with specified filter. /// </summary> /// <param name="trackables">A list where the returned trackable stored.The previous values will be cleared.</param> /// <param name="filter">Query filter.</param> public static void GetTrackables <T>(List <T> trackables, NRTrackableQueryFilter filter) where T : NRTrackable { trackables.Clear(); #if !UNITY_EDITOR if (SessionStatus != SessionState.Tracking) { return; } #endif NRSessionManager.Instance.NativeAPI.TrackableFactory.GetTrackables <T>(trackables, filter); }
/** * @brief Get the list of trackables with specified filter. * @param[out] trackableList A list where the returned trackable stored. The previous values will be cleared. * @param filter Query filter. */ public void GetTrackables <T>(List <T> trackables, NRTrackableQueryFilter filter) where T : NRTrackable { if (m_LastUpdateFrame < Time.frameCount) { TrackableType t_type = GetTrackableType <T>(); // Update trackable by type UpdateTrackables(t_type); // Find the new trackable in this frame m_NewTrackables.Clear(); for (int i = 0; i < m_AllTrackables.Count; i++) { NRTrackable trackable = m_AllTrackables[i]; if (!m_OldTrackables.Contains(trackable)) { m_NewTrackables.Add(trackable); m_OldTrackables.Add(trackable); } } m_LastUpdateFrame = Time.frameCount; } trackables.Clear(); if (filter == NRTrackableQueryFilter.All) { for (int i = 0; i < m_AllTrackables.Count; i++) { SafeAdd <T>(m_AllTrackables[i], trackables); } } else if (filter == NRTrackableQueryFilter.New) { for (int i = 0; i < m_NewTrackables.Count; i++) { SafeAdd <T>(m_NewTrackables[i], trackables); } } }
/** * @brief Get the list of trackables with specified filter. * @param[out] trackableList A list where the returned trackable stored. The previous values will be cleared. * @param filter Query filter. */ public void GetTrackables <T>(List <T> trackables, NRTrackableQueryFilter filter) where T : NRTrackable { TrackableType t_type = GetTrackableType <T>(); #if !UNITY_EDITOR_OSX // Update trackable by type UpdateTrackables(t_type); #endif // Find the new trackable in this frame m_NewTrackables.Clear(); for (int i = 0; i < m_AllTrackables.Count; i++) { NRTrackable trackable = m_AllTrackables[i]; if (!m_OldTrackables.Contains(trackable)) { m_NewTrackables.Add(trackable); m_OldTrackables.Add(trackable); } } trackables.Clear(); if (filter == NRTrackableQueryFilter.All) { for (int i = 0; i < m_AllTrackables.Count; i++) { SafeAdd <T>(m_AllTrackables[i], trackables); } } else if (filter == NRTrackableQueryFilter.New) { for (int i = 0; i < m_NewTrackables.Count; i++) { SafeAdd <T>(m_NewTrackables[i], trackables); } } }