Browse Source

more flexible propset data structure

Yana Rose 4 years ago
parent
commit
444c3deed8
1 changed files with 7 additions and 12 deletions
  1. 7 12
      src/viewer/helpers/preset.ts

+ 7 - 12
src/viewer/helpers/preset.ts

@@ -80,10 +80,7 @@ type ColorProp = {
 
 type PropSet = {
     args: ColorProp,
-    location: {
-        beg: number
-        end: number
-    }
+    positions: number[]
 };
 
 type SubsetProps = {
@@ -92,10 +89,8 @@ type SubsetProps = {
         asymId: string
         matrix: Mat4,
         selection?: {
-            location: {
-                beg: number
-                end: number
-            }
+            beg: number
+            end: number
         }[],
         propset: PropSet[]
     }[]
@@ -189,8 +184,8 @@ export const RcsbPreset = TrajectoryHierarchyPresetProvider({
                 let colorLookup = new Map();
                 block.propset.forEach(prop => {
                     if (prop.args.name === 'color') {
-                        for (let i=prop.location.beg; i<=prop.location.end; i++) {
-                            colorLookup.set(i, prop.args.value);
+                        for (let i = 0; i < prop.positions.length; i++) {
+                            colorLookup.set(prop.positions[i], prop.args.value);
                         }
                     }
                 });
@@ -227,8 +222,8 @@ export const RcsbPreset = TrajectoryHierarchyPresetProvider({
                 let colorLookup = new Map();
                 block.propset.forEach(prop => {
                     if (prop.args.name === 'color') {
-                        for (let i=prop.location.beg; i<=prop.location.end; i++){
-                            colorLookup.set(i, prop.args.value);
+                        for (let i = 0; i < prop.positions.length; i++) {
+                            colorLookup.set(prop.positions[i], prop.args.value);
                         }
                     }
                 });