COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
CUDAResourceManager.h
Go to the documentation of this file.
1 /* This file is part of COVISE.
2 
3  You can use it under the terms of the GNU Lesser General Public License
4  version 2.1 or later, see lgpl-2.1.txt.
5 
6  * License: LGPL 2+ */
7 
8 #ifndef CUDARESOURCEMANAGER_H
9 #define CUDARESOURCEMANAGER_H
10 
11 #include "GPUResourceManager.h"
12 
17 {
18 public:
19  static CUDAResourceManager *getInstance();
20  virtual ~CUDAResourceManager();
21 
22  /*
23  virtual GPUUsg *replaceUSG(GPUUsg *usg,
24  const int numElem, const int numConn,
25  const int numCoord, const int *typeList,
26  const int *elemList, const int *connList,
27  const float *x, const float *y, const float *z,
28  const int numElemM = 0, const int numConnM = 0,
29  const int numCoordM = 0);
30 */
31  virtual GPUUsg *allocUSG(const char *name,
32  const int numElem, const int numConn,
33  const int numCoord, const int *typeList,
34  const int *elemList, const int *connList,
35  const float *x, const float *y, const float *z,
36  const int numElemM = 0, const int numConnM = 0,
37  const int numCoordM = 0);
38 
39  virtual GPUScalar *allocScalar(const char *name, const int numElem,
40  const float *data, const int numElemM = 0);
41 
42  virtual GPUVector *allocVector(const char *name, const int numElem,
43  const float *u, const float *v, const float *w, const int numElemM = 0);
44 
45  virtual void deallocUSG(GPUUsg *usg);
46  virtual void deallocScalar(GPUScalar *scalar);
47  virtual void deallocVector(GPUVector *vector);
48 
49 private:
52 };
53 
54 #endif
Definition: CUDAResourceManager.h:16
GLuint const GLchar * name
Definition: khronos-glext.h:6722
Definition: GPUResourceManager.h:90
GLint GLint GLint GLint GLint GLint y
Definition: khronos-glext.h:6346
virtual void deallocVector(GPUVector *vector)=0
virtual GPUVector * allocVector(const char *name, const int numElem, const float *u, const float *v, const float *w, const int numElemM=0)=0
GLdouble GLdouble z
Definition: khronos-glext.h:6565
virtual void deallocUSG(GPUUsg *usg)=0
Definition: GPUResourceManager_dummy.cpp:22
#define GPUEXPORT
Definition: coExport.h:93
Definition: GPUResourceManager.h:36
GLint GLint GLint GLint GLint x
Definition: khronos-glext.h:6346
Definition: GPUResourceManager.h:108
const GLdouble * v
Definition: khronos-glext.h:6442
static CUDAResourceManager * instance
Definition: CUDAResourceManager.h:51
GLubyte GLubyte GLubyte GLubyte w
Definition: khronos-glext.h:6793
virtual GPUUsg * allocUSG(const char *name, const int numElem, const int numConn, const int numCoord, const int *typeList, const int *elemList, const int *connList, const float *x, const float *y, const float *z, const int numElemM=0, const int numConnM=0, const int numCoordM=0)=0
Definition: GPUResourceManager_dummy.cpp:10
virtual GPUScalar * allocScalar(const char *name, const int numElem, const float *data, const int numElemM=0)=0
Definition: GPUResourceManager_dummy.cpp:17
virtual void deallocScalar(GPUScalar *scalar)=0
Definition: GPUResourceManager_dummy.cpp:26
Definition: GPUResourceManager.h:72
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: khronos-glext.h:6354