Main Page | Class List | Directories | 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 "mdio/file.h"
00026 #include "mdio/param.h"
00027 #include "mdapi/mdtypes.h"
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032 
00037   typedef struct mdio_Topo_t {
00038     mdio_File file;
00039     adt_Array atom;
00040     adt_Array bond;
00041     adt_Array angle;
00042     adt_Array dihed;
00043     adt_Array impr;
00044     adt_Array excl;
00045     char *buffer;
00046     int bufferlen;
00047   } mdio_Topo;
00048 
00049 
00050 /* constructor and destructor */
00051 
00058   mdio_Topo *mdio_createTopo(void);
00059 
00060 
00069   void mdio_destroyTopo(mdio_Topo *);
00070 
00071 
00072 /* reading parameter files, indexing params, obtaining parsed data */
00073 
00083   int mdio_readTopo(mdio_Topo *, const char *name);
00084 
00085 
00106   int mdio_indexParamTopo(mdio_Topo *, mdio_Param *p);
00107 
00108 
00115   MD_Atom *mdio_getAtomTopo(mdio_Topo *, int *nelems);
00116 
00117 
00124   MD_Bond *mdio_getBondTopo(mdio_Topo *, int *nelems);
00125 
00126 
00133   MD_Angle *mdio_getAngleTopo(mdio_Topo *, int *nelems);
00134 
00135 
00142   MD_Tors *mdio_getDihedTopo(mdio_Topo *, int *nelems);
00143 
00144 
00151   MD_Tors *mdio_getImprTopo(mdio_Topo *, int *nelems);
00152 
00153 
00160   MD_Excl *mdio_getExclTopo(mdio_Topo *, int *nelems);
00161 
00162 
00163 /* constructor and destructor for pre-allocated mdio_Topo object */
00164 
00170   int mdio_initializeTopo(mdio_Topo *);
00171 
00172 
00178   void mdio_cleanupTopo(mdio_Topo *);
00179 
00180 #ifdef __cplusplus
00181 }
00182 #endif
00183 
00184 #endif /* MDIO_TOPO_H */

Generated on Mon Sep 26 10:55:18 2005 for MDX by  doxygen 1.4.4