From aa24be8e9bd706bd0b4498ca1f8dbdc1f9ad95c1 Mon Sep 17 00:00:00 2001
From: Alexander Rose <alex.rose@rcsb.org>
Date: Tue, 13 Aug 2019 16:44:19 -0700
Subject: [PATCH] type fixes

---
 src/mol-math/geometry/common.ts               | 5 +++--
 src/mol-math/geometry/gaussian-density/cpu.ts | 2 +-
 src/mol-math/geometry/gaussian-density/gpu.ts | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/mol-math/geometry/common.ts b/src/mol-math/geometry/common.ts
index 184034082..4d37da1f4 100644
--- a/src/mol-math/geometry/common.ts
+++ b/src/mol-math/geometry/common.ts
@@ -14,11 +14,12 @@ export interface PositionData {
     x: ArrayLike<number>,
     y: ArrayLike<number>,
     z: ArrayLike<number>,
-    id: ArrayLike<number>,
     /** subset of indices into the x/y/z/radius arrays */
     indices: OrderedSet,
     /** optional element radius */
-    radius?: ArrayLike<number>
+    radius?: ArrayLike<number>,
+    /** optional element id */
+    id?: ArrayLike<number>,
 }
 
 export type DensityData = {
diff --git a/src/mol-math/geometry/gaussian-density/cpu.ts b/src/mol-math/geometry/gaussian-density/cpu.ts
index bb74c6d12..4adb4b8de 100644
--- a/src/mol-math/geometry/gaussian-density/cpu.ts
+++ b/src/mol-math/geometry/gaussian-density/cpu.ts
@@ -100,7 +100,7 @@ export async function GaussianDensityCPU(ctx: RuntimeContext, position: Position
                             data[idx] += dens
                             if (dens > densData[idx]) {
                                 densData[idx] = dens
-                                idData[idx] = id[i]
+                                idData[idx] = id ? id[i] : i
                             }
                         }
                     }
diff --git a/src/mol-math/geometry/gaussian-density/gpu.ts b/src/mol-math/geometry/gaussian-density/gpu.ts
index 2128478a6..901b47368 100644
--- a/src/mol-math/geometry/gaussian-density/gpu.ts
+++ b/src/mol-math/geometry/gaussian-density/gpu.ts
@@ -242,7 +242,7 @@ function prepareGaussianDensityData(position: PositionData, box: Box3D, radius:
         const r = radius(j) + radiusOffset
         if (maxRadius < r) maxRadius = r
         radii[i] = r
-        groups[i] = id[i]
+        groups[i] = id ? id[i] : i
     }
 
     const pad = maxRadius * 2 + resolution * 4
-- 
GitLab