Iterate over all torsions in an OBMol.
More...
#include <openbabel/obiter.h>
List of all members.
Detailed Description
Iterate over all torsions in an OBMol.
- Since:
- version 2.1
To facilitate iteration through all torsions in a molecule, without resorting to atom indexes (which will change in the future), a variety of iterator methods are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
OBAtom *a, *b, *c, *d;
double tor;
FOR_TORSIONS_OF_MOL(t, mol)
{
a = _mol.GetAtom((*t)[0] + 1);
b = _mol.GetAtom((*t)[1] + 1);
c = _mol.GetAtom((*t)[2] + 1);
d = _mol.GetAtom((*t)[3] + 1);
tor = mol.GetTorsion(a->GetIdx(), b->GetIdx(), c->GetIdx(), d->GetIdx());
}
Constructor & Destructor Documentation
Member Function Documentation
operator bool |
( |
) |
const [inline] |
- Returns:
- Whether the iterator can still advance (i.e., visit more torsions)
Preincrement -- advance to the next torsion and return.
std::vector<unsigned int> operator* |
( |
) |
const [inline] |
- Returns:
- A vector of four atom indexes specifying the torsion
- See also:
- OBAtom::GetIdx()
The documentation for this class was generated from the following files: