Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

vatom.h

Go to the documentation of this file.
00001 
00049 #ifndef _VATOM_H_
00050 #define _VATOM_H_
00051 
00052 #include "maloc/maloc.h"
00053 #include "apbs/vhal.h"
00054 
00060 struct sVatom {
00061 
00062     double position[3];  
00063     double radius;  
00064     double charge;  
00065     double partID;  
00067     int id;  
00071 };
00072 
00077 typedef struct sVatom Vatom;
00078 
00079 #if !defined(VINLINE_VATOM)
00080 
00087     double* Vatom_getPosition(Vatom *thee);
00088 
00095     void    Vatom_setRadius(Vatom *thee, double radius);
00096 
00103     double  Vatom_getRadius(Vatom *thee);
00104 
00112     void    Vatom_setPartID(Vatom *thee, int partID);
00113 
00121     double     Vatom_getPartID(Vatom *thee);
00122 
00129     void Vatom_setAtomID(Vatom *thee, int id);
00130 
00137     double Vatom_getPartID(Vatom *thee);
00138 
00145     void    Vatom_setCharge(Vatom *thee, double charge);
00146 
00153     double  Vatom_getCharge(Vatom *thee);
00154 
00162     unsigned long int Vatom_memChk(Vatom *thee);
00163 
00164 #else /* if defined(VINLINE_VATOM) */
00165 #   define Vatom_getPosition(thee) ((thee)->position)
00166 #   define Vatom_setRadius(thee, tRadius) ((thee)->radius = (tRadius))
00167 #   define Vatom_getRadius(thee) ((thee)->radius)
00168 #   define Vatom_setPartID(thee, tpartID) ((thee)->partID = (double)(tpartID))
00169 #   define Vatom_getPartID(thee) ((thee)->partID)
00170 #   define Vatom_setAtomID(thee, tatomID) ((thee)->id = (tatomID))
00171 #   define Vatom_getAtomID(thee) ((thee)->id)
00172 #   define Vatom_setCharge(thee, tCharge) ((thee)->charge = (tCharge))
00173 #   define Vatom_getCharge(thee) ((thee)->charge)
00174 #   define Vatom_memChk(thee) (sizeof(Vatom))
00175 #endif /* if !defined(VINLINE_VATOM) */
00176 
00177 /* ///////////////////////////////////////////////////////////////////////////
00178 // Class Vatom: Non-Inlineable methods (vatom.c)
00180 
00186 Vatom* Vatom_ctor();
00187 
00194 int     Vatom_ctor2(Vatom *thee);
00195 
00201 void    Vatom_dtor(Vatom **thee);
00202 
00208 void    Vatom_dtor2(Vatom *thee);
00209 
00216 void   Vatom_setPosition(Vatom *thee, double position[3]);
00217 
00225 void Vatom_copyTo(Vatom *thee, Vatom *dest);
00226 
00234 void Vatom_copyFrom(Vatom *thee, Vatom *src);
00235 
00236 #endif /* ifndef _VATOM_H_ */
00237 

Generated on Tue Dec 6 10:05:31 2005 for APBS by doxygen 1.3.5