Revision: 21482
          http://sourceforge.net/p/jmol/code/21482
Author:   hansonr
Date:     2017-04-04 23:09:31 +0000 (Tue, 04 Apr 2017)
Log Message:
-----------
fixes for color property dssr xxxxx so that "n/a" is gray

Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/api/JmolAnnotationParser.java
    trunk/Jmol/src/org/jmol/dssx/AnnotationParser.java
    trunk/Jmol/src/org/jmol/dssx/DSSR1.java
    trunk/Jmol/src/org/jmol/modelset/Atom.java
    trunk/Jmol/src/org/jmol/modelset/AtomCollection.java
    trunk/Jmol/src/org/jmol/modelset/ModelSet.java
    trunk/Jmol/src/org/jmol/modelsetbio/BioModel.java
    trunk/Jmol/src/org/jmol/script/ScriptExpr.java
    trunk/Jmol/src/org/jmol/script/T.java
    trunk/Jmol/src/org/jmol/viewer/ColorManager.java

Modified: trunk/Jmol/src/org/jmol/api/JmolAnnotationParser.java
===================================================================
--- trunk/Jmol/src/org/jmol/api/JmolAnnotationParser.java       2017-04-04 
16:44:00 UTC (rev 21481)
+++ trunk/Jmol/src/org/jmol/api/JmolAnnotationParser.java       2017-04-04 
23:09:31 UTC (rev 21482)
@@ -22,7 +22,7 @@
 
   String getHBonds(ModelSet ms, int modelIndex, Lst<Bond> vHBonds, boolean 
doReport);
 
-  void getAtomicDSSRData(ModelSet ms, int modelIndex, int[] dssrData,
+  void getAtomicDSSRData(ModelSet ms, int modelIndex, float[] dssrData,
                          String dataType);
 
   String calculateDSSRStructure(Viewer vwr, BS bsAtoms);

Modified: trunk/Jmol/src/org/jmol/dssx/AnnotationParser.java
===================================================================
--- trunk/Jmol/src/org/jmol/dssx/AnnotationParser.java  2017-04-04 16:44:00 UTC 
(rev 21481)
+++ trunk/Jmol/src/org/jmol/dssx/AnnotationParser.java  2017-04-04 23:09:31 UTC 
(rev 21482)
@@ -900,7 +900,7 @@
   }
 
   @Override
-  public void getAtomicDSSRData(ModelSet ms, int modelIndex, int[] dssrData, 
String dataType) {
+  public void getAtomicDSSRData(ModelSet ms, int modelIndex, float[] dssrData, 
String dataType) {
   }
 
   @Override

Modified: trunk/Jmol/src/org/jmol/dssx/DSSR1.java
===================================================================
--- trunk/Jmol/src/org/jmol/dssx/DSSR1.java     2017-04-04 16:44:00 UTC (rev 
21481)
+++ trunk/Jmol/src/org/jmol/dssx/DSSR1.java     2017-04-04 23:09:31 UTC (rev 
21482)
@@ -457,7 +457,7 @@
   
   @SuppressWarnings("unchecked")
   @Override
-  public void getAtomicDSSRData(ModelSet ms, int modelIndex, int[] dssrData, 
String dataType) {
+  public void getAtomicDSSRData(ModelSet ms, int modelIndex, float[] dssrData, 
String dataType) {
     Map<String, Object> info = (Map<String, Object>) ms.getInfo(modelIndex, 
"dssr");
     Lst<Object> list;
     if (info == null || (list = (Lst<Object>) info.get(dataType)) == null)
@@ -470,7 +470,7 @@
         bs.clearAll();
         ms.getSequenceBits(map.toString(), bsAtoms, bs);
         for (int j = bs.nextSetBit(0); j >= 0; j = bs.nextSetBit(j + 1))
-          dssrData[j] = i + 1;
+          dssrData[j] = i;
       }
     } catch (Throwable e) {
     }

Modified: trunk/Jmol/src/org/jmol/modelset/Atom.java
===================================================================
--- trunk/Jmol/src/org/jmol/modelset/Atom.java  2017-04-04 16:44:00 UTC (rev 
21481)
+++ trunk/Jmol/src/org/jmol/modelset/Atom.java  2017-04-04 23:09:31 UTC (rev 
21482)
@@ -1102,8 +1102,6 @@
       return group.chain.chainNo;
     case T.color:
       return group.chain.model.ms.vwr.gdata.getColorArgbOrGray(colixAtom);
-    case T.dssr:
-      return group.chain.model.ms.getAtomicDSSRData(i);
     case T.element:
     case T.elemno:
       return getElementNumber();
@@ -1188,6 +1186,8 @@
     case T.atomz:
     case T.z:
       return z;
+    case T.dssr:
+      return group.chain.model.ms.getAtomicDSSRData(i);
     case T.backbone:
     case T.cartoon:
     case T.dots:

Modified: trunk/Jmol/src/org/jmol/modelset/AtomCollection.java
===================================================================
--- trunk/Jmol/src/org/jmol/modelset/AtomCollection.java        2017-04-04 
16:44:00 UTC (rev 21481)
+++ trunk/Jmol/src/org/jmol/modelset/AtomCollection.java        2017-04-04 
23:09:31 UTC (rev 21482)
@@ -190,7 +190,7 @@
   int[] atomSerials;
   int[] atomResnos;
   int[] atomSeqIDs;
-  int[] dssrData;
+  float[] dssrData;
   public Vibration[] vibrations;
   public float[] occupancies;
   short[] bfactor100s;
@@ -2590,7 +2590,7 @@
         nAtoms);
     atomSeqIDs = (int[]) AU.deleteElements(atomSeqIDs, firstAtomIndex,
         nAtoms);
