<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>The Gnome Chemistry Utils: gcu::Bond Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacegcu.html">gcu</a>::<a class="el" href="classgcu_1_1Bond.html">Bond</a> </div> </div> <div class="contents"> <h1>gcu::Bond Class Reference</h1><!-- doxytag: class="gcu::Bond" --><!-- doxytag: inherits="gcu::Object" --> <p><code>#include <<a class="el" href="gcu_2bond_8h_source.html">gcu/bond.h</a>></code></p> <div class="dynheader"> Inheritance diagram for gcu::Bond:</div> <div class="dynsection"> <div class="center"> <img src="classgcu_1_1Bond.gif" usemap="#gcu::Bond_map" alt=""/> <map id="gcu::Bond_map" name="gcu::Bond_map"> <area href="classgcu_1_1Object.html" alt="gcu::Object" shape="rect" coords="59,0,167,24"/> <area href="classgcp_1_1Bond.html" alt="gcp::Bond" shape="rect" coords="0,112,108,136"/> <area href="classgcu_1_1CrystalBond.html" alt="gcu::CrystalBond" shape="rect" coords="118,112,226,136"/> </map> </div> </div> <p><a href="classgcu_1_1Bond-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#aa4f971822cec7ebc2dd740a4edd7ea00">Bond</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a869fdab83e6339334559e144e7f2c6ac">Bond</a> (<a class="el" href="classgcu_1_1Atom.html">Atom</a> *first, <a class="el" href="classgcu_1_1Atom.html">Atom</a> *last, unsigned char order)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a42e68562f9ed5db56e2248f5cfa570f0">~Bond</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a258bd137853571dfed1fb65e5b9a23b7">GetAtom</a> (int which) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a78d842e897de3468e003900dcb4a8d23">GetAtom</a> (<a class="el" href="classgcu_1_1Atom.html">Atom</a> *pAtom, int which=0) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a34518464642cb9ba44b472f8ef6444b0">GetOrder</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#aa3442e178bc0c5126e671093519c5c0e">SetOrder</a> (unsigned char Order)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual xmlNodePtr </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a32ea64a60ece754c6b23ebea562bcc7f">Save</a> (xmlDocPtr xml) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#ae1bcca3ea3e234e33987df3a75fd69fa">Load</a> (xmlNodePtr node)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#ae4334fddde1b10a0b214e15ac3ace3a2">IncOrder</a> (int n=1)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a5c07dfc965d7ff0bcdf31d3cd984b3f5">LoadNode</a> (xmlNodePtr node)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a286b3771c349b417f6c4454ca19a737f">SaveNode</a> (xmlDocPtr xml, xmlNodePtr node) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a15d7c0d54ba3cb8e9d2886ff331bb1d1">Move</a> (double x, double y, double z=0.)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a2d60a39d5316071e2f49a220348885cf">Transform2D</a> (<a class="el" href="classgcu_1_1Matrix2D.html">Matrix2D</a> &m, double x, double y)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a37bf95b6f996cd4201c3c8e2566a717a">SetProperty</a> (unsigned property, char const *value)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a53a6463cbee81f5deb05dd2dd12a3692">AddCycle</a> (<a class="el" href="classgcu_1_1Cycle.html">Cycle</a> *pCycle)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#ad03a409e582f602e9dc5cc6f767df379">RemoveCycle</a> (<a class="el" href="classgcu_1_1Cycle.html">Cycle</a> *pCycle)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a1391f6a56f4bc037d6967e53f81b1893">RemoveAllCycles</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a75360621dc7035f97f351708e492772a">IsCyclic</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a02c2683a36b514930cdaa313838f5ead">GetFirstCycle</a> (std::list< <a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * >::iterator &i, <a class="el" href="classgcu_1_1Cycle.html">Cycle</a> *pCycle)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a9e1d6476780eba50ed468049661e0fe6">GetNextCycle</a> (std::list< <a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * >::iterator &i, <a class="el" href="classgcu_1_1Cycle.html">Cycle</a> *pCycle)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a7454f0f9d5d45d65637d14268570e53f">IsInCycle</a> (<a class="el" href="classgcu_1_1Cycle.html">Cycle</a> *pCycle)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a37dfb2b3cd40f3d31cb9c665789debe4">Get2DLength</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a03b8624cbc178a8ec4bcf9427988c464">GetAngle2DRad</a> (<a class="el" href="classgcu_1_1Atom.html">Atom</a> *pAtom)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#aa4e7dfe7534172a293836f00d0f20557">ReplaceAtom</a> (<a class="el" href="classgcu_1_1Atom.html">Atom</a> *oldAtom, <a class="el" href="classgcu_1_1Atom.html">Atom</a> *newAtom)</td></tr> <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a9e7a0678e397de8485d8fb0283e44189">m_order</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#af614faae330ea00d759076238abea71d">m_Begin</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a889d4abbc7e5a7cd2e46e088d4420eb6">m_End</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::list< <a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgcu_1_1Bond.html#a90fbb5deb015bb9ad2c4984e4ee3d045">m_Cycles</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This class is used to represent bonds. </p> <p>Definition at line <a class="el" href="gcu_2bond_8h_source.html#l00042">42</a> of file <a class="el" href="gcu_2bond_8h_source.html">gcu/bond.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aa4f971822cec7ebc2dd740a4edd7ea00"></a><!-- doxytag: member="gcu::Bond::Bond" ref="aa4f971822cec7ebc2dd740a4edd7ea00" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gcu::Bond::Bond </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>The default constructor. Creates a bond with order set to 0. </p> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#a0b5206ff8f0460a8881156958cd1faa7">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="a869fdab83e6339334559e144e7f2c6ac"></a><!-- doxytag: member="gcu::Bond::Bond" ref="a869fdab83e6339334559e144e7f2c6ac" args="(Atom *first, Atom *last, unsigned char order)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gcu::Bond::Bond </td> <td>(</td> <td class="paramtype"><a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td> <td class="paramname"> <em>first</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td> <td class="paramname"> <em>last</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char </td> <td class="paramname"> <em>order</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>first</em> </td><td>a pointer to the first <a class="el" href="classgcu_1_1Atom.html">Atom</a> instance of the bond. </td></tr> <tr><td valign="top"></td><td valign="top"><em>last</em> </td><td>a pointer to the last <a class="el" href="classgcu_1_1Atom.html">Atom</a> instance of the bond. </td></tr> <tr><td valign="top"></td><td valign="top"><em>order</em> </td><td>the order of the new bond.</td></tr> </table> </dd> </dl> <p>The distinction between first and last is important mostly for stereobonds. The <a class="el" href="classgcu_1_1Bond.html">Bond</a> instance is created and adds itself to the two atoms calling <a class="el" href="classgcu_1_1Atom.html#a374ed31f84f3400bf107c8fc5557acb3">Atom::AddBond</a>. </p> </div> </div> <a class="anchor" id="a42e68562f9ed5db56e2248f5cfa570f0"></a><!-- doxytag: member="gcu::Bond::~Bond" ref="a42e68562f9ed5db56e2248f5cfa570f0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual gcu::Bond::~Bond </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The destructor of <a class="el" href="classgcu_1_1Bond.html">Bond</a>. </p> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#a2414adeb5456d1620b9165e5e0081f1c">gcp::Bond</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a53a6463cbee81f5deb05dd2dd12a3692"></a><!-- doxytag: member="gcu::Bond::AddCycle" ref="a53a6463cbee81f5deb05dd2dd12a3692" args="(Cycle *pCycle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void gcu::Bond::AddCycle </td> <td>(</td> <td class="paramtype"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * </td> <td class="paramname"> <em>pCycle</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pCycle</em> </td><td>a cycle to add to the list. </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#a9b00148dde947306ca0c97daf7c84b03">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="a37dfb2b3cd40f3d31cb9c665789debe4"></a><!-- doxytag: member="gcu::Bond::Get2DLength" ref="a37dfb2b3cd40f3d31cb9c665789debe4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double gcu::Bond::Get2DLength </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the length of the bond when projected to the xy plane. </dd></dl> </div> </div> <a class="anchor" id="a03b8624cbc178a8ec4bcf9427988c464"></a><!-- doxytag: member="gcu::Bond::GetAngle2DRad" ref="a03b8624cbc178a8ec4bcf9427988c464" args="(Atom *pAtom)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double gcu::Bond::GetAngle2DRad </td> <td>(</td> <td class="paramtype"><a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td> <td class="paramname"> <em>pAtom</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pAtom</em> </td><td>one of the atoms of the bond.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the direction of the bond starting from the atom. </dd></dl> </div> </div> <a class="anchor" id="a78d842e897de3468e003900dcb4a8d23"></a><!-- doxytag: member="gcu::Bond::GetAtom" ref="a78d842e897de3468e003900dcb4a8d23" args="(Atom *pAtom, int which=0) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classgcu_1_1Atom.html">Atom</a>* gcu::Bond::GetAtom </td> <td>(</td> <td class="paramtype"><a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td> <td class="paramname"> <em>pAtom</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>which</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pAtom</em> </td><td>a pointer to an <a class="el" href="classgcu_1_1Atom.html">Atom</a> instance. </td></tr> <tr><td valign="top"></td><td valign="top"><em>which</em> </td><td>an index which might be used for multicentered bonds (not supported); the default value should always be used even if the implementation does not use it in this version. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the last atom if pAtom is the first, the first if pAtom is the last or NULL if pAtom is not concerned by this <a class="el" href="classgcu_1_1Bond.html">Bond</a>. </dd></dl> </div> </div> <a class="anchor" id="a258bd137853571dfed1fb65e5b9a23b7"></a><!-- doxytag: member="gcu::Bond::GetAtom" ref="a258bd137853571dfed1fb65e5b9a23b7" args="(int which) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classgcu_1_1Atom.html">Atom</a>* gcu::Bond::GetAtom </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>which</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>which</em> </td><td>the index of the <a class="el" href="classgcu_1_1Atom.html">Atom</a> instance to be returned.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the <a class="el" href="classgcu_1_1Atom.html">Atom</a> instance: first <a class="el" href="classgcu_1_1Atom.html">Atom</a> if which is 0, last if which is 1 or NULL. </dd></dl> </div> </div> <a class="anchor" id="a02c2683a36b514930cdaa313838f5ead"></a><!-- doxytag: member="gcu::Bond::GetFirstCycle" ref="a02c2683a36b514930cdaa313838f5ead" args="(std::list< Cycle * >::iterator &i, Cycle *pCycle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a>* gcu::Bond::GetFirstCycle </td> <td>(</td> <td class="paramtype">std::list< <a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * >::iterator & </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * </td> <td class="paramname"> <em>pCycle</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>i</em> </td><td>a C++ std::map iterator. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pCycle</em> </td><td>a cycle.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the first cycle to which the bond belongs, excluding the one passed as second argument. </dd></dl> </div> </div> <a class="anchor" id="a9e1d6476780eba50ed468049661e0fe6"></a><!-- doxytag: member="gcu::Bond::GetNextCycle" ref="a9e1d6476780eba50ed468049661e0fe6" args="(std::list< Cycle * >::iterator &i, Cycle *pCycle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a>* gcu::Bond::GetNextCycle </td> <td>(</td> <td class="paramtype">std::list< <a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * >::iterator & </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * </td> <td class="paramname"> <em>pCycle</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>i</em> </td><td>a C++ std::map iterator initialized by <a class="el" href="classgcu_1_1Bond.html#a02c2683a36b514930cdaa313838f5ead">Bond::GetFirstCycle</a>. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pCycle</em> </td><td>a cycle.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the next cycle to which the bond belongs, excluding the one passed as second argument. </dd></dl> </div> </div> <a class="anchor" id="a34518464642cb9ba44b472f8ef6444b0"></a><!-- doxytag: member="gcu::Bond::GetOrder" ref="a34518464642cb9ba44b472f8ef6444b0" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char gcu::Bond::GetOrder </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the <a class="el" href="classgcu_1_1Bond.html">Bond</a> order. </dd></dl> </div> </div> <a class="anchor" id="ae4334fddde1b10a0b214e15ac3ace3a2"></a><!-- doxytag: member="gcu::Bond::IncOrder" ref="ae4334fddde1b10a0b214e15ac3ace3a2" args="(int n=1)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void gcu::Bond::IncOrder </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>n</em> = <code>1</code></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>the increment to add to the bond order</td></tr> </table> </dd> </dl> <p>If the resulting bond order is greater than 4, the remainder of the division by 4 is retained. </p> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#a8b46a23538a24eb02b8e726d5565536b">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="a75360621dc7035f97f351708e492772a"></a><!-- doxytag: member="gcu::Bond::IsCyclic" ref="a75360621dc7035f97f351708e492772a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned gcu::Bond::IsCyclic </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the number of cycles to which the bond belongs. </dd></dl> <p>Definition at line <a class="el" href="gcu_2bond_8h_source.html#l00163">163</a> of file <a class="el" href="gcu_2bond_8h_source.html">gcu/bond.h</a>.</p> <p>References <a class="el" href="gcu_2bond_8h_source.html#l00228">m_Cycles</a>.</p> </div> </div> <a class="anchor" id="a7454f0f9d5d45d65637d14268570e53f"></a><!-- doxytag: member="gcu::Bond::IsInCycle" ref="a7454f0f9d5d45d65637d14268570e53f" args="(Cycle *pCycle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool gcu::Bond::IsInCycle </td> <td>(</td> <td class="paramtype"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * </td> <td class="paramname"> <em>pCycle</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pCycle</em> </td><td>a cycle in which the bond might be.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true if the bond is in the cycle. </dd></dl> </div> </div> <a class="anchor" id="ae1bcca3ea3e234e33987df3a75fd69fa"></a><!-- doxytag: member="gcu::Bond::Load" ref="ae1bcca3ea3e234e33987df3a75fd69fa" args="(xmlNodePtr node)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool gcu::Bond::Load </td> <td>(</td> <td class="paramtype">xmlNodePtr </td> <td class="paramname"> <em>node</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>node</em> </td><td>a pointer to the xmlNode containing the serialized <a class="el" href="classgcu_1_1Bond.html">Bond</a>.</td></tr> </table> </dd> </dl> <p>Loads a bond from an xmlNode. </p> <p>Reimplemented from <a class="el" href="classgcu_1_1Object.html#aa3ee33c25154d8e7bbe1e39de970c489">gcu::Object</a>.</p> <p>Reimplemented in <a class="el" href="classgcu_1_1CrystalBond.html#ad98acfca2deeac264b7fd1c48e680bbd">gcu::CrystalBond</a>.</p> </div> </div> <a class="anchor" id="a5c07dfc965d7ff0bcdf31d3cd984b3f5"></a><!-- doxytag: member="gcu::Bond::LoadNode" ref="a5c07dfc965d7ff0bcdf31d3cd984b3f5" args="(xmlNodePtr node)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool gcu::Bond::LoadNode </td> <td>(</td> <td class="paramtype">xmlNodePtr </td> <td class="paramname"> <em>node</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>node</em> </td><td>a pointer to the xmlNode containing the serialized <a class="el" href="classgcu_1_1Bond.html">Bond</a>.</td></tr> </table> </dd> </dl> <p>This virtual method is called at the end of the <a class="el" href="classgcu_1_1Bond.html#ae1bcca3ea3e234e33987df3a75fd69fa">Bond::Load</a> method. The default behavior is to do nothing. It might be overrided for derived class when it is not convenient to override the <a class="el" href="classgcu_1_1Bond.html#ae1bcca3ea3e234e33987df3a75fd69fa">Bond::Load</a> method. </p> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#add00d30f47a4b609a7e77472fa89b2bc">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="a15d7c0d54ba3cb8e9d2886ff331bb1d1"></a><!-- doxytag: member="gcu::Bond::Move" ref="a15d7c0d54ba3cb8e9d2886ff331bb1d1" args="(double x, double y, double z=0.)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void gcu::Bond::Move </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>z</em> = <code>0.</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>the x component of the transation vector. </td></tr> <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>the y component of the transation vector. </td></tr> <tr><td valign="top"></td><td valign="top"><em>z</em> </td><td>the z component of the transation vector.</td></tr> </table> </dd> </dl> <p>Does nothing. Just a slight optimization to avoid execution of <a class="el" href="classgcu_1_1Object.html#af5505430c421604ff7e26e4414197fbc">Object::Move</a> </p> <p>Reimplemented from <a class="el" href="classgcu_1_1Object.html#af5505430c421604ff7e26e4414197fbc">gcu::Object</a>.</p> <p>Reimplemented in <a class="el" href="classgcu_1_1CrystalBond.html#acabc45bc7b9f554550c28a813e15ad57">gcu::CrystalBond</a>, and <a class="el" href="classgcp_1_1Bond.html#afda351941282758411c86c72bf176e01">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="a1391f6a56f4bc037d6967e53f81b1893"></a><!-- doxytag: member="gcu::Bond::RemoveAllCycles" ref="a1391f6a56f4bc037d6967e53f81b1893" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void gcu::Bond::RemoveAllCycles </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Clears the bond cycles list. </p> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#ae46d9c3524f1a8a4fb4910ff9c8df0dc">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="ad03a409e582f602e9dc5cc6f767df379"></a><!-- doxytag: member="gcu::Bond::RemoveCycle" ref="ad03a409e582f602e9dc5cc6f767df379" args="(Cycle *pCycle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void gcu::Bond::RemoveCycle </td> <td>(</td> <td class="paramtype"><a class="el" href="classgcu_1_1Cycle.html">Cycle</a> * </td> <td class="paramname"> <em>pCycle</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pCycle</em> </td><td>a cycle to remove from the list. </td></tr> </table> </dd> </dl> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#aac38d7757df34e9e07c4bd91c9564855">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="aa4e7dfe7534172a293836f00d0f20557"></a><!-- doxytag: member="gcu::Bond::ReplaceAtom" ref="aa4e7dfe7534172a293836f00d0f20557" args="(Atom *oldAtom, Atom *newAtom)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool gcu::Bond::ReplaceAtom </td> <td>(</td> <td class="paramtype"><a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td> <td class="paramname"> <em>oldAtom</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgcu_1_1Atom.html">Atom</a> * </td> <td class="paramname"> <em>newAtom</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>oldAtom</em> </td><td>the atom to replace. </td></tr> <tr><td valign="top"></td><td valign="top"><em>newAtom</em> </td><td>the new atom.</td></tr> </table> </dd> </dl> <p>To sucess, this needs that the new atom can accpt all the bonds from the old one. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>true on success. </dd></dl> </div> </div> <a class="anchor" id="a32ea64a60ece754c6b23ebea562bcc7f"></a><!-- doxytag: member="gcu::Bond::Save" ref="a32ea64a60ece754c6b23ebea562bcc7f" args="(xmlDocPtr xml) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual xmlNodePtr gcu::Bond::Save </td> <td>(</td> <td class="paramtype">xmlDocPtr </td> <td class="paramname"> <em>xml</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>xml</em> </td><td>the xmlDoc used to save the document. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the xmlNode representing this <a class="el" href="classgcu_1_1Bond.html">Bond</a> or NULL if an error occured. </dd></dl> <p>Reimplemented from <a class="el" href="classgcu_1_1Object.html#aad462441e79fbd93e158f8294a198d11">gcu::Object</a>.</p> </div> </div> <a class="anchor" id="a286b3771c349b417f6c4454ca19a737f"></a><!-- doxytag: member="gcu::Bond::SaveNode" ref="a286b3771c349b417f6c4454ca19a737f" args="(xmlDocPtr xml, xmlNodePtr node) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool gcu::Bond::SaveNode </td> <td>(</td> <td class="paramtype">xmlDocPtr </td> <td class="paramname"> <em>xml</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xmlNodePtr </td> <td class="paramname"> <em>node</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>xml</em> </td><td>the xmlDoc used to save the document. </td></tr> <tr><td valign="top"></td><td valign="top"><em>node</em> </td><td>a pointer to the xmlNode to which this <a class="el" href="classgcu_1_1Bond.html">Bond</a> is serialized.</td></tr> </table> </dd> </dl> <p>This virtual method is called at the end of the <a class="el" href="classgcu_1_1Bond.html#a32ea64a60ece754c6b23ebea562bcc7f">Bond::Save</a> method. The default behavior is to do nothing. It might be overrided for derived class when it is not convenient to override the <a class="el" href="classgcu_1_1Bond.html#a32ea64a60ece754c6b23ebea562bcc7f">Bond::Save</a> method. </p> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#ace12bb96a952939c5e4adc12c17afc48">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="aa3442e178bc0c5126e671093519c5c0e"></a><!-- doxytag: member="gcu::Bond::SetOrder" ref="aa3442e178bc0c5126e671093519c5c0e" args="(unsigned char Order)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gcu::Bond::SetOrder </td> <td>(</td> <td class="paramtype">unsigned char </td> <td class="paramname"> <em>Order</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>Order</em> </td><td>the new bond order.</td></tr> </table> </dd> </dl> <p>The value used is not checked. Should be a significant value (1 to 3, exceptionally 4). </p> </div> </div> <a class="anchor" id="a37bf95b6f996cd4201c3c8e2566a717a"></a><!-- doxytag: member="gcu::Bond::SetProperty" ref="a37bf95b6f996cd4201c3c8e2566a717a" args="(unsigned property, char const *value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool gcu::Bond::SetProperty </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"> <em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char const * </td> <td class="paramname"> <em>value</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>property</em> </td><td>the identity of the property as defined in <a class="el" href="objprops_8h.html">objprops.h</a>. </td></tr> <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value of the property as a string.</td></tr> </table> </dd> </dl> <p>Used by the <a class="el" href="classgcu_1_1Loader.html" title="class used to implement serialization engines.">gcu::Loader</a> mechanism to load properties of bonds. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>true on success. </dd></dl> <p>Reimplemented from <a class="el" href="classgcu_1_1Object.html#a47862fe83b1c3739ee37b8af81550644">gcu::Object</a>.</p> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#a42351189a42ff109ba72cffb68741431">gcp::Bond</a>.</p> </div> </div> <a class="anchor" id="a2d60a39d5316071e2f49a220348885cf"></a><!-- doxytag: member="gcu::Bond::Transform2D" ref="a2d60a39d5316071e2f49a220348885cf" args="(Matrix2D &m, double x, double y)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void gcu::Bond::Transform2D </td> <td>(</td> <td class="paramtype"><a class="el" href="classgcu_1_1Matrix2D.html">Matrix2D</a> & </td> <td class="paramname"> <em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>y</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>m</em> </td><td>the 2D <a class="el" href="classgcu_1_1Matrix.html">Matrix</a> of the transformation. </td></tr> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>the x component of the center of the transformation. </td></tr> <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>the y component of the center of the transformation.</td></tr> </table> </dd> </dl> <p>Does nothing. Just a slight optimization to avoid execution of <a class="el" href="classgcu_1_1Object.html#a69ad6edf7d50950b036f09d9ff86f849">Object::Transform2D</a> </p> <p>Reimplemented from <a class="el" href="classgcu_1_1Object.html#a69ad6edf7d50950b036f09d9ff86f849">gcu::Object</a>.</p> <p>Reimplemented in <a class="el" href="classgcp_1_1Bond.html#abe79a5330eb9a97a9a7425a69cc241f3">gcp::Bond</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="af614faae330ea00d759076238abea71d"></a><!-- doxytag: member="gcu::Bond::m_Begin" ref="af614faae330ea00d759076238abea71d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classgcu_1_1Atom.html">Atom</a>* <a class="el" href="classgcu_1_1Bond.html#af614faae330ea00d759076238abea71d">gcu::Bond::m_Begin</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>A pointer to the first <a class="el" href="classgcu_1_1Atom.html">Atom</a> instance of the <a class="el" href="classgcu_1_1Bond.html">Bond</a>. </p> <p>Definition at line <a class="el" href="gcu_2bond_8h_source.html#l00219">219</a> of file <a class="el" href="gcu_2bond_8h_source.html">gcu/bond.h</a>.</p> </div> </div> <a class="anchor" id="a90fbb5deb015bb9ad2c4984e4ee3d045"></a><!-- doxytag: member="gcu::Bond::m_Cycles" ref="a90fbb5deb015bb9ad2c4984e4ee3d045" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::list<<a class="el" href="classgcu_1_1Cycle.html">Cycle</a>*> <a class="el" href="classgcu_1_1Bond.html#a90fbb5deb015bb9ad2c4984e4ee3d045">gcu::Bond::m_Cycles</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The <a class="el" href="classgcu_1_1Cycle.html">gcu::Cycle</a> instnces to which the bond pertains. </p> <p>Definition at line <a class="el" href="gcu_2bond_8h_source.html#l00228">228</a> of file <a class="el" href="gcu_2bond_8h_source.html">gcu/bond.h</a>.</p> <p>Referenced by <a class="el" href="gcu_2bond_8h_source.html#l00163">IsCyclic()</a>.</p> </div> </div> <a class="anchor" id="a889d4abbc7e5a7cd2e46e088d4420eb6"></a><!-- doxytag: member="gcu::Bond::m_End" ref="a889d4abbc7e5a7cd2e46e088d4420eb6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classgcu_1_1Atom.html">Atom</a>* <a class="el" href="classgcu_1_1Bond.html#a889d4abbc7e5a7cd2e46e088d4420eb6">gcu::Bond::m_End</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>A pointer to the last <a class="el" href="classgcu_1_1Atom.html">Atom</a> instance of the <a class="el" href="classgcu_1_1Bond.html">Bond</a>. </p> <p>Definition at line <a class="el" href="gcu_2bond_8h_source.html#l00223">223</a> of file <a class="el" href="gcu_2bond_8h_source.html">gcu/bond.h</a>.</p> </div> </div> <a class="anchor" id="a9e7a0678e397de8485d8fb0283e44189"></a><!-- doxytag: member="gcu::Bond::m_order" ref="a9e7a0678e397de8485d8fb0283e44189" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char <a class="el" href="classgcu_1_1Bond.html#a9e7a0678e397de8485d8fb0283e44189">gcu::Bond::m_order</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The order of the bond. </p> <p>Definition at line <a class="el" href="gcu_2bond_8h_source.html#l00215">215</a> of file <a class="el" href="gcu_2bond_8h_source.html">gcu/bond.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="gcu_2bond_8h_source.html">gcu/bond.h</a></li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on Sun Sep 6 18:33:55 2009 for The Gnome Chemistry Utils by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>