From: <raj...@us...> - 2007-06-24 03:17:41
|
Revision: 8396 http://svn.sourceforge.net/cdk/?rev=8396&view=rev Author: rajarshi Date: 2007-06-23 20:17:39 -0700 (Sat, 23 Jun 2007) Log Message: ----------- Updated to take into account that the default value of hydrogen count ight be a null value, in which case we take it to be 0 Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/geometry/BondTools.java Modified: trunk/cdk/src/org/openscience/cdk/geometry/BondTools.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/geometry/BondTools.java 2007-06-24 02:59:25 UTC (rev 8395) +++ trunk/cdk/src/org/openscience/cdk/geometry/BondTools.java 2007-06-24 03:17:39 UTC (rev 8396) @@ -204,8 +204,18 @@ if (container.getBondNumber(atom, parent) == -1 || doubleBondConfiguration.length <= container.getBondNumber(atom, parent) || !doubleBondConfiguration[container.getBondNumber(atom, parent)]) { return false; } - int lengthAtom = container.getConnectedAtomsList(atom).size() + atom.getHydrogenCount(); - int lengthParent = container.getConnectedAtomsList(parent).size() + parent.getHydrogenCount(); + + int hcount; + if (atom.getHydrogenCount() == CDKConstants.UNSET) hcount = 0; + else hcount = atom.getHydrogenCount(); + + int lengthAtom = container.getConnectedAtomsList(atom).size() + hcount; + + if (parent.getHydrogenCount() == CDKConstants.UNSET) hcount = 0; + else hcount = parent.getHydrogenCount(); + + int lengthParent = container.getConnectedAtomsList(parent).size() + hcount; + if (container.getBond(atom, parent) != null) { if (container.getBond(atom, parent).getOrder() == CDKConstants.BONDORDER_DOUBLE && (lengthAtom == 3 || (lengthAtom == 2 && atom.getSymbol().equals("N"))) && (lengthParent == 3 || (lengthParent == 2 && parent.getSymbol().equals("N")))) { java.util.List atoms = container.getConnectedAtomsList(atom); @@ -243,7 +253,12 @@ * @return false=is not start of configuration, true=is */ private static boolean isStartOfDoubleBond(IAtomContainer container, org.openscience.cdk.interfaces.IAtom a, org.openscience.cdk.interfaces.IAtom parent, boolean[] doubleBondConfiguration) { - int lengthAtom = container.getConnectedAtomsList(a).size() + a.getHydrogenCount(); + int hcount; + if (a.getHydrogenCount() == CDKConstants.UNSET) hcount = 0; + else hcount = a.getHydrogenCount(); + + int lengthAtom = container.getConnectedAtomsList(a).size() + hcount; + if (lengthAtom != 3 && (lengthAtom != 2 && a.getSymbol() != ("N"))) { return (false); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |