COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
GPUResourceManager Class Referenceabstract

#include <GPUResourceManager.h>

Inheritance diagram for GPUResourceManager:
Inheritance graph
[legend]

Public Member Functions

GPUUsgaddUSG (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)
 
GPUScalaraddScalar (const char *name, const int numElem, const float *data, const int numElemM)
 
GPUVectoraddVector (const char *name, const int numElem, const float *u, const float *v, const float *w, const int numElemM)
 
void deleteObject (const char *name)
 

Protected Member Functions

 GPUResourceManager ()
 
 GPUResourceManager (const GPUResourceManager &)
 
virtual ~GPUResourceManager ()=0
 

Private Member Functions

virtual GPUUsgallocUSG (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
 
virtual GPUScalarallocScalar (const char *name, const int numElem, const float *data, const int numElemM=0)=0
 
virtual GPUVectorallocVector (const char *name, const int numElem, const float *u, const float *v, const float *w, const int numElemM=0)=0
 
virtual void deallocUSG (GPUUsg *usg)=0
 
virtual void deallocScalar (GPUScalar *scalar)=0
 
virtual void deallocVector (GPUVector *vector)=0
 

Private Attributes

std::map< std::string,
GPUObject * > 
objects
 
std::map< std::string, int > refCount
 
std::map< void *, void * > pointers
 

Constructor & Destructor Documentation

GPUResourceManager::GPUResourceManager ( )
protected
GPUResourceManager::GPUResourceManager ( const GPUResourceManager )
protected
GPUResourceManager::~GPUResourceManager ( )
protectedpure virtual

Member Function Documentation

GPUScalar * GPUResourceManager::addScalar ( const char *  name,
const int  numElem,
const float *  data,
const int  numElemM 
)
GPUUsg * GPUResourceManager::addUSG ( 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 
)
GPUVector * GPUResourceManager::addVector ( const char *  name,
const int  numElem,
const float *  u,
const float *  v,
const float *  w,
const int  numElemM 
)
GPUScalar * GPUResourceManager::allocScalar ( const char *  name,
const int  numElem,
const float *  data,
const int  numElemM = 0 
)
privatepure virtual

Implemented in CUDAResourceManager.

GPUUsg * GPUResourceManager::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 
)
privatepure virtual

Implemented in CUDAResourceManager.

virtual GPUVector* GPUResourceManager::allocVector ( const char *  name,
const int  numElem,
const float *  u,
const float *  v,
const float *  w,
const int  numElemM = 0 
)
privatepure virtual

Implemented in CUDAResourceManager.

void GPUResourceManager::deallocScalar ( GPUScalar scalar)
privatepure virtual

Implemented in CUDAResourceManager.

void GPUResourceManager::deallocUSG ( GPUUsg usg)
privatepure virtual

Implemented in CUDAResourceManager.

virtual void GPUResourceManager::deallocVector ( GPUVector vector)
privatepure virtual

Implemented in CUDAResourceManager.

void GPUResourceManager::deleteObject ( const char *  name)

Member Data Documentation

std::map<std::string, GPUObject *> GPUResourceManager::objects
private
std::map<void *, void *> GPUResourceManager::pointers
private
std::map<std::string, int> GPUResourceManager::refCount
private

The documentation for this class was generated from the following files: