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.