private TRange JoinTwoDataRanges(TRange old, TRange insert) { var insertTimeRange = _accessor.GetTimeRange(insert); var oldTimeRange = _accessor.GetTimeRange(old); var min = Math.Min(insertTimeRange.Min, oldTimeRange.Min); var max = Math.Max(insertTimeRange.Max, oldTimeRange.Max); var data = JoinData(_accessor.GetData(insert), _accessor.GetData(old)); return(_creator.Create(new TimeRange(min, max), data, insert)); }
private TRange FilterRange(TRange range, TimeRange timeRange, FilterMode filterMode) { return(_creator.Create(_accessor.GetTimeRange(range).Insersect(timeRange), FilterData(_accessor.GetData(range), timeRange, filterMode), range)); }