gcu::Atom Class Reference
#include <gcu/atom.h>
List of all members.
|
Public Member Functions |
| | Atom () |
| | Atom (int Z, double x, double y, double z=0.) |
| | Atom (Atom &a) |
| Atom & | operator= (Atom &a) |
| virtual | ~Atom () |
| double | Distance (Atom *pAtom) |
| void | zoom (double ZoomFactor) |
| virtual bool | GetCoords (double *x, double *y, double *z=NULL) |
| void | SetCoords (double x, double y, double z=0) |
| int | GetZ () |
| virtual void | SetZ (int Z) |
| void | SetCharge (char Charge) |
| char | GetCharge () |
| const gchar * | GetSymbol () |
| virtual void | AddBond (Bond *pBond) |
| virtual void | RemoveBond (Bond *pBond) |
| double | x () |
| double | y () |
| double | z () |
| Bond * | GetFirstBond (map< Atom *, Bond * >::iterator &i) |
| Bond * | GetNextBond (map< Atom *, Bond * >::iterator &i) |
| Bond * | GetBond (Atom *pAtom) |
| int | GetBondsNumber () |
| virtual xmlNodePtr | Save (xmlDocPtr xml) |
| virtual bool | Load (xmlNodePtr node) |
| virtual bool | LoadNode (xmlNodePtr node) |
| virtual bool | SaveNode (xmlDocPtr xml, xmlNodePtr node) |
| virtual void | Move (double x, double y, double z=0.) |
| virtual void | Transform2D (Matrix2D &m, double x, double y) |
Protected Attributes |
| int | m_Z |
| double | m_x |
| double | m_y |
| double | m_z |
| char | m_Charge |
| map< Atom *, Bond * > | m_Bonds |
Detailed Description
This class is used to represent atoms.
Definition at line 42 of file atom.h.
Constructor & Destructor Documentation
The default constructor. Creates an atom with atomic number set to 0.
| gcu::Atom::Atom |
( |
int |
Z, |
|
|
double |
x, |
|
|
double |
y, |
|
|
double |
z = 0. | |
|
) |
| | |
- Parameters:
-
| Z,: | the atomic number of the new atom. |
| x,: | the x coordinate of the new atom. |
| y,: | the y coordinate of the new atom. |
| z,: | the z coordinate of the new atom. |
Creates an atom.
| gcu::Atom::Atom |
( |
Atom & |
a |
) |
|
- Parameters:
-
| a,: | the Atom to duplicate. |
Creates a new atom identical to a without any bond.
| virtual gcu::Atom::~Atom |
( |
|
) |
[virtual] |
The destructor of Atom. It removes bonds but do not delete the associated Bond instances.
Member Function Documentation
- Parameters:
-
- Returns:
- an Atom identical to a without any bond.
| double gcu::Atom::Distance |
( |
Atom * |
pAtom |
) |
|
- Parameters:
-
| pAtom,: | a pointer to an Atom. |
- Returns:
- the distance between the Atom at pAtom and this Atom.
| void gcu::Atom::zoom |
( |
double |
ZoomFactor |
) |
|
- Parameters:
-
| ZoomFactor,: | the zoom factor. |
Multiplies all three coordinates of this
Atom by ZoomFactor.
| virtual bool gcu::Atom::GetCoords |
( |
double * |
x, |
|
|
double * |
y, |
|
|
double * |
z = NULL | |
|
) |
| | [virtual] |
- Parameters:
-
| x,: | a pointer to the double value which will receive the x coordiante of the Atom. |
| y,: | a pointer to the double value which will receive the y coordiante of the Atom. |
| z,: | a pointer to the double value which will receive the z coordiante of the Atom or NULL for 2D representations. |
Retrieves the coordinates of this
Atom.
- Returns:
- true if successful and false if an error occurs (if x or y is NULL).
| void gcu::Atom::SetCoords |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
z = 0 | |
|
) |
| | [inline] |
- Parameters:
-
| x,: | the new x coordinate of the Atom. |
| y,: | the new y coordinate of the Atom. |
| z,: | the new z coordinate of the Atom. |
Changes the position of this
Atom.
Definition at line 103 of file atom.h.
References m_x, m_y, m_z, and z().
| int gcu::Atom::GetZ |
( |
|
) |
[inline] |
- Returns:
- the atomic number of the atom.
Definition at line 107 of file atom.h.
References m_Z.
| virtual void gcu::Atom::SetZ |
( |
int |
Z |
) |
[virtual] |
- Parameters:
-
| Z,: | the new atomic number of the Atom. |
This method might be overrided by derived class since changing the atomic number generally changes most properties. The default behavior is just to change the atomic number and nothing else.
| void gcu::Atom::SetCharge |
( |
char |
Charge |
) |
[inline] |
- Parameters:
-
| Charge,: | the new formal charge of the Atom. |
Changes the formal charge of this
Atom.
Definition at line 120 of file atom.h.
References m_Charge.
| char gcu::Atom::GetCharge |
( |
|
) |
[inline] |
| const gchar* gcu::Atom::GetSymbol |
( |
|
) |
|
- Returns:
- the atomic symbol of this Atom or NULL if the element is unknown.
| virtual void gcu::Atom::AddBond |
( |
Bond * |
pBond |
) |
[virtual] |
- Parameters:
-
| pBond,: | a pointer to the new Bond to this Atom. |
Adds a
Bond.
| virtual void gcu::Atom::RemoveBond |
( |
Bond * |
pBond |
) |
[virtual] |
- Parameters:
-
| pBond,: | a pointer to the Bond to remove from this Atom. |
Removes a
Bond.
| double gcu::Atom::x |
( |
|
) |
[inline] |
- Returns:
- the x coordinate of this Atom.
Definition at line 144 of file atom.h.
References m_x.
| double gcu::Atom::y |
( |
|
) |
[inline] |
- Returns:
- the y coordinate of this Atom.
Definition at line 148 of file atom.h.
References m_y.
| double gcu::Atom::z |
( |
|
) |
[inline] |
| Bond* gcu::Atom::GetFirstBond |
( |
map< Atom *, Bond * >::iterator & |
i |
) |
|
- Parameters:
-
| i,: | a C++ std::map iterator. |
Use this function to retrieve the first
Bond of this
Atom and initialize the iterator.
- Returns:
- the first Bond of this Atom or NULL if the Atom has is not bonded.
| Bond* gcu::Atom::GetNextBond |
( |
map< Atom *, Bond * >::iterator & |
i |
) |
|
- Parameters:
-
Use this method to iterate through the list of
Bond instances of this
Atom.
- Returns:
- the next Bond of this Atom or NULL.
| Bond* gcu::Atom::GetBond |
( |
Atom * |
pAtom |
) |
|
- Parameters:
-
| pAtom,: | a pointer to an Atom instance. |
- Returns:
- a pointer to the Bond shared by pAtom and this Atom if it exists or NULL.
| int gcu::Atom::GetBondsNumber |
( |
|
) |
[inline] |
- Returns:
- the number of Bond instances shared by this Atom. It does not take multiplicity of bonds into account.
Definition at line 175 of file atom.h.
References m_Bonds.
| virtual xmlNodePtr gcu::Atom::Save |
( |
xmlDocPtr |
xml |
) |
[virtual] |
- Parameters:
-
| xml,: | the xmlDoc used to save the document. |
- Returns:
- a pointer to the xmlNode representing this Atom or NULL if an error occured.
Reimplemented from gcu::Object.
| virtual bool gcu::Atom::Load |
( |
xmlNodePtr |
node |
) |
[virtual] |
- Parameters:
-
| node,: | a pointer to the xmlNode containing the serialized Atom. |
Loads an atom from an xmlNode.
Reimplemented from gcu::Object.
| virtual bool gcu::Atom::LoadNode |
( |
xmlNodePtr |
node |
) |
[virtual] |
- Parameters:
-
| node,: | a pointer to the xmlNode containing the serialized Atom. |
This virtual method is called at the end of the
Atom::Load method. The default behavior is to do nothing. It might be overrided for derived class when it is not convenient to override the
Atom::Load method.
Reimplemented in gcu::CrystalAtom.
| virtual bool gcu::Atom::SaveNode |
( |
xmlDocPtr |
xml, |
|
|
xmlNodePtr |
node | |
|
) |
| | [virtual] |
- Parameters:
-
| xml,: | the xmlDoc used to save the document. |
| node,: | a pointer to the xmlNode to which this Atom is serialized. |
This virtual method is called at the end of the
Atom::Save method. The default behavior is to do nothing. It might be overrided for derived class when it is not convenient to override the
Atom::Save method.
Reimplemented in gcu::CrystalAtom.
| virtual void gcu::Atom::Move |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
z = 0. | |
|
) |
| | [virtual] |
- Parameters:
-
| x,: | the x component of the transation vector. |
| y,: | the y component of the transation vector. |
| z,: | the z component of the transation vector. |
Used to move an
Atom.
Reimplemented from gcu::Object.
| virtual void gcu::Atom::Transform2D |
( |
Matrix2D & |
m, |
|
|
double |
x, |
|
|
double |
y | |
|
) |
| | [virtual] |
- Parameters:
-
| m,: | the 2D Matrix of the transformation. |
| x,: | the x component of the center of the transformation. |
| y,: | the y component of the center of the transformation. |
Used to move and/or transform an atom.
Reimplemented from gcu::Object.
Member Data Documentation
The documentation for this class was generated from the following file: