Ver Fonte

fully mark carbohydrate terminal links from StructureElement.Loci

Alexander Rose há 5 anos atrás
pai
commit
5bce423b49

+ 5 - 1
src/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.ts

@@ -136,7 +136,6 @@ function getTerminalLinkLoci(pickingId: PickingId, structure: Structure, id: num
     return EmptyLoci
 }
 
-// TODO for each link when both of the link elements are in a StructureElement.Loci
 function eachTerminalLink(loci: Loci, structure: Structure, apply: (interval: Interval) => boolean) {
     const { getTerminalLinkIndex } = structure.carbohydrates
     let changed = false
@@ -161,6 +160,11 @@ function eachTerminalLink(loci: Loci, structure: Structure, apply: (interval: In
                     for (let i = 0, il = indices.length; i < il; ++i) {
                         if (apply(Interval.ofSingleton(indices[i]))) changed = true
                     }
+                } else {
+                    const indices = getTerminalLinkIndices(e.unit, e.unit.elements[v])
+                    for (let i = 0, il = indices.length; i < il; ++i) {
+                        if (apply(Interval.ofSingleton(indices[i]))) changed = true
+                    }
                 }
             })
         }