TAPs 0.7.7.3
TAPsCUDA_DataPool.cu File Reference
Include dependency graph for TAPsCUDA_DataPool.cu:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DATA_Pool
 This class collects all of CUDA data into one place. More...

Defines

#define TAPs_CUDA_DATA_POOL_HPP

Functions

bool AddToGlobal_Pool_Of_DATA_Vertex_List (DATA_Vertex_List *dataObj)
 Add Vertex List Data Object to the CUDA Global Data Pool.
bool AddToGlobal_Pool_Of_DATA_Vertex_ListPLHM (DATA_Vertex_ListPLHM *dataObj)
 Remove Vertex List Data Object from the CUDA Global Data Pool.

Variables

DATA_Pool DATA_GlobalPool
 CUDA Global Data Pool.

Define Documentation

#define TAPs_CUDA_DATA_POOL_HPP

Definition at line 16 of file TAPsCUDA_DataPool.cu.


Function Documentation

bool AddToGlobal_Pool_Of_DATA_Vertex_List ( DATA_Vertex_List dataObj)

Add Vertex List Data Object to the CUDA Global Data Pool.

Definition at line 17 of file TAPsCUDA_DataPool_Def.cu.

References DATA_GlobalPool, DATA_Pool::DataForVertexList, DATA_Pool::SizeOfGlobal_Pool, and DATA_Pool::SizeOfGlobal_PoolPLHM.

Referenced by InitailizeDataForElasticRodModel(), InitailizeDataForSutureModel(), InitailizeDataForSutureModel_ADVSIM(), and InitailizeDataForVertexList().

{
    //printf( "AddToGlobal_Pool_Of_DATA_Vertex_List\n" );
    //fflush( stdout );

    unsigned int current_size = DATA_GlobalPool.SizeOfGlobal_Pool;
    if ( current_size == 0 ) {
        // SHOULD NEVER REACHED THIS!!!
        DATA_GlobalPool.DataForVertexList = new DATA_Vertex_List * [ ++DATA_GlobalPool.SizeOfGlobal_Pool ];
    }
    else {
        DATA_Vertex_List ** old_list = DATA_GlobalPool.DataForVertexList;
        DATA_GlobalPool.DataForVertexList = new DATA_Vertex_List * [ ++DATA_GlobalPool.SizeOfGlobal_Pool ];
        for ( unsigned int i = 0; i < current_size; ++i ) {
            DATA_GlobalPool.DataForVertexList[ i ] = old_list[ i ];
        }
        delete [] old_list;
    }
    DATA_GlobalPool.DataForVertexList[ current_size ] = dataObj;
    
    // DEBUG
    printf( "Add vetex list set -- SizeOfGlobal_Pool (and with PLHM): %i %i\n", DATA_GlobalPool.SizeOfGlobal_Pool, DATA_GlobalPool.SizeOfGlobal_PoolPLHM );

    return true;
}

Here is the caller graph for this function:

bool AddToGlobal_Pool_Of_DATA_Vertex_ListPLHM ( DATA_Vertex_ListPLHM dataObj)

Remove Vertex List Data Object from the CUDA Global Data Pool.

Add Vertex List (PLHM) Data Object to the CUDA Global Data Pool

Definition at line 52 of file TAPsCUDA_DataPool_Def.cu.

References DATA_GlobalPool, DATA_Pool::DataForVertexListPLHM, DATA_Pool::SizeOfGlobal_Pool, and DATA_Pool::SizeOfGlobal_PoolPLHM.

Referenced by InitailizeDataForPLHMElasticRodModel().

{
    unsigned int current_size = DATA_GlobalPool.SizeOfGlobal_PoolPLHM;
    if ( current_size == 0 ) {
        // SHOULD NEVER REACHED THIS!!!
        DATA_GlobalPool.DataForVertexListPLHM = new DATA_Vertex_ListPLHM * [ ++DATA_GlobalPool.SizeOfGlobal_PoolPLHM ];
    }
    else {
        DATA_Vertex_ListPLHM ** old_list = DATA_GlobalPool.DataForVertexListPLHM;
        DATA_GlobalPool.DataForVertexListPLHM = new DATA_Vertex_ListPLHM * [ ++DATA_GlobalPool.SizeOfGlobal_PoolPLHM ];
        for ( unsigned int i = 0; i < current_size; ++i ) {
            DATA_GlobalPool.DataForVertexListPLHM[ i ] = old_list[ i ];
        }
        delete [] old_list;
    }
    DATA_GlobalPool.DataForVertexListPLHM[ current_size ] = dataObj;
    
    // DEBUG
    printf( "Add vetex list (PLHM) set -- SizeOfGlobal_Pool (and with PLHM): %i %i\n", DATA_GlobalPool.SizeOfGlobal_Pool, DATA_GlobalPool.SizeOfGlobal_PoolPLHM );
    
    return true;
}

Here is the caller graph for this function:


Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines