public void MoveFilter(FilterBase filter, GenericProviderData.DataKey key, int direction) { int index = filters[(int)key].IndexOf(filter); int newIndex = Math.Min(filters[(int)key].Count - 1, Math.Max(0, index + direction)); filters[(int)key].RemoveAt(index); filters[(int)key].Insert(newIndex, filter); }
public FilterBase AddFilter(FilterType filterType, GenericProviderData.DataKey key, bool updateUI = false) { List <FilterBase> filterList = filters[(int)key]; if (filterList == null) { filterList = filters[(int)key] = new List <FilterBase>(); } FilterBase newFilter = null; switch (filterType) { case FilterType.Smooth: { NestedSmoothFilter newSmoothFilter = new NestedSmoothFilter(); newSmoothFilter.SetParameters(0, 10, 1000.0f); filterList.Add(newSmoothFilter); newFilter = newSmoothFilter; break; } case FilterType.Kalman: { KalmanNoiseFilter newKalmanFilter = new KalmanNoiseFilter(); newKalmanFilter.SetParameters(1, 1, 0.02f, 1, 0.02f, 0.0f); filterList.Add(newKalmanFilter); newFilter = newKalmanFilter; break; } case FilterType.SavitzkyGolay: { break; } case FilterType.FIR: { break; } } if (updateUI && FilterUI.Instance != null) { // FilterUI.Instance.InitChartForKey(key); } return(newFilter); }
public void DeleteFilter(FilterBase filter, GenericProviderData.DataKey key) { filters[(int)key].Remove(filter); }