JAL-3551 working proof of concept of Jalview driving PyMOL
[jalview.git] / src / jalview / structure / AtomSpecModel.java
index 1b7d284..1ef653e 100644 (file)
@@ -33,9 +33,9 @@ import java.util.TreeMap;
 public class AtomSpecModel
 {
   /*
-   * { modelNo, {chainCode, List<from-to> ranges} }
+   * { modelId, {chainCode, List<from-to> ranges} }
    */
-  private Map<Integer, Map<String, BitSet>> atomSpec;
+  private Map<String, Map<String, BitSet>> atomSpec;
 
   /**
    * Constructor
@@ -53,7 +53,7 @@ public class AtomSpecModel
    * @param endPos
    * @param chain
    */
-  public void addRange(int model, int startPos, int endPos, String chain)
+  public void addRange(String model, int startPos, int endPos, String chain)
   {
     /*
      * Get/initialize map of data for the colour and model
@@ -80,12 +80,17 @@ public class AtomSpecModel
     chainData.set(startPos, endPos + 1);
   }
 
-  public Iterable<Integer> getModels()
+  public Iterable<String> getModels()
   {
     return atomSpec.keySet();
   }
 
-  public Iterable<String> getChains(Integer model)
+  public int getModelCount()
+  {
+    return atomSpec.size();
+  }
+
+  public Iterable<String> getChains(String model)
   {
     return atomSpec.containsKey(model) ? atomSpec.get(model).keySet()
             : null;
@@ -99,7 +104,7 @@ public class AtomSpecModel
    * @param chain
    * @return
    */
-  public List<int[]> getRanges(Integer model, String chain)
+  public List<int[]> getRanges(String model, String chain)
   {
     List<int[]> ranges = new ArrayList<>();
     if (atomSpec.containsKey(model))