Changeset 641
- Timestamp:
- 07/17/15 13:58:13 (9 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/field.cpp
r640 r641 18 18 #include "store_filter.hpp" 19 19 #include "file_writer_filter.hpp" 20 #include "pass_through_filter.hpp" 20 21 21 22 namespace xios{ … … 609 610 return(this->last_operation); 610 611 } 612 613 //---------------------------------------------------------------- 614 615 boost::shared_ptr<COutputPin> CField::getInstantDataFilter() 616 { 617 return instantDataFilter; 618 } 619 620 //---------------------------------------------------------------- 611 621 612 622 void CField::solveAllReferenceEnabledField(bool doSending2Sever) … … 759 769 void CField::buildFilterGraph(CGarbageCollector& gc, bool enableOutput) 760 770 { 771 if (!areAllReferenceSolved) solveAllReferenceEnabledField(false); 772 761 773 // Start by building a filter which can provide the field's instant data 762 774 if (!instantDataFilter) 763 775 { 776 // Check if we have a reference on another field 777 if (!field_ref.isEmpty()) 778 { 779 boost::shared_ptr<CPassThroughFilter> passThroughFilter(new CPassThroughFilter(gc)); 780 instantDataFilter = passThroughFilter; 781 CField* fieldRef = CField::get(field_ref); 782 fieldRef->buildFilterGraph(gc, false); 783 fieldRef->getInstantDataFilter()->connectOutput(passThroughFilter, 0); 784 } 764 785 // Check if the data is to be read from a file 765 if (file && !file->mode.isEmpty() && file->mode == CFile::mode_attr::read)786 else if (file && !file->mode.isEmpty() && file->mode == CFile::mode_attr::read) 766 787 instantDataFilter = serverSourceFilter = boost::shared_ptr<CSourceFilter>(new CSourceFilter(grid)); 767 788 else // The data might be passed from the model -
XIOS/trunk/src/node/field.hpp
r640 r641 93 93 template <int N> void getData(CArray<double, N>& _data) const; 94 94 95 boost::shared_ptr<COutputPin> getInstantDataFilter(); 95 96 96 97 /// Mutateur ///
Note: See TracChangeset
for help on using the changeset viewer.