@phi-ag/rvt
Version:
Parse Revit file format
26 lines (25 loc) • 727 B
JavaScript
export class Boundaries {
items = [];
add([start, end]) {
const previous = this.items[this.items.length - 1];
if (previous === undefined) {
this.items.push([start, end, 0]);
return;
}
const [prevStart, prevEnd, prevOffset] = previous;
if (prevEnd !== start) {
const offset = prevEnd - prevStart + prevOffset;
this.items.push([start, end, offset]);
}
else {
previous[1] = end;
}
}
size() {
const last = this.items[this.items.length - 1];
if (last === undefined)
return 0;
const [start, end, offset] = last;
return end - start + offset;
}
}