コード例 #1
0
ファイル: grid.cpp プロジェクト: 52North/IlwisCore
char *Grid::blockAsMemory(quint32 block) {
    if ( _blocks[block]->inMemory() ) { // no load needed
        GridBlockInternal *du = _blocks[block];
        char * p = du->blockAsMemory();
        return p;
    }
    Locker<> lock(_mutex);
    if(!update(block, true))
        return 0;
    GridBlockInternal *du = _blocks[block];
    char * p = du->blockAsMemory();
    return p;
}
コード例 #2
0
ファイル: grid.cpp プロジェクト: ridoo/IlwisCore
char *Grid::blockAsMemory(quint32 block, bool creation) {
    if ( _allInMemory) { // no cache case
        GridBlockInternal *du = _blocks[block];
        char * p = du->blockAsMemory();
        return p;
    }
    Locker<> lock(_mutex);
    if(!update(block, creation))
        return 0;
    GridBlockInternal *du = _blocks[_cache[block]];
    char * p = du->blockAsMemory();
    return p;

}