unsigned int OEDetermineAromaticRingSystems(const OEMolBase &mol,
                                            unsigned int *rings)

Determines the aromatic ring systems of a molecule. The return value is the number of aromatic ring systems found in the molecule. If the molecule is acyclic or there is no aromatic ring system in the molecule, the return value is zero. The ‘rings’ array must contain at least OEMolBase.GetMaxAtomIdx elements, and upon return it contains a mapping indexed by OEAtomBase.GetIdx of which aromatic ring system each atom is in. The aromatic ring systems are numbered from one, up to an including the return value of the function. Atoms that aren’t contained in an aromatic ring, i.e. for which OEAtomBase.IsInRing or OEAtomBase.IsAromatic returns false, are mapped to the value zero.


It is necessary to call OEFindRingAtomsAndBonds and OEAssignAromaticFlags functions prior to calling OEDetermineAromaticRingSystems function.

See also