The Gnome Chemistry Utils 0.13.3
|
#include <gcp/fragment-atom.h>
Public Member Functions | |
FragmentAtom () | |
FragmentAtom (Fragment *fragment, int Z) | |
virtual | ~FragmentAtom () |
void | SetZ (int Z) |
bool | AcceptNewBonds (int nb) |
void | Update () |
void | AddItem () |
void | UpdateItem () |
void | SetSelected (int state) |
xmlNodePtr | Save (xmlDocPtr xml) const |
bool | Load (xmlNodePtr node) |
gccv::Anchor | GetChargePosition (unsigned char &Pos, double Angle, double &x, double &y) |
int | GetAvailablePosition (double &x, double &y) |
bool | GetPosition (double angle, double &x, double &y) |
bool | AcceptCharge (int charge) |
void | AddToMolecule (Molecule *Mol) |
bool | Match (gcu::Atom *atom, gcu::AtomMatchState &state) |
void | DoBuildSymbolGeometry (View *pView) |
Fragment const * | GetFragment (void) const |
Represents an atom inside a atoms group (see gcp::Fragment class).
Definition at line 40 of file fragment-atom.h.
gcp::FragmentAtom::FragmentAtom | ( | ) |
The default constructor.
gcp::FragmentAtom::FragmentAtom | ( | Fragment * | fragment, |
int | Z | ||
) |
fragment | the parent Fragment. |
Z | the atomic number. |
Constructs a FragmentAtom inside fragment with atomic number Z. This does not add the symbol to the string.
virtual gcp::FragmentAtom::~FragmentAtom | ( | ) | [virtual] |
The destructor.
bool gcp::FragmentAtom::AcceptCharge | ( | int | charge | ) | [virtual] |
charge | the charge that might be set. |
Currently, these atoms only accept -1, 0, and +1 as charges.
Reimplemented from gcp::Atom.
bool gcp::FragmentAtom::AcceptNewBonds | ( | int | nb | ) | [virtual] |
nb | the number of bonds to add, taking orders into account. |
This atom class does not currently support more than one single bond and no multiple bond at all.
Reimplemented from gcp::Atom.
void gcp::FragmentAtom::AddItem | ( | ) | [virtual] |
Overrided to avoid Atom::AddItem execution. Don't do anything.
Reimplemented from gcp::Atom.
void gcp::FragmentAtom::AddToMolecule | ( | Molecule * | Mol | ) | [virtual] |
Mol,: | a pointer to a molecule |
Adds the fragment containing the atom to the molecule calling gcpMolecule::AddFragment()
Reimplemented from gcp::Atom.
void gcp::FragmentAtom::DoBuildSymbolGeometry | ( | View * | pView | ) |
pView | the document view. |
Builds the symbol geometry if necessary.
int gcp::FragmentAtom::GetAvailablePosition | ( | double & | x, |
double & | y | ||
) | [virtual] |
x | the x position. |
y | the y position. |
This method finds an available position for drawing a charge sign and returns it as a symbolic value (see POSITION_E, POSITION_N,...). The x and y are updated so that they give the absolute position.
Reimplemented from gcp::Atom.
gccv::Anchor gcp::FragmentAtom::GetChargePosition | ( | unsigned char & | Pos, |
double | Angle, | ||
double & | x, | ||
double & | y | ||
) | [virtual] |
Pos | the approximate position of the charge. |
Angle | the angle from horizontal left. |
x | the x position of the charge symbol. |
y | the y position of the charge symbol. |
On input Pos can be one of POSITION_E, POSITION_N,... or 0xff, in which case, it will be given a default value. x and y are set to the position where the charge sign should be displayed usding the alignment code returned by this method.
Reimplemented from gcp::Atom.
gcp::FragmentAtom::GetFragment | ( | void | ) | const [inline] |
Definition at line 176 of file fragment-atom.h.
bool gcp::FragmentAtom::GetPosition | ( | double | angle, |
double & | x, | ||
double & | y | ||
) | [virtual] |
angle | the angle at which a charge sign should be displayed. |
x | the x position. |
y | the y position. |
Updates x and y so that they become the absolute position corresponding to the angle when the position is available.
Reimplemented from gcp::Atom.
bool gcp::FragmentAtom::Load | ( | xmlNodePtr | node | ) | [virtual] |
param node a pointer to the xmlNode containing the serialized atom.
Used to load the atom specific properties in memory. The FragmentAtom must already exist.
Reimplemented from gcp::Atom.
Reimplemented in gcp::FragmentResidue.
bool gcp::FragmentAtom::Match | ( | gcu::Atom * | atom, |
gcu::AtomMatchState & | state | ||
) | [virtual] |
atom | the atom to which the this instance is to be compared. |
state | the AtomMatchState representing the current comparison state. |
Try to match atoms from two molecules which are compared. This function calls itself recursively until all atoms from the two molecules have been matched or until an difference is found. Overriden methods should call this base function and return its result. FragmentAtom instances can't be matched currently.
Reimplemented from gcp::Atom.
xmlNodePtr gcp::FragmentAtom::Save | ( | xmlDocPtr | xml | ) | const [virtual] |
xml | the xmlDoc used to save the document. |
Used to save the atome specific data to the xmlDoc.
Reimplemented from gcp::Atom.
Reimplemented in gcp::FragmentResidue.
void gcp::FragmentAtom::SetSelected | ( | int | state | ) | [virtual] |
state | the selection state of the atom. |
Overrided to avoid Atom::SetSelected execution. Just call Fragment::SetSelected method.
Reimplemented from gcp::Atom.
void gcp::FragmentAtom::SetZ | ( | int | Z | ) | [virtual] |
Z | the new atomic number. |
Changes the atomic number of the atom.
Reimplemented from gcp::Atom.
void gcp::FragmentAtom::Update | ( | ) | [virtual] |
Overrided to avoid Atom::Update execution. Just call Fragment::Update() method.
Reimplemented from gcp::Atom.
void gcp::FragmentAtom::UpdateItem | ( | ) | [virtual] |
Overrided to avoid Atom::UpdateItem execution. Just call Fragment::UpdateItem().
Reimplemented from gccv::ItemClient.