Changeset 823 for XIOS/trunk/src/node/grid.cpp
- Timestamp:
- 02/16/16 10:14:23 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/grid.cpp
r821 r823 32 32 , transformations_(0), isTransformed_(false) 33 33 , axisPositionInGrid_(), positionDimensionDistributed_(1), hasDomainAxisBaseRef_(false) 34 , gridSrc_() 34 35 { 35 36 setVirtualDomainGroup(); … … 46 47 , transformations_(0), isTransformed_(false) 47 48 , axisPositionInGrid_(), positionDimensionDistributed_(1), hasDomainAxisBaseRef_(false) 49 , gridSrc_() 48 50 { 49 51 setVirtualDomainGroup(); … … 551 553 } 552 554 555 CGrid* CGrid::cloneGrid(const StdString& idNewGrid, CGrid* gridSrc) 556 { 557 std::vector<CAxis*> axisSrcTmp = gridSrc->getAxis(), axisSrc; 558 std::vector<CDomain*> domainSrcTmp = gridSrc->getDomains(), domainSrc; 559 for (int idx = 0; idx < axisSrcTmp.size(); ++idx) 560 { 561 CAxis* axis = CAxis::createAxis(); 562 axis->duplicateAttributes(axisSrcTmp[idx]); 563 axis->duplicateTransformation(axisSrcTmp[idx]); 564 axis->solveRefInheritance(true); 565 axis->solveInheritanceTransformation(); 566 axisSrc.push_back(axis); 567 } 568 569 for (int idx = 0; idx < domainSrcTmp.size(); ++idx) 570 { 571 CDomain* domain = CDomain::createDomain(); 572 domain->duplicateAttributes(domainSrcTmp[idx]); 573 domain->duplicateTransformation(domainSrcTmp[idx]); 574 domain->solveRefInheritance(true); 575 domain->solveInheritanceTransformation(); 576 domainSrc.push_back(domain); 577 } 578 579 CGrid* grid = CGrid::createGrid(idNewGrid, domainSrc, axisSrc, gridSrc->axis_domain_order); 580 581 return grid; 582 } 583 553 584 StdString CGrid::generateId(const std::vector<CDomain*>& domains, const std::vector<CAxis*>& axis, 554 585 const CArray<bool,1>& axisDomainOrder) … … 588 619 589 620 return id.str(); 621 } 622 623 StdString CGrid::generateId(const CGrid* gridSrc, const CGrid* gridDest) 624 { 625 StdString idSrc = gridSrc->getId(); 626 StdString idDest = gridDest->getId(); 627 628 std::ostringstream id; 629 id << idSrc << "__" << idDest; 630 631 return id.str(); 590 632 } 591 633 … … 1298 1340 } 1299 1341 1342 void CGrid::addTransGridSource(CGrid* gridSrc) 1343 { 1344 if (gridSrc_.end() == gridSrc_.find(gridSrc)) 1345 gridSrc_.insert(make_pair(gridSrc,make_pair(false,""))); 1346 } 1347 1348 std::map<CGrid*,std::pair<bool,StdString> >& CGrid::getTransGridSource() 1349 { 1350 return gridSrc_; 1351 } 1352 1300 1353 /*! 1301 1354 Complete all the necessary (and lacking) attributes of a grid
Note: See TracChangeset
for help on using the changeset viewer.