From: <gil...@us...> - 2009-02-11 14:53:24
|
Revision: 14167 http://cdk.svn.sourceforge.net/cdk/?rev=14167&view=rev Author: gilleain Date: 2009-02-11 14:53:18 +0000 (Wed, 11 Feb 2009) Log Message: ----------- - Use ChemModelManiupulator.getRelevantAtomContainer rather than just the first atom container. - Check for a model with no atom containers in its molecule set. Modified Paths: -------------- cdk/branches/jchempaint-primary/src/main/org/openscience/cdk/controller/ControllerHub.java Modified: cdk/branches/jchempaint-primary/src/main/org/openscience/cdk/controller/ControllerHub.java =================================================================== --- cdk/branches/jchempaint-primary/src/main/org/openscience/cdk/controller/ControllerHub.java 2009-02-11 13:26:41 UTC (rev 14166) +++ cdk/branches/jchempaint-primary/src/main/org/openscience/cdk/controller/ControllerHub.java 2009-02-11 14:53:18 UTC (rev 14167) @@ -344,7 +344,12 @@ public IAtom addAtom(String atomType, IAtom atom) { IAtom newAtom = chemModel.getBuilder().newAtom(atomType); IBond newBond = chemModel.getBuilder().newBond(atom, newAtom); - IAtomContainer atomCon = chemModel.getMoleculeSet().getAtomContainer(0); + IAtomContainer atomCon = + ChemModelManipulator.getRelevantAtomContainer(chemModel, atom); + if (atomCon == null) { + atomCon = chemModel.getBuilder().newAtomContainer(); + chemModel.getMoleculeSet().addAtomContainer(atomCon); + } // The AtomPlacer generates coordinates for the new atom AtomPlacer atomPlacer = new AtomPlacer(); @@ -370,7 +375,8 @@ ac.addAtom(newAtom); Point2d distanceMeasure = new Point2d(0,0); // XXX not sure about this? IAtom connectedAtom = connectedAtoms.get(0); - Vector2d v = atomPlacer.getNextBondVector(atom, connectedAtom, distanceMeasure, true); + Vector2d v = atomPlacer.getNextBondVector( + atom, connectedAtom, distanceMeasure, true); atomPlacer.placeLinearChain(ac, v, bondLength); } else { IAtomContainer placedAtoms = atomCon.getBuilder().newAtomContainer(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |