parent
2e90b3bce8
commit
2975038891
|
@ -684,17 +684,32 @@ function getMeshIndexRange(indexRanges: Range[], pathRange: Range): Range {
|
|||
if (indexRanges.length === 0)
|
||||
return new Range(0, 0);
|
||||
|
||||
let firstIndex;
|
||||
if (pathRange.start - 1 >= indexRanges.length)
|
||||
firstIndex = unwrapUndef(_.last(indexRanges)).end;
|
||||
else
|
||||
firstIndex = indexRanges[pathRange.start - 1].start;
|
||||
const lastIndexRange = unwrapUndef(_.last(indexRanges));
|
||||
const descending = indexRanges[0].start > lastIndexRange.start;
|
||||
|
||||
let lastIndex;
|
||||
if (pathRange.end - 1 >= indexRanges.length)
|
||||
lastIndex = unwrapUndef(_.last(indexRanges)).end;
|
||||
else
|
||||
lastIndex = indexRanges[pathRange.end - 1].start;
|
||||
pathRange = new Range(pathRange.start - 1, pathRange.end - 1);
|
||||
|
||||
return new Range(firstIndex, lastIndex);
|
||||
let startIndex;
|
||||
if (pathRange.start >= indexRanges.length)
|
||||
startIndex = lastIndexRange.end;
|
||||
else if (!descending)
|
||||
startIndex = indexRanges[pathRange.start].start;
|
||||
else
|
||||
startIndex = indexRanges[pathRange.start].end;
|
||||
|
||||
let endIndex;
|
||||
if (pathRange.end >= indexRanges.length)
|
||||
endIndex = lastIndexRange.end;
|
||||
else if (!descending)
|
||||
endIndex = indexRanges[pathRange.end].start;
|
||||
else
|
||||
endIndex = indexRanges[pathRange.end - 1].start;
|
||||
|
||||
if (descending) {
|
||||
const tmp = startIndex;
|
||||
startIndex = endIndex;
|
||||
endIndex = tmp;
|
||||
}
|
||||
|
||||
return new Range(startIndex, endIndex);
|
||||
}
|
||||
|
|
|
@ -140,7 +140,7 @@ impl MeshLibrary {
|
|||
let mut new_interior_indices =
|
||||
Vec::with_capacity(self.cover_indices.interior_indices.len());
|
||||
|
||||
for path_range in &mut self.path_ranges {
|
||||
for path_range in self.path_ranges.iter_mut().rev() {
|
||||
let old_interior_indices = &self.cover_indices.interior_indices[..];
|
||||
let old_range = path_range.cover_interior_indices.clone();
|
||||
let old_range = (old_range.start as usize)..(old_range.end as usize);
|
||||
|
|
Loading…
Reference in New Issue