• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

src/generic/apbs/vparam.h

Go to the documentation of this file.
00001 
00054 #ifndef _VPARAM_H_
00055 #define _VPARAM_H_
00056 
00057 /* Generic headers */
00058 #include "maloc/maloc.h"
00059 #include "apbs/vhal.h"
00060 #include "apbs/vunit.h"
00061 #include "apbs/vstring.h"
00062 
00079 struct sVparam_AtomData {
00080     char atomName[VMAX_ARGLEN];  
00081     char resName[VMAX_ARGLEN];  
00082     double charge;  
00083     double radius;  
00084     double epsilon;  
00086 };
00087 
00093 typedef struct sVparam_AtomData Vparam_AtomData;
00094 
00101 struct Vparam_ResData {
00102     Vmem *vmem;  
00103     char name[VMAX_ARGLEN]; 
00104     int nAtomData;  
00106     Vparam_AtomData *atomData;  
00107 };
00108 
00114 typedef struct Vparam_ResData Vparam_ResData;
00115 
00122 struct Vparam {
00123 
00124   Vmem *vmem;  
00125   int nResData;  
00127   Vparam_ResData *resData;  
00128 };
00129 
00134 typedef struct Vparam Vparam;
00135 
00136 /* ///////////////////////////////////////////////////////////////////////////
00137 // Class Vparam: Inlineable methods (vparam.c)
00139 
00140 #if !defined(VINLINE_VPARAM)
00141 
00148     VEXTERNC unsigned long int Vparam_memChk(Vparam *thee);
00149 
00150 #else /* if defined(VINLINE_VPARAM) */
00151 
00152 #   define Vparam_memChk(thee) (Vmem_bytes((thee)->vmem))
00153 
00154 #endif /* if !defined(VINLINE_VPARAM) */
00155 
00156 /* ///////////////////////////////////////////////////////////////////////////
00157 // Class Vparam: Non-Inlineable methods (vparam.c)
00159 
00164 VEXTERNC Vparam_AtomData* Vparam_AtomData_ctor();
00165 
00171 VEXTERNC int Vparam_AtomData_ctor2(Vparam_AtomData *thee);
00172 
00177 VEXTERNC void Vparam_AtomData_dtor(Vparam_AtomData **thee);
00178 
00183 VEXTERNC void Vparam_AtomData_dtor2(Vparam_AtomData *thee);
00184 
00192 VEXTERNC void Vparam_AtomData_copyTo(Vparam_AtomData *thee, 
00193   Vparam_AtomData *dest); 
00194 
00202 VEXTERNC void Vparam_ResData_copyTo(Vparam_ResData *thee, 
00203   Vparam_ResData *dest); 
00204 
00212 VEXTERNC void Vparam_AtomData_copyFrom(Vparam_AtomData *thee, 
00213   Vparam_AtomData *src); 
00214 
00220 VEXTERNC Vparam_ResData* Vparam_ResData_ctor(Vmem *mem);
00221 
00228 VEXTERNC int Vparam_ResData_ctor2(Vparam_ResData *thee, Vmem *mem);
00229 
00234 VEXTERNC void Vparam_ResData_dtor(Vparam_ResData **thee);
00235 
00240 VEXTERNC void Vparam_ResData_dtor2(Vparam_ResData *thee);
00241 
00246 VEXTERNC Vparam* Vparam_ctor();
00247 
00253 VEXTERNC int Vparam_ctor2(Vparam *thee);
00254 
00259 VEXTERNC void Vparam_dtor(Vparam **thee);
00260 
00265 VEXTERNC void Vparam_dtor2(Vparam *thee);
00266 
00277 VEXTERNC Vparam_ResData* Vparam_getResData(Vparam *thee, 
00278   char resName[VMAX_ARGLEN]);
00279 
00291 VEXTERNC Vparam_AtomData* Vparam_getAtomData(Vparam *thee, 
00292   char resName[VMAX_ARGLEN], char atomName[VMAX_ARGLEN]);
00293 
00322 VEXTERNC int Vparam_readFlatFile(Vparam *thee, const char *iodev, 
00323   const char *iofmt, const char *thost, const char *fname);
00324 
00335 VEXTERNC int Vparam_readXMLFile(Vparam *thee, const char *iodev, 
00336   const char *iofmt, const char *thost, const char *fname);
00337 
00338 #endif    /* ifndef _VPARAM_H_ */

Generated on Wed Oct 20 2010 12:01:33 for APBS by  doxygen 1.7.2