00001
00049 #ifndef _VMGRID_H_
00050 #define _VMGRID_H_
00051
00052
00053 #include "maloc/maloc.h"
00054 #include "apbs/vhal.h"
00055
00056
00057 #include "apbs/vgrid.h"
00058
00062 #define VMGRIDMAX 20
00063
00064
00070 struct sVmgrid {
00071
00072 int ngrids;
00073 Vgrid *grids[VMGRIDMAX];
00078 };
00079
00084 typedef struct sVmgrid Vmgrid;
00085
00091 Vmgrid* Vmgrid_ctor();
00092
00099 int Vmgrid_ctor2(Vmgrid *thee);
00100
00109 int Vmgrid_value(Vmgrid *thee, double x[3], double *value);
00110
00116 void Vmgrid_dtor(Vmgrid **thee);
00117
00123 void Vmgrid_dtor2(Vmgrid *thee);
00124
00137 int Vmgrid_addGrid(Vmgrid *thee, Vgrid *grid);
00138
00139
00153 int Vmgrid_curvature(Vmgrid *thee, double pt[3], int cflag,
00154 double *curv);
00155
00164 int Vmgrid_gradient(Vmgrid *thee, double pt[3], double grad[3] );
00165
00173 Vgrid* Vmgrid_getGridByNum(Vmgrid *thee, int num);
00174
00182 Vgrid* Vmgrid_getGridByPoint(Vmgrid *thee, double pt[3]);
00183
00184 #endif
00185
00186