class OEAltGroup

This class represents OEAltGroup, an abstraction of a particular alternate location group in a molecule managed by an OEAltLocationFactory. It can be thought of as a collection of OEAltLocation objects, each referring to a specific set of atomic positions.

The following OEAltLocationFactory methods return an OEAltGroup or the corresponding iterator:

GetGroup GetGroups GetGroup

The following OEAltLocationFactory methods take an OEAltGroup:

GetLocationCodes GetAltAtoms GetCurrentLocations


OEAltGroup(const OEAltGroup &grp)
OEAltGroup(const unsigned int *counts, unsigned int numGrps)

Default, copy and initialization constructors.

If no arguments are supplied, the OEAltGroup is uninitialized and will return false when operator bool is called.

If an OEAltGroup is supplied, the constructed object is identical to the input.

If an array of location counts is supplied along with the total number of groups (the size of the array), an object is constructed that represents the first of these groups (and can represent any of these groups).


OEAltGroup &operator=(const OEAltGroup &grp)

Assignment – sets this group to be identical to the input.

operator bool

operator bool() const

Returns true if the object refers to an actual group. Returns false if the group identifier is out of range.


unsigned int GetGroupCount() const

Returns the total number of alternate location groups found by the corresponding OEAltLocationFactory.


int GetGroupID() const

Returns an integer that identifies this alternate location group. A negative number indicates the object does not refer to an actual alternate location group.


unsigned int GetLocationCount() const

Returns the total number of OEAltLocations in this group.


OESystem::OEIterBase<const OEAltLocation> *GetLocations() const

Returns an iterator over all OEAltLocations in this group.


OEAltGroup &SetGroupID(int newGrp)

Changes the group identifier for this group. If the identifier is out of range, operator bool will return false.