Ignore:
Timestamp:
04/08/16 15:00:29 (8 years ago)
Author:
mhnguyen
Message:

Exposing some functions to Fortran interface

+) Allow add axis and domain into grid with Fortran interface
+) Remove some redundant code

Test
+) On Curie
+) test_client passes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/node/grid.cpp

    r834 r835  
    3232      , transformations_(0), isTransformed_(false) 
    3333      , axisPositionInGrid_(), positionDimensionDistributed_(1), hasDomainAxisBaseRef_(false) 
    34       , gridSrc_(), hasTransform_(false) 
     34      , gridSrc_(), hasTransform_(false), order_() 
    3535   { 
    3636     setVirtualDomainGroup(); 
     
    4747      , transformations_(0), isTransformed_(false) 
    4848      , axisPositionInGrid_(), positionDimensionDistributed_(1), hasDomainAxisBaseRef_(false) 
    49       , gridSrc_(), hasTransform_(false) 
     49      , gridSrc_(), hasTransform_(false), order_() 
    5050   { 
    5151     setVirtualDomainGroup(); 
     
    11451145   CDomain* CGrid::addDomain(const std::string& id) 
    11461146   { 
     1147     order_.push_back(true); 
     1148     axis_domain_order.resize(order_.size()); 
     1149     for (int idx = 0; idx < order_.size(); ++idx) axis_domain_order(idx)=order_[idx]; 
    11471150     return vDomainGroup_->createChild(id); 
    11481151   } 
     
    11501153   CAxis* CGrid::addAxis(const std::string& id) 
    11511154   { 
     1155     order_.push_back(false); 
     1156     axis_domain_order.resize(order_.size()); 
     1157     for (int idx = 0; idx < order_.size(); ++idx) axis_domain_order(idx)=order_[idx]; 
    11521158     return vAxisGroup_->createChild(id); 
    11531159   } 
     
    15391545    SuperClass::parse(node); 
    15401546 
    1541     // List order of axis and domain in a grid, if there is a domain, it will take value 1 (true), axis 0 (false) 
    1542     std::vector<bool> order; 
    1543  
    15441547    if (node.goToChildElement()) 
    15451548    { 
     
    15491552      { 
    15501553        if (node.getElementName() == domainName) { 
    1551           order.push_back(true); 
     1554          order_.push_back(true); 
    15521555          this->getVirtualDomainGroup()->parseChild(node); 
    15531556        } 
    15541557        if (node.getElementName() == axisName) { 
    1555           order.push_back(false); 
     1558          order_.push_back(false); 
    15561559          this->getVirtualAxisGroup()->parseChild(node); 
    15571560        } 
     
    15601563    } 
    15611564 
    1562     if (!order.empty()) 
    1563     { 
    1564       int sizeOrd = order.size(); 
     1565    if (!order_.empty()) 
     1566    { 
     1567      int sizeOrd = order_.size(); 
    15651568      axis_domain_order.resize(sizeOrd); 
    15661569      for (int i = 0; i < sizeOrd; ++i) 
    15671570      { 
    1568         axis_domain_order(i) = order[i]; 
     1571        axis_domain_order(i) = order_[i]; 
    15691572      } 
    15701573    } 
Note: See TracChangeset for help on using the changeset viewer.