The Gnome Chemistry Utils 0.13.3
Public Member Functions | Protected Attributes
gcu::Chain Class Reference

#include <gcu/chain.h>

Inheritance diagram for gcu::Chain:
gcu::Object gcu::Cycle

List of all members.

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 ()
AtomGetNextAtom (Atom *pAtom)
std::string Name ()

Protected Attributes

std::map< Atom *, ChainEltm_Bonds
Moleculem_Molecule

Detailed Description

This class is used to represent chains of atoms.

Definition at line 59 of file chain.h.


Constructor & Destructor Documentation

gcu::Chain::Chain ( Bond pBond,
Atom pAtom = NULL,
TypeId  Type = ChainType 
)
Parameters:
pBonda bond.
pAtoman atom.
Typean 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.

gcu::Chain::Chain ( Molecule molecule,
Bond pBond,
TypeId  Type = ChainType 
)
Parameters:
moleculea molecule.
pBonda bond in the molecule or NULL.
Typean 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.

gcu::Chain::Chain ( Molecule molecule,
Atom pAtom,
TypeId  Type = ChainType 
)
Parameters:
moleculea molecule.
pAtoman atom in the molecule.
Typean 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.


Member Function Documentation

void gcu::Chain::AddBond ( Atom start,
Atom end 
)
Parameters:
startan atom.
endan 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)
Parameters:
pAtoman atom.
Returns:
true if pAtom is in the chain.
bool gcu::Chain::Contains ( Bond pBond)
Parameters:
pBonda bond.
Returns:
true if pBond is in the chain.
virtual void gcu::Chain::Erase ( Atom pAtom1,
Atom pAtom2 
) [virtual]
Parameters:
pAtom1an atom in the source chain.
pAtom2an 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.

void gcu::Chain::Extract ( Atom pAtom1,
Atom pAtom2,
Chain chain 
)
Parameters:
pAtom1an atom in the chain.
pAtom2an atom in the chain.
chainthe target chain.

Extracts a sub-chain to the chain variable which should be empty before the call.

bool gcu::Chain::FindCycle ( Atom pAtom,
Bond pBond 
)
Parameters:
pAtoman atom.
pBonda 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.

Returns:
true on success, false otherwise.
void gcu::Chain::FindCycles ( Atom pAtom)
Parameters:
pAtoman atom.

Searches all cycles in a molecule starting from Atom pAtom. Found cycles are added to the molecule cycles list.

unsigned gcu::Chain::GetHeteroatoms ( )
Returns:
the number of heteroatoms in the chain.
unsigned gcu::Chain::GetLength ( )
Returns:
the number of bonds in the chain
double gcu::Chain::GetMeanBondLength ( )
Returns:
the mean bond length in the chain.
Atom* gcu::Chain::GetNextAtom ( Atom pAtom)
Parameters:
pAtoman atom in the chain.
Returns:
the next atom in the chain or NULL if pAtom is the last one.
unsigned gcu::Chain::GetUnsaturations ( )
Returns:
the number of multiple bonds in the chain so not really the unsaturations number.
virtual void gcu::Chain::Insert ( Atom pAtom1,
Atom pAtom2,
Chain chain 
) [virtual]
Parameters:
pAtom1an atom in the source chain.
pAtom2an atom in the source chain.
chainthe 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]
Returns:
the localized object generic name.

Reimplemented from gcu::Object.

Reimplemented in gcu::Cycle.

void gcu::Chain::Reverse ( )

Reverses the chain order.


Member Data Documentation

std::map<Atom*, ChainElt> gcu::Chain::m_Bonds [protected]

The gcu::ChainElt elements in the chain indexed by their common atom.

Definition at line 192 of file chain.h.

The molecule which owns the chain.

Definition at line 196 of file chain.h.


The documentation for this class was generated from the following file: