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     int partID;             
00068 };
00069 
00074 typedef struct sVatom Vatom;
00075 
00076 /* 
00077 // Class Vatom: Inlineable methods (vatom.c)
00079 
00080 #if !defined(VINLINE_VATOM)
00081 
00088     double* Vatom_getPosition(Vatom *thee);
00089 
00096     void    Vatom_setRadius(Vatom *thee, double radius);
00097 
00104     double  Vatom_getRadius(Vatom *thee);
00105 
00113     void    Vatom_setPartID(Vatom *thee, int partID);
00114 
00122     int     Vatom_getPartID(Vatom *thee);
00123 
00130     void    Vatom_setCharge(Vatom *thee, double charge);
00131 
00138     double  Vatom_getCharge(Vatom *thee);
00139 
00147     int     Vatom_memChk(Vatom *thee);
00148 
00149 #else /* if defined(VINLINE_VATOM) */
00150 #   define Vatom_getPosition(thee) ((thee)->position)
00151 #   define Vatom_setRadius(thee, tRadius) ((thee)->radius = (tRadius))
00152 #   define Vatom_getRadius(thee) ((thee)->radius)
00153 #   define Vatom_setPartID(thee, tpartID) ((thee)->partID = (tpartID))
00154 #   define Vatom_getPartID(thee) ((thee)->partID)
00155 #   define Vatom_setCharge(thee, charge) ((thee)->charge = charge)
00156 #   define Vatom_getCharge(thee) ((thee)->charge)
00157 #   define Vatom_memChk(thee) (sizeof(Vatom))
00158 #endif /* if !defined(VINLINE_VATOM) */
00159 
00160 /* 
00161 // Class Vatom: Non-Inlineable methods (vatom.c)
00163 
00169 Vatom* Vatom_ctor();
00170 
00177 int     Vatom_ctor2(Vatom *thee);
00178 
00184 void    Vatom_dtor(Vatom **thee);
00185 
00191 void    Vatom_dtor2(Vatom *thee);
00192 
00199 void   Vatom_setPosition(Vatom *thee, double position[3]);
00200 
00208 void Vatom_copyTo(Vatom *thee, Vatom *dest);
00209 
00217 void Vatom_copyFrom(Vatom *thee, Vatom *src);
00218 
00219 #endif /* ifndef _VATOM_H_ */
00220 

Generated on Tue Feb 17 09:27:03 2004 for APBS by doxygen1.2.18