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