public void Add(T item, Duration duration) { var durateditem = new DuratedItem <T> { Value = item, Duration = duration }; elements_start.Add(durateditem, duration.Start); elements_end.Add(durateditem, duration.End); items.Add(durateditem); FieldChanged?.Invoke(duration); GeneralDuration.Value |= duration; ItemAdded?.Invoke(duration, item); }
public void Add(V item, Time time) { if (time == pivot) { items.Add(item); } else if (time < pivot) { if (left == null) { left = new TimeTree <V>(time); } //if (left == null || left.pivot < time) { // var newleft = new TimeTree<V>(time); // newleft.left = left; // left = newleft; //} left.Add(item, time); } else // time > pivot { if (right == null) { right = new TimeTree <V>(time); } //if (right == null || right.pivot > time) { // var newright = new TimeTree<V>(time); // newright.right = right; // right = newright; //} right.Add(item, time); } }