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
void Clear ()
Atom const * GetFirstAtom (std::list< Atom * >::const_iterator &i) const
Atom const * GetNextAtom (std::list< Atom * >::const_iterator &i) const
Bond const * GetFirstBond (std::list< Bond * >::const_iterator &i) const
Bond const * GetNextBond (std::list< Bond * >::const_iterator &i) const
void SetName (char const *name, char const *convention)
char const * GetName (char const *convention=NULL)
std::string Name ()

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  )  [virtual]

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 from gcu::Object.

Reimplemented in gcp::Molecule.

void gcu::Molecule::Clear (  )  [virtual]

Clears cycles and chains and call gcu::Object::Clear().

Reimplemented from gcu::Object.

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 108 of file gcu/molecule.h.

References m_Atoms.

Referenced by gcu::Chem3dDoc::IsEmpty().

Atom const* gcu::Molecule::GetFirstAtom ( std::list< Atom * >::const_iterator &  i  )  const

Parameters:
i an uninitialized iterator.
Returns:
the first atom of the molecule.

Bond const* gcu::Molecule::GetFirstBond ( std::list< Bond * >::const_iterator &  i  )  const

Parameters:
i an uninitialized iterator.
Returns:
the first bond of the molecule.

char const* gcu::Molecule::GetName ( char const *  convention = NULL  ) 

Parameters:
convention a naming convention.
Returns:
the molecule name using convention if known.

Atom const* gcu::Molecule::GetNextAtom ( std::list< Atom * >::const_iterator &  i  )  const

Parameters:
i an iterator initialized by a call to GetFirstAtom().
Returns:
the next atom of the molecule or NULL if all atoms have been previously returned.

Bond const* gcu::Molecule::GetNextBond ( std::list< Bond * >::const_iterator &  i  )  const

Parameters:
i an iterator initialized by a call to GetFirstBond().
Returns:
the next bond of the molecule or NULL if all bonds have been previously returned.

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.

std::string gcu::Molecule::Name (  )  [virtual]

Returns:
the localized object generic name.

Reimplemented from gcu::Object.

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::SetName ( char const *  name,
char const *  convention 
)

Returns:
the localized object generic name.
Parameters:
name a name.
convention a naming convention, might be NULL.
Adds a molecule name following convention. Only one name can be stored for a given convention.

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 183 of file gcu/molecule.h.

Referenced by GetAtomsNumber().

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

The bonds in the molecule.

Definition at line 187 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 179 of file gcu/molecule.h.

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

The cycles contained in the molecules.

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


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

Generated on Fri Sep 24 15:58:47 2010 for The Gnome Chemistry Utils by  doxygen 1.5.9