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