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

Go to the source code of this file.

Functions

BEGIN_NAMESPACE_TAPs__CUDA 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.

Function Documentation

BEGIN_NAMESPACE_TAPs__CUDA 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:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines