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
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
00176
00177
00178
00180
00186
00187
00194
00195
00201
00202
00208
00209
00216
00217
00225
00226
00234
00235
00236
00237