10.6 Sprouting Hydrogens in 3D

Energetically reasonable coordinates for hydrogen atoms may be assigned automatically using the OESet3DHydrogenGeom functions. The overloaded functions which take only a molecule as an argument traverse molecules and identify hydrogen atoms which are bonded to a single atom, and have the same Cartesian coordinates of that atoms. The functions then attempt to compute an energetically reasonable position for the identified hydrogen atom based on either a pre-assigned hybridization value for the parent atom. If no hybridization value is found for the parent atom then the hybridization will be assigned, if possible, from the molecule graph. If hybridization assignment fails then new coordinates will not be assigned for the hydrogen atom. An additional function is provided which allows specification of the hydrogen for which new coordinates are to be assigned. New coordinates for the hydrogen atom will be computed regardless of whether the current coordinates of the hydrogen are identical to the atom to which it is attached. If coordinates are assigned correctly the method will return boolean 'true'. If the function fails to compute a geometrically reasonable position the method will return boolean 'false'.