-    dssrData = (int[]) AU.deleteElements(dssrData, firstAtomIndex,
+    dssrData = (float[]) AU.deleteElements(dssrData, firstAtomIndex,
         nAtoms);
     bfactor100s = (short[]) AU.deleteElements(bfactor100s,
         firstAtomIndex, nAtoms);

Modified: trunk/Jmol/src/org/jmol/modelset/ModelSet.java
===================================================================
--- trunk/Jmol/src/org/jmol/modelset/ModelSet.java      2017-04-04 16:44:00 UTC 
(rev 21481)
+++ trunk/Jmol/src/org/jmol/modelset/ModelSet.java      2017-04-04 23:09:31 UTC 
(rev 21482)
@@ -4056,17 +4056,16 @@
     if (dataType == null)
       return;
     if (dssrData == null || dssrData.length < ac)
-      dssrData = new int[ac];
-    else
-      for (int i = 0; i < ac; i++)
-        dssrData[i] = 0;
+      dssrData = new float[ac];
+    for (int i = 0; i < ac; i++)
+      dssrData[i] = Float.NaN;
     for (int i = mc; --i >= 0;)
       if (am[i].isBioModel)
         ((BioModel) am[i]).getAtomicDSSRData(dssrData, dataType);
   }
 
-  public int getAtomicDSSRData(int i) {
-    return (dssrData == null || dssrData.length <= i ? 0 : dssrData[i]);
+  public float getAtomicDSSRData(int i) {
+    return (dssrData == null || dssrData.length <= i ? Float.NaN : 
dssrData[i]);
   }
 
 

Modified: trunk/Jmol/src/org/jmol/modelsetbio/BioModel.java
===================================================================
--- trunk/Jmol/src/org/jmol/modelsetbio/BioModel.java   2017-04-04 16:44:00 UTC 
(rev 21481)
+++ trunk/Jmol/src/org/jmol/modelsetbio/BioModel.java   2017-04-04 23:09:31 UTC 
(rev 21482)
@@ -438,7 +438,7 @@
     getRasmolHydrogenBonds(bs, bs, null, false, Integer.MAX_VALUE, false, 
null, dsspVersion);
   }
 
