Ignore:
Timestamp:
05/02/17 16:20:47 (7 years ago)
Author:
yushan
Message:

test_omp OK

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan/src/node/mesh.cpp

    r1053 r1109  
    3434  std::map <StdString, vector<int> > CMesh::domainList = std::map <StdString, vector<int> >(); 
    3535 
     36  std::map <StdString, CMesh> *CMesh::meshList_ptr = 0; 
     37  std::map <StdString, vector<int> > *CMesh::domainList_ptr = 0; 
     38 
     39 
    3640///--------------------------------------------------------------- 
    3741/*! 
     
    4145 * \param [in] nvertex Number of verteces (1 for nodes, 2 for edges, 3 and up for faces). 
    4246 */ 
     47 
     48/* bkp 
    4349  CMesh* CMesh::getMesh (StdString meshName, int nvertex) 
    4450  { 
     
    6470      CMesh::meshList.insert( make_pair(meshName, newMesh) ); 
    6571      return &meshList[meshName]; 
     72    } 
     73  } 
     74*/ 
     75 
     76  CMesh* CMesh::getMesh (StdString meshName, int nvertex) 
     77  { 
     78    if(CMesh::domainList_ptr == NULL) CMesh::domainList_ptr = new std::map <StdString, vector<int> >(); 
     79    if(CMesh::meshList_ptr == NULL)   CMesh::meshList_ptr   = new std::map <StdString, CMesh>(); 
     80 
     81    (*CMesh::domainList_ptr)[meshName].push_back(nvertex); 
     82 
     83    if ( (*CMesh::meshList_ptr).begin() != (*CMesh::meshList_ptr).end() ) 
     84    { 
     85      for (std::map<StdString, CMesh>::iterator it=(*CMesh::meshList_ptr).begin(); it!=(*CMesh::meshList_ptr).end(); ++it) 
     86      { 
     87        if (it->first == meshName) 
     88          return &((*CMesh::meshList_ptr)[meshName]); 
     89        else 
     90        { 
     91          CMesh newMesh; 
     92          (*CMesh::meshList_ptr).insert( make_pair(meshName, newMesh) ); 
     93          return &((*CMesh::meshList_ptr)[meshName]); 
     94        } 
     95      } 
     96    } 
     97    else 
     98    { 
     99      CMesh newMesh; 
     100      (*CMesh::meshList_ptr).insert( make_pair(meshName, newMesh) ); 
     101      return &((*CMesh::meshList_ptr)[meshName]); 
    66102    } 
    67103  } 
Note: See TracChangeset for help on using the changeset viewer.