Main Page | Class List | File List | Class Members | File Members

topo.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2004-2005 by David J. Hardy.  All rights reserved.
00003  */
00004 
00021 #ifndef MDIO_TOPO_H
00022 #define MDIO_TOPO_H
00023 
00024 #include "adt/array.h"
00025 #include "adt/list.h"
00026 #include "mdio/file.h"
00027 #include "mdio/param.h"
00028 #include "mdapi/mdtypes.h"
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00038   typedef struct mdio_Topo_t {
00039     mdio_File file;
00040     adt_Array atom;
00041     adt_Array bond;
00042     adt_Array angle;
00043     adt_Array dihed;
00044     adt_Array impr;
00045     adt_Array excl;
00046     adt_List dihed_mult;
00047     adt_List impr_mult;
00048     char *buffer;
00049     int bufferlen;
00050   } mdio_Topo;
00051 
00052 
00053 /* constructor and destructor */
00054 
00061   mdio_Topo *mdio_createTopo(void);
00062 
00063 
00072   void mdio_destroyTopo(mdio_Topo *);
00073 
00074 
00075 /* reading parameter files, indexing params, obtaining parsed data */
00076 
00086   int mdio_readTopo(mdio_Topo *, const char *name);
00087 
00088 
00109   int mdio_indexParamTopo(mdio_Topo *, mdio_Param *p);
00110 
00111 
00118   MD_Atom *mdio_getAtomTopo(mdio_Topo *, int *nelems);
00119 
00120 
00127   MD_Bond *mdio_getBondTopo(mdio_Topo *, int *nelems);
00128 
00129 
00136   MD_Angle *mdio_getAngleTopo(mdio_Topo *, int *nelems);
00137 
00138 
00145   MD_Tors *mdio_getDihedTopo(mdio_Topo *, int *nelems);
00146 
00147 
00154   MD_Tors *mdio_getImprTopo(mdio_Topo *, int *nelems);
00155 
00156 
00163   MD_Excl *mdio_getExclTopo(mdio_Topo *, int *nelems);
00164 
00165 
00166 /* constructor and destructor for pre-allocated mdio_Topo object */
00167 
00173   int mdio_initializeTopo(mdio_Topo *);
00174 
00175 
00181   void mdio_cleanupTopo(mdio_Topo *);
00182 
00183 #ifdef __cplusplus
00184 }
00185 #endif
00186 
00187 #endif /* MDIO_TOPO_H */

Generated on Thu Feb 7 18:11:40 2008 for MDX by  doxygen 1.3.9.1