00001
00072 #ifndef _VMGRID_H_
00073 #define _VMGRID_H_
00074
00075
00076 #include "maloc/maloc.h"
00077 #include "apbs/vhal.h"
00078
00079
00080 #include "apbs/vgrid.h"
00081
00085 #define VMGRIDMAX 20
00086
00087
00093 struct sVmgrid {
00094
00095 int ngrids;
00096 Vgrid *grids[VMGRIDMAX];
00101 };
00102
00107 typedef struct sVmgrid Vmgrid;
00108
00114 Vmgrid* Vmgrid_ctor();
00115
00122 int Vmgrid_ctor2(Vmgrid *thee);
00123
00132 int Vmgrid_value(Vmgrid *thee, double x[3], double *value);
00133
00139 void Vmgrid_dtor(Vmgrid **thee);
00140
00146 void Vmgrid_dtor2(Vmgrid *thee);
00147
00160 int Vmgrid_addGrid(Vmgrid *thee, Vgrid *grid);
00161
00162
00176 int Vmgrid_curvature(Vmgrid *thee, double pt[3], int cflag,
00177 double *curv);
00178
00187 int Vmgrid_gradient(Vmgrid *thee, double pt[3], double grad[3] );
00188
00196 Vgrid* Vmgrid_getGridByNum(Vmgrid *thee, int num);
00197
00205 Vgrid* Vmgrid_getGridByPoint(Vmgrid *thee, double pt[3]);
00206
00207 #endif
00208
00209