Do not add the old timeperiod segment, if we cut it in the middle

This commit is contained in:
Philipp Dallig 2018-05-16 12:04:38 +02:00
parent 120eb070d2
commit 8e124e2abe
1 changed files with 3 additions and 1 deletions

View File

@ -142,12 +142,12 @@ void TimePeriod::RemoveSegment(double begin, double end)
for (const Dictionary::Ptr& segment : segments) {
/* Fully contained in the specified range? */
if (segment->Get("begin") >= begin && segment->Get("end") <= end)
// Don't add the old segment, because the segment is fully contained into our range
continue;
/* Not overlapping at all? */
if (segment->Get("end") < begin || segment->Get("begin") > end) {
newSegments->Add(segment);
continue;
}
@ -162,6 +162,8 @@ void TimePeriod::RemoveSegment(double begin, double end)
{ "begin", end },
{ "end", segment->Get("end") }
}));
// Don't add the old segment, because we have now two new segments and a gap between
continue;
}
/* Adjust the begin/end timestamps so as to not overlap with the specified range. */