00001 00060 #ifndef _VALIST_H_ 00061 #define _VALIST_H_ 00062 00063 /* Generic headers */ 00064 #include "maloc/maloc.h" 00065 #include "apbs/vhal.h" 00066 00067 /* Headers specific to this file */ 00068 #include "apbs/vatom.h" 00069 #include "apbs/vparam.h" 00070 00076 struct sValist { 00077 00078 int number; 00079 double center[3]; 00080 double mincrd[3]; 00081 double maxcrd[3]; 00082 double maxrad; 00083 double charge; 00084 Vatom *atoms; 00085 Vmem *vmem; 00087 }; 00088 00093 typedef struct sValist Valist; 00094 00095 #if !defined(VINLINE_VATOM) 00096 00103 Vatom* Valist_getAtomList( 00104 Valist *thee 00105 ); 00106 00112 double Valist_getCenterX( 00113 Valist *thee 00114 ); 00115 00121 double Valist_getCenterY( 00122 Valist *thee 00123 ); 00124 00130 double Valist_getCenterZ( 00131 Valist *thee 00132 ); 00133 00139 int Valist_getNumberAtoms( 00140 Valist *thee 00141 ); 00142 00148 Vatom* Valist_getAtom( 00149 Valist *thee, 00150 int i 00151 ); 00152 00158 unsigned long int Valist_memChk( 00159 Valist *thee 00160 ); 00161 00162 #else /* if defined(VINLINE_VATOM) */ 00163 # define Valist_getAtomList(thee) ((thee)->atoms) 00164 # define Valist_getNumberAtoms(thee) ((thee)->number) 00165 # define Valist_getAtom(thee, i) (&((thee)->atoms[i])) 00166 # define Valist_memChk(thee) (Vmem_bytes((thee)->vmem)) 00167 # define Valist_getCenterX(thee) ((thee)->center[0]) 00168 # define Valist_getCenterY(thee) ((thee)->center[1]) 00169 # define Valist_getCenterZ(thee) ((thee)->center[2]) 00170 #endif /* if !defined(VINLINE_VATOM) */ 00171 00177 Valist* Valist_ctor(); 00178 00184 Vrc_Codes Valist_ctor2( 00185 Valist *thee 00186 ); 00187 00192 void Valist_dtor( 00193 Valist **thee 00194 ); 00195 00200 void Valist_dtor2( 00201 Valist *thee 00202 ); 00203 00215 Vrc_Codes Valist_readPQR( 00216 Valist *thee, 00217 Vparam *param, 00218 Vio *sock 00219 ); 00220 00230 Vrc_Codes Valist_readPDB( 00231 Valist *thee, 00232 Vparam *param, 00233 Vio *sock 00234 ); 00235 00245 Vrc_Codes Valist_readXML( 00246 Valist *thee, 00247 Vparam *param, 00248 Vio *sock 00249 ); 00250 00257 Vrc_Codes Valist_getStatistics(Valist *thee); 00258 00259 00260 #endif /* ifndef _VALIST_H_ */ 00261