The Gnome Chemistry Utils 0.13.3
Public Member Functions | Static Public Member Functions | Protected Attributes
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, ContentType ct=ContentType3D)
 Molecule (Atom *pAtom, ContentType ct=ContentType3D)
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 ()
std::string const & GetInChI ()

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


Constructor & Destructor Documentation

gcu::Molecule::Molecule ( TypeId  Type = MoleculeType,
ContentType  ct = ContentType3D 
)
Parameters:
Typethe 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.

gcu::Molecule::Molecule ( Atom pAtom,
ContentType  ct = ContentType3D 
)
Parameters:
pAtomBuilds 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:
pAtoman atom.

Adds an atom to the molecule.

Reimplemented in gcp::Molecule.

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

Adds a bond to the molecule.

Reimplemented in gcp::Molecule.

void gcu::Molecule::AddChild ( Object object) [virtual]
Parameters:
objectan 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 109 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:
ian uninitialized iterator.
Returns:
the first atom of the molecule.
Bond const* gcu::Molecule::GetFirstBond ( std::list< Bond * >::const_iterator &  i) const
Parameters:
ian uninitialized iterator.
Returns:
the first bond of the molecule.
std::string const& gcu::Molecule::GetInChI ( )
Returns:
the InChI.
char const* gcu::Molecule::GetName ( char const *  convention = NULL)
Parameters:
conventiona naming convention.
Returns:
the molecule name using convention if known.
Atom const* gcu::Molecule::GetNextAtom ( std::list< Atom * >::const_iterator &  i) const
Parameters:
ian 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:
ian 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:
Doca document.
formulaa formula
add_pseudotells 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:
moleculea 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:
pObjectan 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:
namea name.
conventiona 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:
pBonda 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 193 of file gcu/molecule.h.

Referenced by GetAtomsNumber().

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

The bonds in the molecule.

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

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

The cycles contained in the molecules.

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


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