giagitom 2 years ago
parent
commit
649fe4f4f0

+ 16 - 16
src/mol-math/geometry/lookup3d/grid.ts

@@ -404,23 +404,23 @@ function queryNearest<T extends number = number>(ctx: QueryContext, result: Resu
         }
         expandGrid = false;
         if (nextGCount === 0) {
-            if (k === 1){
-              const node = tmpHeapG.findMinimum()
-              if (node) {
-                const { key: squaredDistance, value : index } = node!
-                //const squaredDistance = node!.key, index = node!.value;
-                Result.add(result, index as number, squaredDistance as number);
-                return true
-              }
+            if (k === 1) {
+                const node = tmpHeapG.findMinimum();
+                if (node) {
+                    const { key: squaredDistance, value: index } = node!;
+                    // const squaredDistance = node!.key, index = node!.value;
+                    Result.add(result, index as number, squaredDistance as number);
+                    return true;
+                }
             } else {
-              while (!tmpHeapG.isEmpty() && (gridPointsFinished || tmpHeapG.findMinimum()!.key as number <= maxRange) && result.count < k) {
-                  const node = tmpHeapG.extractMinimum();
-                  const squaredDistance = node!.key, index = node!.value;
-                  Result.add(result, index as number, squaredDistance as number);
-                  if (stopIf && !stop) {
-                      stop = stopIf(index, squaredDistance);
-                  }
-              }
+                while (!tmpHeapG.isEmpty() && (gridPointsFinished || tmpHeapG.findMinimum()!.key as number <= maxRange) && result.count < k) {
+                    const node = tmpHeapG.extractMinimum();
+                    const squaredDistance = node!.key, index = node!.value;
+                    Result.add(result, index as number, squaredDistance as number);
+                    if (stopIf && !stop) {
+                        stop = stopIf(index, squaredDistance);
+                    }
+                }
             }
             if (result.count >= k || stop || result.count >= indicesCount) return result.count > 0;
             expandGrid = true;

+ 13 - 13
src/mol-model/structure/structure/util/lookup3d.ts

@@ -119,20 +119,20 @@ export class StructureLookup3D {
                 heap.insert(groupResult.squaredDistances[j], { index: groupResult.indices[j], unit: unit });
             }
         }
-        if (k === 1){
-          const node = heap.findMinimum()
-          if (node) {
-            const { key: squaredDistance } = node;
-            const { unit, index } = node.value as { index: UnitIndex, unit: Unit };
-            StructureResult.add(result, unit as Unit, index as UnitIndex, squaredDistance as number);
-          }
+        if (k === 1) {
+            const node = heap.findMinimum();
+            if (node) {
+                const { key: squaredDistance } = node;
+                const { unit, index } = node.value as { index: UnitIndex, unit: Unit };
+                StructureResult.add(result, unit as Unit, index as UnitIndex, squaredDistance as number);
+            }
         } else {
-          while (!heap.isEmpty() && result.count < k) {
-              const node = heap.extractMinimum();
-              const { key: squaredDistance } = node!;
-              const { unit, index } = node!.value as { index: UnitIndex, unit: Unit };
-              StructureResult.add(result, unit as Unit, index as UnitIndex, squaredDistance as number);
-          }
+            while (!heap.isEmpty() && result.count < k) {
+                const node = heap.extractMinimum();
+                const { key: squaredDistance } = node!;
+                const { unit, index } = node!.value as { index: UnitIndex, unit: Unit };
+                StructureResult.add(result, unit as Unit, index as UnitIndex, squaredDistance as number);
+            }
         }
         return result;
     }