Changeset 1984 for XIOS/dev/dev_ym/XIOS_COUPLING/src/node/field.cpp
- Timestamp:
- 12/06/20 22:14:56 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/field.cpp
r1973 r1984 766 766 767 767 CGrid* gridSrc=getDirectFieldReference()->getGrid() ; 768 std::shared_ptr<COutputPin> lastFilter ; 769 if (filterExpr) lastFilter=filterExpr ; 770 else lastFilter = inputFilter ; 771 CGrid* newGrid ; 772 768 773 for(auto grid : gridPath) 769 774 { 770 775 grid->solveElementsRefInheritance() ; 776 777 // new 778 779 std::pair<std::shared_ptr<CFilter>, std::shared_ptr<CFilter> > filters = grid->buildTransformationGraph(gc, gridSrc, detectMissingValues, defaultValue, newGrid) ; 780 lastFilter->connectOutput(filters.first, 0); 781 lastFilter = filters.second; 782 gridSrc = newGrid ; 783 784 // end new 785 /* 771 786 grid->completeGrid(gridSrc); // grid generation, to be checked 772 787 grid->checkElementsAttributes() ; … … 775 790 if (!CField::get(fieldId)->buildWorkflowGraph(gc)) return false ; 776 791 gridSrc=grid ; 777 } 778 792 */ 793 } 794 795 /* 779 796 std::shared_ptr<COutputPin> lastFilter ; 780 797 if (filterExpr) lastFilter=filterExpr ; … … 793 810 } 794 811 } 812 */ 813 grid_=newGrid ; 814 grid_ref=grid_->getId() ; // for server 795 815 instantDataFilter = lastFilter ; 796 816 … … 824 844 825 845 grid_->solveElementsRefInheritance() ; 826 grid_->completeGrid(); // grid generation, to be checked 846 CGrid* newGrid ; 847 std::pair<std::shared_ptr<CFilter>, std::shared_ptr<CFilter> > filters = grid_->buildTransformationGraph(gc, nullptr, detectMissingValues, defaultValue, newGrid) ; 848 grid_ = newGrid ; 849 grid_ref=grid_->getId() ; // for server 850 // grid_->completeGrid(); // grid generation, to be checked => later 827 851 grid_->checkElementsAttributes() ; 828 852 instantDataFilter=inputFilter ; … … 1603 1627 CContext::getCurrent()->sendContextToFileServer(client); 1604 1628 getRelFile()->sendFileToFileServer(client); 1605 grid_->sendGridToFileServer(client); 1629 sentGrid_ = grid_-> duplicateSentGrid() ; 1630 sentGrid_->sendGridToFileServer(client); 1631 name = getFieldOutputName() ; 1606 1632 this->sendAllAttributesToServer(client); 1607 1633 this->sendAddAllVariables(client); … … 1697 1723 if (grid_ref.isEmpty()) 1698 1724 { 1699 grid_ref= grid_->getId() ;1725 grid_ref=sentGrid_->getId() ; 1700 1726 SuperClass::sendAllAttributesToServer(client) ; 1701 1727 domain_ref.reset() ; … … 1704 1730 grid_ref.reset(); 1705 1731 } 1706 else SuperClass::sendAllAttributesToServer(client) ; 1732 else 1733 { 1734 string tmp = grid_ref; 1735 grid_ref = sentGrid_->getId() ; 1736 SuperClass::sendAllAttributesToServer(client) ; 1737 grid_ref = tmp ; 1738 } 1707 1739 } 1708 1740 CATCH_DUMP_ATTR
Note: See TracChangeset
for help on using the changeset viewer.