OESetAngle¶
bool OESetAngle(OEMolBase &mol, OEAtomBase *a, OEAtomBase *b, OEAtomBase *c,
double ang, double *axis=0)
Sets the angle between atoms a, b and c to the value specified by the
argument ang in radians. The three atoms must be bonded together in a molecule,
with atom b being the vertex. All atoms which are attached to ‘c’ (excluding ‘b’)
are rotated. If the bond defined by atoms ‘b’ and ‘c’ are in a ring, no change to
the angle will occur. If an axis of rotation is not provided, the rotation is
performed such that the three atoms stay in the same plane. The function returns
true
if it completes successfully. The function returns false
if the
atoms are not bonded together, if the bond between b and c is part of a ring, or if
the atoms are on top of each other.
- mol
The molecule that the three atoms belong to.
- a
One of the end atoms.
- b
The vertex atom.
- c
One of the end atoms.
- ang
The angle in radians.
- axis
The axis of rotation.