Skip to content
Snippets Groups Projects
Commit 286b2772 authored by Alexander Rose's avatar Alexander Rose
Browse files

StructureElement fixes

parent dc0e54c2
No related branches found
No related tags found
No related merge requests found
...@@ -128,10 +128,14 @@ namespace StructureElement { ...@@ -128,10 +128,14 @@ namespace StructureElement {
export function all(structure: Structure): Loci { export function all(structure: Structure): Loci {
return Loci(structure, structure.units.map(unit => ({ return Loci(structure, structure.units.map(unit => ({
unit, unit,
indices: OrderedSet.ofRange<UnitIndex>(0 as UnitIndex, unit.elements.length as UnitIndex) indices: OrderedSet.ofBounds<UnitIndex>(0 as UnitIndex, unit.elements.length as UnitIndex)
}))); })));
} }
export function none(structure: Structure): Loci {
return Loci(structure, []);
}
export function remap(loci: Loci, structure: Structure): Loci { export function remap(loci: Loci, structure: Structure): Loci {
if (structure === loci.structure) return loci if (structure === loci.structure) return loci
...@@ -647,7 +651,7 @@ namespace StructureElement { ...@@ -647,7 +651,7 @@ namespace StructureElement {
for (let i = 0, il = a.elements.length; i < il; ++i) { for (let i = 0, il = a.elements.length; i < il; ++i) {
const elementA = a.elements[i], elementB = b.elements[i] const elementA = a.elements[i], elementB = b.elements[i]
if (elementA.groupedUnits.length !== elementB.groupedUnits.length) return false if (elementA.groupedUnits.length !== elementB.groupedUnits.length) return false
for (let j = 0, jl = elementB.groupedUnits.length; j < jl; ++i) { for (let j = 0, jl = elementB.groupedUnits.length; j < jl; ++j) {
if (!SortedArray.areEqual(elementA.groupedUnits[j], elementB.groupedUnits[j])) return false if (!SortedArray.areEqual(elementA.groupedUnits[j], elementB.groupedUnits[j])) return false
} }
if (!SortedArray.areEqual(elementA.set, elementB.set)) return false if (!SortedArray.areEqual(elementA.set, elementB.set)) return false
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment