8#ifndef GPU_RESOURCE_MANAGER_H
9#define GPU_RESOURCE_MANAGER_H
21 return strcmp(
s1,
s2) < 0;
30 const char *getName();
39 GPUUsg(
const char *
name,
int numElem,
int numConn,
40 int numCoord,
int *elemList,
int *typeList,
41 int *connList,
float *vertices,
int numElemM,
int numConnM,
int numCoordM);
112 const int numElem,
const int numConn,
const int numCoord,
113 const int *typeList,
const int *elemList,
const int *connList,
114 const float *
x,
const float *
y,
const float *
z,
115 const int numElemM = 0,
const int numConnM = 0,
const int numCoordM = 0);
117 GPUScalar *addScalar(
const char *
name,
const int numElem,
const float *
data,
const int numElemM);
118 GPUVector *addVector(
const char *
name,
const int numElem,
const float *u,
const float *
v,
const float *
w,
const int numElemM);
119 void deleteObject(
const char *
name);
135 const int numElem,
const int numConn,
136 const int numCoord,
const int *typeList,
137 const int *elemList,
const int *connList,
138 const float *
x,
const float *
y,
const float *
z,
139 const int numElemM = 0,
const int numConnM = 0,
140 const int numCoordM = 0) = 0;
142 virtual GPUScalar *allocScalar(
const char *
name,
const int numElem,
143 const float *
data,
const int numElemM = 0) = 0;
145 const float *u,
const float *
v,
const float *
w,
const int numElemM = 0) = 0;
147 virtual void deallocUSG(
GPUUsg *usg) = 0;
148 virtual void deallocScalar(
GPUScalar *scalar) = 0;
#define GPUEXPORT
Definition: coExport.h:111
GLsizei const GLchar *const * string
Definition: khronos-glext.h:6750
GLdouble GLdouble z
Definition: khronos-glext.h:6565
const GLdouble * v
Definition: khronos-glext.h:6442
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat s1
Definition: khronos-glext.h:13144
GLint GLint GLint GLint GLint GLint y
Definition: khronos-glext.h:6346
GLuint const GLchar * name
Definition: khronos-glext.h:6722
GLubyte GLubyte GLubyte GLubyte w
Definition: khronos-glext.h:6793
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: khronos-glext.h:6354
GLint GLint GLint GLint GLint x
Definition: khronos-glext.h:6346
static const int s2
Definition: SammConv.cpp:38
Definition: GPUResourceManager.h:18
bool operator()(const char *s1, const char *s2) const
Definition: GPUResourceManager.h:19
Definition: GPUResourceManager.h:26
std::string name
Definition: GPUResourceManager.h:33
Definition: GPUResourceManager.h:37
virtual ~GPUUsg()
Definition: GPUResourceManager.h:43
int numCoord
Definition: GPUResourceManager.h:60
int numElemM
Definition: GPUResourceManager.h:67
int numCoordM
Definition: GPUResourceManager.h:69
float * vertices
Definition: GPUResourceManager.h:65
int * typeList
Definition: GPUResourceManager.h:62
int numConnM
Definition: GPUResourceManager.h:68
int * elemList
Definition: GPUResourceManager.h:63
int * connList
Definition: GPUResourceManager.h:64
int numConn
Definition: GPUResourceManager.h:59
int numElem
Definition: GPUResourceManager.h:58
Definition: GPUResourceManager.h:73
virtual ~GPUScalar()
Definition: GPUResourceManager.h:77
int numElem
Definition: GPUResourceManager.h:85
float * data
Definition: GPUResourceManager.h:86
int numElemM
Definition: GPUResourceManager.h:87
Definition: GPUResourceManager.h:91
int numElem
Definition: GPUResourceManager.h:103
virtual ~GPUVector()
Definition: GPUResourceManager.h:95
float * data
Definition: GPUResourceManager.h:104
int numElemM
Definition: GPUResourceManager.h:105
Definition: GPUResourceManager.h:109
virtual void deallocVector(GPUVector *vector)=0
std::map< std::string, int > refCount
Definition: GPUResourceManager.h:152
virtual GPUVector * allocVector(const char *name, const int numElem, const float *u, const float *v, const float *w, const int numElemM=0)=0
std::map< void *, void * > pointers
Definition: GPUResourceManager.h:154
std::map< std::string, GPUObject * > objects
Definition: GPUResourceManager.h:151
GPUResourceManager(const GPUResourceManager &)