00001
00060 #ifndef _VMGRID_H_
00061 #define _VMGRID_H_
00062
00063
00064 #include "maloc/maloc.h"
00065 #include "apbs/vhal.h"
00066
00067
00068 #include "apbs/vgrid.h"
00069
00073 #define VMGRIDMAX 20
00074
00075
00081 struct sVmgrid {
00082
00083 int ngrids;
00084 Vgrid *grids[VMGRIDMAX];
00089 };
00090
00095 typedef struct sVmgrid Vmgrid;
00096
00102 Vmgrid* Vmgrid_ctor();
00103
00110 int Vmgrid_ctor2(Vmgrid *thee);
00111
00120 int Vmgrid_value(Vmgrid *thee, double x[3], double *value);
00121
00127 void Vmgrid_dtor(Vmgrid **thee);
00128
00134 void Vmgrid_dtor2(Vmgrid *thee);
00135
00148 int Vmgrid_addGrid(Vmgrid *thee, Vgrid *grid);
00149
00150
00164 int Vmgrid_curvature(Vmgrid *thee, double pt[3], int cflag,
00165 double *curv);
00166
00175 int Vmgrid_gradient(Vmgrid *thee, double pt[3], double grad[3] );
00176
00184 Vgrid* Vmgrid_getGridByNum(Vmgrid *thee, int num);
00185
00193 Vgrid* Vmgrid_getGridByPoint(Vmgrid *thee, double pt[3]);
00194
00195 #endif
00196
00197