00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef CUDAQUICKSURF_H
00021 #define CUDAQUICKSURF_H
00022
00023 class VMDDisplayList;
00024
00025 class CUDAQuickSurf {
00026 void *voidgpu;
00027
00028 public:
00029 CUDAQuickSurf(void);
00030
00031 int free_bufs(void);
00032
00033 int check_bufs(long int natoms, int colorperatom,
00034 int gx, int gy, int gz);
00035
00036 int alloc_bufs(long int natoms, int colorperatom,
00037 int gx, int gy, int gz);
00038
00039 int get_chunk_bufs(int testexisting,
00040 long int natoms, int colorperatom,
00041 int gx, int gy, int gz,
00042 int &cx, int &cy, int &cz,
00043 int &sx, int &sy, int &sz);
00044
00045 int calc_surf(long int natoms, const float *xyzr, const float *colors,
00046 int colorperatom, float *origin, int* numvoxels, float maxrad,
00047 float radscale, float gridspacing,
00048 float isovalue, float gausslim,
00049 VMDDisplayList *cmdList);
00050
00051 ~CUDAQuickSurf(void);
00052 };
00053
00054 #endif
00055