-  public void getAtomicDSSRData(int[] dssrData, String dataType) {
+  public void getAtomicDSSRData(float[] dssrData, String dataType) {
     if (auxiliaryInfo.containsKey("dssr"))
       vwr.getAnnotationParser(true).getAtomicDSSRData(ms, modelIndex, 
dssrData, dataType);
   }

Modified: trunk/Jmol/src/org/jmol/script/ScriptExpr.java
===================================================================
--- trunk/Jmol/src/org/jmol/script/ScriptExpr.java      2017-04-04 16:44:00 UTC 
(rev 21481)
+++ trunk/Jmol/src/org/jmol/script/ScriptExpr.java      2017-04-04 23:09:31 UTC 
(rev 21482)
@@ -1661,9 +1661,12 @@
       bsAtom = BS.newN(ac);
       tokenAtom = SV.newV(T.bitset, bsAtom);
       break;
+    case T.dssr:
+      for (int j = fout.length; --j >= 0;)
+        fout[j] = Float.NaN;
+      //$FALL-THROUGH$
     case T.straightness:
     case T.surfacedistance:
-    case T.dssr:
       vwr.autoCalculate(tok, (String) tokenValue);
       break;
     case T.distance:

Modified: trunk/Jmol/src/org/jmol/script/T.java
===================================================================
--- trunk/Jmol/src/org/jmol/script/T.java       2017-04-04 16:44:00 UTC (rev 
21481)
+++ trunk/Jmol/src/org/jmol/script/T.java       2017-04-04 23:09:31 UTC (rev 
21482)
@@ -583,7 +583,6 @@
   public final static int strucno       = intproperty | 23;
   public final static int subsystem     = intproperty | 24;
   public final static int valence       = intproperty | 25 | settable;
-  public final static int dssr          = intproperty | 26;
 
   // float values must be multiplied by 100 prior to comparing to integer 
values
 
@@ -615,6 +614,7 @@
   public final static int mody            = floatproperty | 24;
   public final static int modz            = floatproperty | 25;
   public final static int modo            = floatproperty | 26;
+  public final static int dssr            = floatproperty | 27;
   public final static int vectorscale     = floatproperty | 1 | floatparam;
   public final static int atomx           = floatproperty | 1 | settable;
   public final static int atomy           = floatproperty | 2 | settable;
@@ -625,7 +625,7 @@
   public final static int fux             = floatproperty | 7 | settable;
   public final static int fuy             = floatproperty | 8 | settable;
   public final static int fuz             = floatproperty | 9 | settable;
-  public final static int bondingradius           = floatproperty | 10 | 
settable;
+  public final static int bondingradius   = floatproperty | 10 | settable;
   public final static int partialcharge   = floatproperty | 11 | settable;
   public final static int temperature     = floatproperty | 12 | settable;
   public final static int vibx            = floatproperty | 18 | settable;
@@ -636,7 +636,7 @@
   public final static int z               = floatproperty | 23 | settable;
   public final static int vanderwaals     = floatproperty | 24 | settable | 
setparam;
   public final static int property        = floatproperty | 25 | settable | 
setparam | mathproperty;
-  public final static int hydrophobicity     = floatproperty | 26 | settable | 
predefinedset;
+  public final static int hydrophobicity  = floatproperty | 26 | settable | 
predefinedset;
   public final static int selected        = floatproperty | 27 | settable | 
predefinedset;
   
   public final static int backbone     = floatproperty | shapeCommand | 1 | 
predefinedset | defaultON | settable;

Modified: trunk/Jmol/src/org/jmol/viewer/ColorManager.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/ColorManager.java    2017-04-04 16:44:00 UTC 
(rev 21481)
+++ trunk/Jmol/src/org/jmol/viewer/ColorManager.java    2017-04-04 23:09:31 UTC 
(rev 21482)
@@ -134,8 +134,9 @@
     // we need to use the byte form here for speed
     switch (pid) {
     case PAL.PALETTE_PROPERTY:
-      return (colorData == null || atom.i >= colorData.length ? C.GRAY : ce
-          .getColorIndex(colorData[atom.i]));
+      float c = colorData[atom.i];
+      return (colorData == null || Float.isNaN(c) || atom.i >= 
colorData.length ? C.GRAY : ce
+          .getColorIndex(c));
     case PAL.PALETTE_NONE:
     case PAL.PALETTE_CPK:
       // Note that CPK colors can be changed based upon user preference

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to