- Timestamp:
- 06/04/21 11:54:38 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/filter/pass_through_filter.cpp
r641 r2143 1 1 #include "pass_through_filter.hpp" 2 #include "workflow_graph.hpp" 3 #include <algorithm> 2 4 3 5 namespace xios … … 9 11 CDataPacketPtr CPassThroughFilter::apply(std::vector<CDataPacketPtr> data) 10 12 { 13 buildWorkflowGraph(data); 11 14 return data[0]; 12 15 } 16 17 void CPassThroughFilter::buildWorkflowGraph(std::vector<CDataPacketPtr> data) 18 { 19 if(this->graphEnabled) 20 { 21 if(data[0]->graphPackage && data[0]->graphPackage->currentField->getId() == this->graphPackage->inFields[0]->getId()) 22 { 23 std::cout<<"PASS THROUGH FILTER OMITTED "<<this<<std::endl; 24 return; 25 } 26 this->graphPackage->filterId = CWorkflowGraph::getNodeSize(); 27 28 if(!data[0]->graphPackage) 29 { 30 data[0]->graphPackage = new CGraphDataPackage; 31 data[0]->graphPackage->fromFilter = -1; 32 data[0]->graphPackage->currentField = this->graphPackage->inFields[0]; 33 } 34 35 for(int i=0; i<this->graphPackage->filterId; i++) 36 { 37 if(CXios::isClient 38 && (*CWorkflowGraph::vectorOfNodes_)[i].label_field_id == this->label_field_id 39 && (*CWorkflowGraph::vectorOfNodes_)[i].timestamp == data[0]->timestamp 40 && (*CWorkflowGraph::vectorOfNodes_)[i].filter_name == "Pass through filter" ) 41 { 42 data[0]->graphPackage->fromFilter = i; 43 return; 44 } 45 } 46 47 CWorkflowGraph::addNode("Pass through filter", 2, false, 1, data[0]); 48 if(CXios::isClient) (*CWorkflowGraph::vectorOfNodes_)[this->graphPackage->filterId].label_field_id = this->label_field_id; 49 CWorkflowGraph::addEdge(data[0]->graphPackage->fromFilter, this->graphPackage->filterId, data[0]); 50 51 data[0]->graphPackage->currentField = this->graphPackage->inFields[0]; 52 std::rotate(this->graphPackage->inFields.begin(), this->graphPackage->inFields.begin() + 1, this->graphPackage->inFields.end()); 53 54 data[0]->graphPackage->fromFilter = this->graphPackage->filterId; 55 56 } 57 } 58 59 13 60 } // namespace xios
Note: See TracChangeset
for help on using the changeset viewer.