#include <gcp/molecule.h>
Public Member Functions | |
Molecule (gcu::TypeId Type=gcu::MoleculeType) | |
Molecule (Atom *pAtom) | |
virtual | ~Molecule () |
void | AddChild (gcu::Object *object) |
void | AddAtom (gcu::Atom *pAtom) |
void | AddFragment (Fragment *pFragment) |
void | AddBond (gcu::Bond *pBond) |
void | Remove (gcu::Object *pObject) |
bool | Merge (Molecule *pMolecule, bool RemoveDuplicates=false) |
bool | Load (xmlNodePtr node) |
xmlNodePtr | Save (xmlDocPtr xml) const |
void | Clear () |
void | Transform2D (gcu::Matrix2D &m, double x, double y) |
Object * | GetAtomAt (double x, double y, double z=0.) |
double | GetYAlign () |
bool | BuildContextualMenu (GtkUIManager *UIManager, gcu::Object *object, double x, double y) |
bool | OnSignal (gcu::SignalId Signal, gcu::Object *Child) |
void | ExportToGhemical () |
void | SelectAlignmentItem (gcu::Object *child) |
std::string | GetAlignmentId () |
void | BuildOBMol (OpenBabel::OBMol &Mol) |
void | BuildOBMol2D (OpenBabel::OBMol &Mol) |
void | ShowInChI () |
void | BuildInChI () |
void | BuildSMILES () |
void | ShowWebBase (char const *uri_start, char const *uri_end) |
void | OpenCalc () |
void | CheckCrossings (Bond *pBond) |
char const * | GetInChI () |
std::string | GetRawFormula () const |
void | OnLoaded () |
unsigned | GetAtomsNumber () const |
Definition at line 41 of file gcp/molecule.h.
gcp::Molecule::Molecule | ( | gcu::TypeId | Type = gcu::MoleculeType |
) |
The default constructor. Builds a new empty molecule.
Reimplemented from gcu::Molecule.
gcp::Molecule::Molecule | ( | Atom * | pAtom | ) |
pAtom | an atom. |
virtual gcp::Molecule::~Molecule | ( | ) | [virtual] |
The destructor.
Reimplemented from gcu::Molecule.
void gcp::Molecule::AddAtom | ( | gcu::Atom * | pAtom | ) | [virtual] |
void gcp::Molecule::AddBond | ( | gcu::Bond * | pBond | ) | [virtual] |
void gcp::Molecule::AddChild | ( | gcu::Object * | object | ) | [virtual] |
object | the object to add to the molecule. |
Reimplemented from gcu::Molecule.
void gcp::Molecule::AddFragment | ( | Fragment * | pFragment | ) |
pFragment | an atoms group. |
bool gcp::Molecule::BuildContextualMenu | ( | GtkUIManager * | UIManager, | |
gcu::Object * | object, | |||
double | x, | |||
double | y | |||
) | [virtual] |
UIManager | the GtkUIManager to populate. | |
object | the Object on which occured the mouse click. | |
x | x coordinate of the mouse click. | |
y | y coordinate of the mouse click. |
Reimplemented from gcu::Object.
void gcp::Molecule::BuildInChI | ( | ) |
Builds the InChI for the molecule.
void gcp::Molecule::BuildOBMol | ( | OpenBabel::OBMol & | Mol | ) |
Mol | the OpenBabel molecule used for export. |
void gcp::Molecule::BuildOBMol2D | ( | OpenBabel::OBMol & | Mol | ) |
Mol | the OpenBabel molecule used for export. |
void gcp::Molecule::BuildSMILES | ( | ) |
Builds the SMILES representation for the molecule and opens a new StringDlg instance displaying it.
void gcp::Molecule::CheckCrossings | ( | Bond * | pBond | ) |
pBond | a bond in the molecule. |
void gcp::Molecule::Clear | ( | ) | [virtual] |
Removes all children from the molecule, resulting in a empty molecule.
Reimplemented from gcu::Molecule.
void gcp::Molecule::ExportToGhemical | ( | ) |
Opens a Ghemical window with a copy of the molecule trying to preserve the stereochemistry as far as possible.
std::string gcp::Molecule::GetAlignmentId | ( | ) | [inline] |
Definition at line 176 of file gcp/molecule.h.
References gcu::Object::GetId().
Object* gcp::Molecule::GetAtomAt | ( | double | x, | |
double | y, | |||
double | z = 0. | |||
) | [virtual] |
x | the x coordinate | |
y | the y coordinate | |
z | the z coordinate (not used) |
Reimplemented from gcu::Object.
unsigned gcp::Molecule::GetAtomsNumber | ( | ) | const [virtual] |
Reimplemented from gcu::Molecule.
char const* gcp::Molecule::GetInChI | ( | ) |
std::string gcp::Molecule::GetRawFormula | ( | ) | const |
double gcp::Molecule::GetYAlign | ( | ) | [virtual] |
Used to retrieve the y coordinate for alignment.
Reimplemented from gcu::Object.
bool gcp::Molecule::Load | ( | xmlNodePtr | node | ) | [virtual] |
node | a pointer to the xmlNode containing the serialized molecule. |
Reimplemented from gcu::Object.
bool gcp::Molecule::Merge | ( | Molecule * | pMolecule, | |
bool | RemoveDuplicates = false | |||
) |
pMolecule | a molecule. | |
RemoveDuplicates | whether duplicate atoms should be unififed or not. |
void gcp::Molecule::OnLoaded | ( | ) | [virtual] |
Updates all cycles after loading.
Reimplemented from gcu::Object.
bool gcp::Molecule::OnSignal | ( | gcu::SignalId | Signal, | |
gcu::Object * | Child | |||
) | [virtual] |
Signal | the appropriate SignalId | |
Child | the child which emitted the signal or NULL |
Reimplemented from gcu::Object.
void gcp::Molecule::OpenCalc | ( | ) |
Opens GChemCalc with the formula for the molecule. Molecules with fragments are not currently supported.
void gcp::Molecule::Remove | ( | gcu::Object * | pObject | ) | [virtual] |
pObject | an atom, a bond, or a fragment in the molecule. |
Reimplemented from gcu::Molecule.
xmlNodePtr gcp::Molecule::Save | ( | xmlDocPtr | xml | ) | const [virtual] |
xml | the xmlDoc used to save the document. |
Reimplemented from gcu::Object.
void gcp::Molecule::SelectAlignmentItem | ( | gcu::Object * | child | ) |
child | the child used for alignment. |
void gcp::Molecule::ShowInChI | ( | ) |
Builds the InChI for the molecule if necessary and opens a new StringDlg instance displaying it.
void gcp::Molecule::ShowWebBase | ( | char const * | uri_start, | |
char const * | uri_end | |||
) |
uri_start | the first part of the URI to open. | |
uri_end | the last part of the URI to open. |
void gcp::Molecule::Transform2D | ( | gcu::Matrix2D & | m, | |
double | x, | |||
double | y | |||
) | [virtual] |
m | the Matrix2D of the transformation. | |
x | the x component of the center of the transformation. | |
y | the y component of the center of the transformation. |
Reimplemented from gcu::Object.