From: <sh...@us...> - 2006-09-22 08:02:44
|
Revision: 7029 http://svn.sourceforge.net/cdk/?rev=7029&view=rev Author: shk3 Date: 2006-09-22 01:02:39 -0700 (Fri, 22 Sep 2006) Log Message: ----------- needed for last commit Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/geometry/GeometryTools.java Modified: trunk/cdk/src/org/openscience/cdk/geometry/GeometryTools.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/geometry/GeometryTools.java 2006-09-22 08:01:34 UTC (rev 7028) +++ trunk/cdk/src/org/openscience/cdk/geometry/GeometryTools.java 2006-09-22 08:02:39 UTC (rev 7029) @@ -1443,6 +1443,30 @@ /** + * Determines the best alignment for the label of an atom in 2D space. It + * returns 1 if left aligned, and -1 if right aligned. + * See comment for center(IAtomContainer atomCon, Dimension areaDim, HashMap renderingCoordinates) for details on coordinate sets + * + *@param container Description of the Parameter + *@param atom Description of the Parameter + *@return The bestAlignmentForLabel value + */ + public static int getBestAlignmentForLabel(IAtomContainer container, IAtom atom, HashMap renderingCoordinates) { + IAtom[] connectedAtoms = container.getConnectedAtoms(atom); + int overallDiffX = 0; + for (int i = 0; i < connectedAtoms.length; i++) { + IAtom connectedAtom = connectedAtoms[i]; + overallDiffX = overallDiffX + (int) (((Point2d)renderingCoordinates.get(connectedAtom)).x - ((Point2d)renderingCoordinates.get(atom)).x); + } + if (overallDiffX <= 0) { + return 1; + } else { + return -1; + } + } + + + /** * Returns the atoms which are closes to an atom in an AtomContainer by * distance in 3d. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |