Explorar el Código

set TrajectoryInfo & AsymIdCount to dynamic model property

- fixes model-index coloring
Alexander Rose hace 4 años
padre
commit
353c5d6d95

+ 4 - 4
src/mol-model/structure/model/model.ts

@@ -177,10 +177,10 @@ export namespace Model {
     export type TrajectoryInfo = { readonly index: number, readonly size: number }
     export const TrajectoryInfo = {
         get(model: Model): TrajectoryInfo {
-            return model._staticPropertyData[TrajectoryInfoProp] || { index: 0, size: 1 };
+            return model._dynamicPropertyData[TrajectoryInfoProp] || { index: 0, size: 1 };
         },
         set(model: Model, trajectoryInfo: TrajectoryInfo) {
-            return model._staticPropertyData[TrajectoryInfoProp] = trajectoryInfo;
+            return model._dynamicPropertyData[TrajectoryInfoProp] = trajectoryInfo;
         }
     };
 
@@ -188,9 +188,9 @@ export namespace Model {
     export type AsymIdCount = { readonly auth: number, readonly label: number }
     export const AsymIdCount = {
         get(model: Model): AsymIdCount {
-            if (model._staticPropertyData[AsymIdCountProp]) return model._staticPropertyData[AsymIdCountProp];
+            if (model._dynamicPropertyData[AsymIdCountProp]) return model._dynamicPropertyData[AsymIdCountProp];
             const asymIdCount = getAsymIdCount(model);
-            model._staticPropertyData[AsymIdCountProp] = asymIdCount;
+            model._dynamicPropertyData[AsymIdCountProp] = asymIdCount;
             return asymIdCount;
         },
     };

+ 4 - 0
src/mol-plugin-state/transforms/model.ts

@@ -170,6 +170,10 @@ const TrajectoryFromBlob = PluginStateTransform.BuiltIn({
                 }
             }
 
+            for (let i = 0; i < models.length; i++) {
+                Model.TrajectoryInfo.set(models[i], { index: i, size: models.length });
+            }
+
             const props = { label: 'Trajectory', description: `${models.length} model${models.length === 1 ? '' : 's'}` };
             return new SO.Molecule.Trajectory(new ArrayTrajectory(models), props);
         });