From 286b27720a02d7ada261f665963953294bb8e7c6 Mon Sep 17 00:00:00 2001
From: Alexander Rose <alex.rose@rcsb.org>
Date: Wed, 7 Aug 2019 17:04:10 -0700
Subject: [PATCH] StructureElement fixes

---
 src/mol-model/structure/structure/element.ts | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/mol-model/structure/structure/element.ts b/src/mol-model/structure/structure/element.ts
index 5f48d6a30..cc97ca47b 100644
--- a/src/mol-model/structure/structure/element.ts
+++ b/src/mol-model/structure/structure/element.ts
@@ -128,10 +128,14 @@ namespace StructureElement {
         export function all(structure: Structure): Loci {
             return Loci(structure, structure.units.map(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 {
             if (structure === loci.structure) return loci
 
@@ -647,7 +651,7 @@ namespace StructureElement {
             for (let i = 0, il = a.elements.length; i < il; ++i) {
                 const elementA = a.elements[i], elementB = b.elements[i]
                 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.set, elementB.set)) return false
-- 
GitLab