00001 00049 #ifndef _VALIST_H_ 00050 #define _VALIST_H_ 00051 00052 /* Generic headers */ 00053 #include "maloc/maloc.h" 00054 #include "apbs/vhal.h" 00055 00056 /* Headers specific to this file */ 00057 #include "apbs/vatom.h" 00058 #include "apbs/vparam.h" 00059 00065 struct sValist { 00066 00067 int number; 00068 double center[3]; 00069 double mincrd[3]; 00070 double maxcrd[3]; 00071 double maxrad; 00072 double charge; 00073 Vatom *atoms; 00074 Vmem *vmem; 00076 }; 00077 00082 typedef struct sValist Valist; 00083 00084 #if !defined(VINLINE_VATOM) 00085 00092 Vatom* Valist_getAtomList( 00093 Valist *thee 00094 ); 00095 00101 double Valist_getCenterX( 00102 Valist *thee 00103 ); 00104 00110 double Valist_getCenterY( 00111 Valist *thee 00112 ); 00113 00119 double Valist_getCenterZ( 00120 Valist *thee 00121 ); 00122 00128 int Valist_getNumberAtoms( 00129 Valist *thee 00130 ); 00131 00137 Vatom* Valist_getAtom( 00138 Valist *thee, 00139 int i 00140 ); 00141 00147 unsigned long int Valist_memChk( 00148 Valist *thee 00149 ); 00150 00151 #else /* if defined(VINLINE_VATOM) */ 00152 # define Valist_getAtomList(thee) ((thee)->atoms) 00153 # define Valist_getNumberAtoms(thee) ((thee)->number) 00154 # define Valist_getAtom(thee, i) (&((thee)->atoms[i])) 00155 # define Valist_memChk(thee) (Vmem_bytes((thee)->vmem)) 00156 # define Valist_getCenterX(thee) ((thee)->center[0]) 00157 # define Valist_getCenterY(thee) ((thee)->center[1]) 00158 # define Valist_getCenterZ(thee) ((thee)->center[2]) 00159 #endif /* if !defined(VINLINE_VATOM) */ 00160 00166 Valist* Valist_ctor(); 00167 00173 int Valist_ctor2( 00174 Valist *thee 00175 ); 00176 00181 void Valist_dtor( 00182 Valist **thee 00183 ); 00184 00189 void Valist_dtor2( 00190 Valist *thee 00191 ); 00192 00204 int Valist_readPQR( 00205 Valist *thee, 00206 Vio *sock 00207 ); 00208 00218 int Valist_readPDB( 00219 Valist *thee, 00220 Vparam *param, 00221 Vio *sock 00222 ); 00223 00224 #endif /* ifndef _VALIST_H_ */ 00225