From: <eg...@us...> - 2007-03-14 09:28:28
|
Revision: 8115 http://svn.sourceforge.net/cdk/?rev=8115&view=rev Author: egonw Date: 2007-03-14 02:28:26 -0700 (Wed, 14 Mar 2007) Log Message: ----------- Do not attempt to rotate atoms which coincide with the center of rotation (closes #1649007). Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/geometry/GeometryToolsInternalCoordinates.java Modified: trunk/cdk/src/org/openscience/cdk/geometry/GeometryToolsInternalCoordinates.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/geometry/GeometryToolsInternalCoordinates.java 2007-03-14 09:15:15 UTC (rev 8114) +++ trunk/cdk/src/org/openscience/cdk/geometry/GeometryToolsInternalCoordinates.java 2007-03-14 09:28:26 UTC (rev 8115) @@ -195,10 +195,14 @@ for (int i = 0; i < atomCon.getAtomCount(); i++) { atom = atomCon.getAtom(i); p = atom.getPoint2d(); - offsetAngle = GeometryToolsInternalCoordinates.getAngle(p.x - center.x, p.y - center.y); distance = p.distance(center); - p.x = center.x + (Math.sin(angle + offsetAngle) * distance); - p.y = center.y - (Math.cos(angle + offsetAngle) * distance); + if (distance < 0.000000001) { + // do not rotate atoms which are located in the center of rotation + } else { + offsetAngle = GeometryToolsInternalCoordinates.getAngle(p.x - center.x, p.y - center.y); + p.x = center.x + (Math.sin(angle + offsetAngle) * distance); + p.y = center.y - (Math.cos(angle + offsetAngle) * distance); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |