gcu::Molecule Class Reference

#include <gcu/molecule.h>

Inheritance diagram for gcu::Molecule:
gcu::Object gcp::Molecule

List of all members.

Public Member Functions

 Molecule (TypeId Type=MoleculeType)
 Molecule (Atom *pAtom)
virtual ~Molecule ()
void AddChild (Object *object)
virtual void AddAtom (Atom *pAtom)
virtual void AddBond (Bond *pBond)
virtual void Remove (gcu::Object *pObject)
void UpdateCycles (Bond *pBond)
void UpdateCycles ()
bool operator== (Molecule const &molecule) const
virtual unsigned GetAtomsNumber () const

Static Public Member Functions

static MoleculeMoleculeFromFormula (Document *Doc, Formula const &formula, bool add_pseudo=true)

Protected Attributes

std::list< Cycle * > m_Cycles
std::list< Chain * > m_Chains
std::list< Atom * > m_Atoms
std::list< Bond * > m_Bonds

Detailed Description

Represents molecules.

Definition at line 42 of file gcu/molecule.h.


Constructor & Destructor Documentation

gcu::Molecule::Molecule ( TypeId  Type = MoleculeType  ) 
Parameters:
Type the type id of a derived class

The constructor. The type id may be changed in derived classes, otherwise the argument is not needed, since the default value is enough.

Reimplemented in gcp::Molecule.

gcu::Molecule::Molecule ( Atom pAtom  ) 
Parameters:
pAtom Builds a molecule from an atom. If the atom has bonds, the connectivity will be explored and all atoms and bonds found will be added to the molecule.
virtual gcu::Molecule::~Molecule (  )  [virtual]

The destructor.

Reimplemented in gcp::Molecule.


Member Function Documentation

virtual void gcu::Molecule::AddAtom ( Atom pAtom  )  [virtual]
Parameters:
pAtom an atom.

Adds an atom to the molecule.

Reimplemented in gcp::Molecule.

virtual void gcu::Molecule::AddBond ( Bond pBond  )  [virtual]
Parameters:
pBond a bond.

Adds a bond to the molecule.

Reimplemented in gcp::Molecule.

void gcu::Molecule::AddChild ( Object object  ) 
Parameters:
object an object, generally an atom or a bond.

Adds an object (which might be an atom or a bond) to the molecule.

Reimplemented in gcp::Molecule.

virtual unsigned gcu::Molecule::GetAtomsNumber (  )  const [inline, virtual]
Returns:
the number of atoms in the molecule.

Reimplemented in gcp::Molecule.

Definition at line 107 of file gcu/molecule.h.

References m_Atoms.

static Molecule* gcu::Molecule::MoleculeFromFormula ( Document Doc,
Formula const &  formula,
bool  add_pseudo = true 
) [static]
Parameters:
Doc a document.
formula a formula
add_pseudo tells if a pseudo atom (with Z = 0) has to be added (used when building a gcu::Residue instance).

Tries to build a molecule from a formula, adding bonds between atoms. Atoms coordinates are not calculated.

Returns:
a molecule on success or NULL.
bool gcu::Molecule::operator== ( Molecule const &  molecule  )  const
Parameters:
molecule a molecule.
Returns:
true if the molecules have identical atoms and the connection framework between the atoms.
virtual void gcu::Molecule::Remove ( gcu::Object pObject  )  [virtual]
Parameters:
pObject an atom or a bond in the molecule.

Removes an atom or a bond from a molecule.

Reimplemented in gcp::Molecule.

void gcu::Molecule::UpdateCycles (  ) 

Updates the cycles list after a change.

void gcu::Molecule::UpdateCycles ( Bond pBond  ) 
Parameters:
pBond a bond in the molecule.

Updates the cycles list after a change, starting the exploration from pBond.


Member Data Documentation

std::list<Atom*> gcu::Molecule::m_Atoms [protected]

The atoms in the molecule.

Definition at line 132 of file gcu/molecule.h.

Referenced by GetAtomsNumber().

std::list<Bond*> gcu::Molecule::m_Bonds [protected]

The bonds in the molecule.

Definition at line 136 of file gcu/molecule.h.

std::list<Chain*> gcu::Molecule::m_Chains [protected]

The non cyclic chains contained in the molecules (not used at the moment).

Definition at line 128 of file gcu/molecule.h.

std::list<Cycle*> gcu::Molecule::m_Cycles [protected]

The cycles contained in the molecules.

Definition at line 124 of file gcu/molecule.h.


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

Generated on Sun Sep 6 18:33:55 2009 for The Gnome Chemistry Utils by  doxygen 1.6.1