The Gnome Chemistry Utils 0.13.3
|
#include <gcu/chain.h>
Public Member Functions | |
Chain (Bond *pBond, Atom *pAtom=NULL, TypeId Type=ChainType) | |
Chain (Molecule *molecule, Bond *pBond, TypeId Type=ChainType) | |
Chain (Molecule *molecule, Atom *pAtom, TypeId Type=ChainType) | |
virtual | ~Chain () |
void | FindCycles (Atom *pAtom) |
bool | FindCycle (Atom *pAtom, Bond *pBond) |
virtual void | Erase (Atom *pAtom1, Atom *pAtom2) |
virtual void | Insert (Atom *pAtom1, Atom *pAtom2, Chain &chain) |
void | Extract (Atom *pAtom1, Atom *pAtom2, Chain &chain) |
void | Reverse () |
void | AddBond (Atom *start, Atom *end) |
unsigned | GetUnsaturations () |
unsigned | GetHeteroatoms () |
bool | Contains (Atom *pAtom) |
bool | Contains (Bond *pBond) |
unsigned | GetLength () |
double | GetMeanBondLength () |
Atom * | GetNextAtom (Atom *pAtom) |
std::string | Name () |
Protected Attributes | |
std::map< Atom *, ChainElt > | m_Bonds |
Molecule * | m_Molecule |
pBond | a bond. |
pAtom | an atom. |
Type | an optional type id used when constructing a derived type (i. e. a cycle). |
Constructs a Chain starting from a bond and an optional atom. Choosing the atom forces the direction of the chain, otherwise, the first atom will be the first atom of the bond.
molecule | a molecule. |
pBond | a bond in the molecule or NULL. |
Type | an optional type id used when constructing a derived type |
Explores a molecule and find all cycles, starting from pBond or an empty chain if pBond is NULL.
molecule | a molecule. |
pAtom | an atom in the molecule. |
Type | an optional type id used when constructing a derived type |
Explores a molecule and find all cycles, starting from pAtom or an empty chain if pAtom is NULL.
virtual gcu::Chain::~Chain | ( | ) | [virtual] |
The destructor.
start | an atom. |
end | an atom. |
Adds the two atoms and the bond between them to the chain. The two atoms must be bonded.
bool gcu::Chain::Contains | ( | Atom * | pAtom | ) |
pAtom | an atom. |
bool gcu::Chain::Contains | ( | Bond * | pBond | ) |
pBond | a bond. |
pAtom1 | an atom in the source chain. |
pAtom2 | an atom in the source chain. |
Erases a sub-chain. One of the atoms must already be one of the chain ends.
Reimplemented in gcu::Cycle.
pAtom1 | an atom in the chain. |
pAtom2 | an atom in the chain. |
chain | the target chain. |
Extracts a sub-chain to the chain variable which should be empty before the call.
pAtom | an atom. |
pBond | a bond. |
Searches for a cycle containing the atom pAtom and the bond pBond. pAtom must be one of the ends of pBond. If a cycle is found, it is added to the molecule cycles list.
void gcu::Chain::FindCycles | ( | Atom * | pAtom | ) |
pAtom | an atom. |
Searches all cycles in a molecule starting from Atom pAtom. Found cycles are added to the molecule cycles list.
unsigned gcu::Chain::GetHeteroatoms | ( | ) |
unsigned gcu::Chain::GetLength | ( | ) |
double gcu::Chain::GetMeanBondLength | ( | ) |
pAtom | an atom in the chain. |
unsigned gcu::Chain::GetUnsaturations | ( | ) |
pAtom1 | an atom in the source chain. |
pAtom2 | an atom in the source chain. |
chain | the source chain. |
Inserts a chain. One of the atoms must already be in the target chain.
Reimplemented in gcu::Cycle.
std::string gcu::Chain::Name | ( | ) | [virtual] |
Reimplemented from gcu::Object.
Reimplemented in gcu::Cycle.
void gcu::Chain::Reverse | ( | ) |
Reverses the chain order.
std::map<Atom*, ChainElt> gcu::Chain::m_Bonds [protected] |
The gcu::ChainElt elements in the chain indexed by their common atom.
Molecule* gcu::Chain::m_Molecule [protected] |