Revision: 18548
          http://sourceforge.net/p/jmol/code/18548
Author:   hansonr
Date:     2013-08-11 22:01:22 +0000 (Sun, 11 Aug 2013)
Log Message:
-----------
integer-based min-distance for NMR measurements; float parsing fix

Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/api/JmolNMRInterface.java
    trunk/Jmol/src/org/jmol/modelset/Measurement.java
    trunk/Jmol/src/org/jmol/modelset/MeasurementData.java
    trunk/Jmol/src/org/jmol/quantum/NMRCalculation.java
    trunk/Jmol/src/org/jmol/shape/Measures.java

Modified: trunk/Jmol/src/org/jmol/api/JmolNMRInterface.java
===================================================================
--- trunk/Jmol/src/org/jmol/api/JmolNMRInterface.java   2013-08-11 21:39:18 UTC 
(rev 18547)
+++ trunk/Jmol/src/org/jmol/api/JmolNMRInterface.java   2013-08-11 22:01:22 UTC 
(rev 18548)
@@ -82,7 +82,7 @@
 
   public JmolList<Object> getTensorInfo(String tensorType, String infoType, BS 
bs);
 
-  public Map<String, Float> getMinDistances(MeasurementData md);
+  public Map<String, Integer> getMinDistances(MeasurementData md);
 
   public boolean getState(SB sb);
   

Modified: trunk/Jmol/src/org/jmol/modelset/Measurement.java
===================================================================
--- trunk/Jmol/src/org/jmol/modelset/Measurement.java   2013-08-11 21:39:18 UTC 
(rev 18547)
+++ trunk/Jmol/src/org/jmol/modelset/Measurement.java   2013-08-11 22:01:22 UTC 
(rev 18548)
@@ -534,15 +534,15 @@
     return true;
   }
 
-  public boolean isMin(Map<String, Float> htMin) {
+  public boolean isMin(Map<String, Integer> htMin) {
     Atom a1 = (Atom) getAtom(1);
     Atom a2 = (Atom) getAtom(2);
-    float d = a2.distanceSquared(a1);
+    int d = (int) (a2.distanceSquared(a1)*100);
     String n1 = a1.getAtomName();
     String n2 = a2.getAtomName();
     String key = (n1.compareTo(n2) < 0 ? n1 + n2 : n2 + n1);
-    Float min = htMin.get(key);
-    return (min != null && d == min.floatValue());
+    Integer min = htMin.get(key);
+    return (min != null && d == min.intValue());
   }
 
 }

Modified: trunk/Jmol/src/org/jmol/modelset/MeasurementData.java
===================================================================
--- trunk/Jmol/src/org/jmol/modelset/MeasurementData.java       2013-08-11 
21:39:18 UTC (rev 18547)
+++ trunk/Jmol/src/org/jmol/modelset/MeasurementData.java       2013-08-11 
22:01:22 UTC (rev 18548)
@@ -84,7 +84,7 @@
   /*
    * the general constructor. tokAction is not used here
    */
-  public MeasurementData set(int tokAction, Map<String, Float> htMin, 
+  public MeasurementData set(int tokAction, Map<String, Integer> htMin, 
                              RadiusData radiusData, String strFormat, String 
units,
                  TickInfo tickInfo,
                  boolean mustBeConnected, boolean mustNotBeConnected,
@@ -170,7 +170,7 @@
   private Viewer viewer;
   private int iFirstAtom;
   private boolean justOneModel = true;
-  public Map<String, Float> htMin;
+  public Map<String, Integer> htMin;
   
   /**
    * called by the client to generate a set of measurements

Modified: trunk/Jmol/src/org/jmol/quantum/NMRCalculation.java
===================================================================
--- trunk/Jmol/src/org/jmol/quantum/NMRCalculation.java 2013-08-11 21:39:18 UTC 
(rev 18547)
+++ trunk/Jmol/src/org/jmol/quantum/NMRCalculation.java 2013-08-11 22:01:22 UTC 
(rev 18548)
@@ -407,7 +407,7 @@
     return data;
   }
 
-  public Map<String, Float> getMinDistances(MeasurementData md) {
+  public Map<String, Integer> getMinDistances(MeasurementData md) {
     BS bsPoints1 = (BS) md.points.get(0);
     int n1 = bsPoints1.cardinality(); 
     if (n1 == 0 || !(md.points.get(1) instanceof BS))
@@ -416,7 +416,7 @@
     int n2 = bsPoints2.cardinality(); 
     if (n1 < 2 && n2 < 2)
       return null;
-    Map<String, Float> htMin = new Hashtable<String, Float>();
+    Map<String, Integer> htMin = new Hashtable<String, Integer>();
     Atom[] atoms = viewer.modelSet.atoms;
     for (int i = bsPoints1.nextSetBit(0); i >= 0; i = bsPoints1
         .nextSetBit(i + 1)) {
@@ -425,19 +425,19 @@
       for (int j = bsPoints2.nextSetBit(0); j >= 0; j = bsPoints2
           .nextSetBit(j + 1)) {
         Atom a2 = atoms[j];
-        float d = a2.distanceSquared(a1);
+        int d = (int) (a2.distanceSquared(a1) * 100);
         if (d == 0)
           continue;
         String name1 = a2.getAtomName();
         String key = (name.compareTo(name1) < 0 ? name + name1 : name1 + name);
-        Float min = htMin.get(key);
+        Integer min = htMin.get(key);
         if (min == null) {
-          min = Float.valueOf(d);
+          min = Integer.valueOf(d);
           htMin.put(key, min);
           continue;
         }
-        if (d < min.floatValue())
-          htMin.put(key, Float.valueOf(d));
+        if (d < min.intValue())
+          htMin.put(key, Integer.valueOf(d));
       }
     }
     return htMin;

Modified: trunk/Jmol/src/org/jmol/shape/Measures.java
===================================================================
--- trunk/Jmol/src/org/jmol/shape/Measures.java 2013-08-11 21:39:18 UTC (rev 
18547)
+++ trunk/Jmol/src/org/jmol/shape/Measures.java 2013-08-11 22:01:22 UTC (rev 
18548)
@@ -67,7 +67,7 @@
   TickInfo tickInfo;
   TickInfo defaultTickInfo;
   public JmolFont font3d;
-  private Map<String, Float> htMin;
+  private Map<String, Integer> htMin;
   
   @Override
   protected void initModelSet() {

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


------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to