Ignore:
Timestamp:
06/25/19 16:14:54 (5 years ago)
Author:
yushan
Message:

MARK: Dynamic workflow graph developement. Branch up to date with trunk @1663.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_omp/src/workflow_graph.cpp

    r1671 r1677  
    2929  TRY 
    3030  { 
    31     // Create a list of filters (graph nodes) 
    32     if(mapFilters_ptr==0) mapFilters_ptr = new std::unordered_map <int, StdString>; 
    33     if(mapFieldToFilters_ptr==0) mapFieldToFilters_ptr = new std::unordered_map <StdString, vector <int > >; 
    34     size_t filterIdx = 0; 
    35     filters.resize(mapFilters_ptr->size()); 
    36     for (auto it=mapFilters_ptr->begin(); it != mapFilters_ptr->end(); it++) 
     31     
     32    if(mapFilters_ptr==0 || mapFieldToFilters_ptr==0)  
     33      std::cout<<"No graph information provided"<<std::endl; 
     34 
     35    else // Create a list of filters (graph nodes) 
    3736    { 
    38       filters[it->first]=it->second; 
    39     } 
     37      size_t filterIdx = 0; 
     38      filters.resize(mapFilters_ptr->size()); 
     39      fieldsToFilters.clear(); 
     40      fields.clear(); 
     41      for (auto it=mapFilters_ptr->begin(); it != mapFilters_ptr->end(); it++) 
     42      { 
     43        filters[it->first]=it->second; 
     44      } 
    4045 
    41     // Create a list of fields and their filter connectivity (graph edges and edge-to-node connectivity) 
    42     for (auto it=mapFieldToFilters_ptr->begin(); it != mapFieldToFilters_ptr->end(); it++) 
    43     { 
    44       for (size_t i = 0; i < (it->second.size() - 1); i+=2) 
     46      // Create a list of fields and their filter connectivity (graph edges and edge-to-node connectivity) 
     47      for (auto it=mapFieldToFilters_ptr->begin(); it != mapFieldToFilters_ptr->end(); it++) 
    4548      { 
    46         fieldsToFilters.push_back(make_pair(it->second[i],it->second[i+1])); 
    47         fields.push_back(it->first); 
     49        for (size_t i = 0; i < (it->second.size() - 1); i+=2) 
     50        { 
     51          fieldsToFilters.push_back(make_pair(it->second[i],it->second[i+1])); 
     52          fields.push_back(it->first); 
     53        } 
    4854      } 
    4955    } 
Note: See TracChangeset for help on using the changeset viewer.