- Timestamp:
- 06/25/19 16:14:54 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.cpp
r1671 r1677 54 54 { 55 55 filter->connectOutput(firstFilter, 0); 56 if (buildWorkflowGraph)57 {58 if(CWorkflowGraph::mapFilters_ptr==0) CWorkflowGraph::mapFilters_ptr = new std::unordered_map <int, StdString>;59 if(CWorkflowGraph::mapFieldToFilters_ptr==0) CWorkflowGraph::mapFieldToFilters_ptr = new std::unordered_map <StdString, vector <int> >;60 int filterOut = (std::static_pointer_cast<COutputPin>(filter))->getFilterId();61 int filterIn = (std::static_pointer_cast<COutputPin>(firstFilter))->getFilterId();62 // PASS field's id here63 (*CWorkflowGraph::mapFieldToFilters_ptr)["XXX"].push_back(filterOut);64 (*CWorkflowGraph::mapFieldToFilters_ptr)["XXX"].push_back(filterIn);65 (*CWorkflowGraph::mapFilters_ptr)[filterOut] = "Spatial transform filter";66 (*CWorkflowGraph::mapFilters_ptr)[filterIn] = "Spatial transform filter";67 std::cout<<"CSpatialTransformFilter::CSpatialTransformFilter CWorkflowGraph::mapFieldToFilters_ptr->size = "<<CWorkflowGraph::mapFieldToFilters_ptr->size()<<std::endl;68 }69 56 } 70 57 … … 86 73 void CSpatialTransformFilter::onInputReady(std::vector<CDataPacketPtr> data) 87 74 { 75 // if(CXios::isClient) std::cout<<"CSpatialTransformFilter onInputReady"<<std::endl; 76 88 77 CSpatialTransformFilterEngine* spaceFilter = static_cast<CSpatialTransformFilterEngine*>(engine); 89 CDataPacketPtr outputPacket = spaceFilter->applyFilter(data, outputDefaultValue );78 CDataPacketPtr outputPacket = spaceFilter->applyFilter(data, outputDefaultValue, this->tag, this->output_field_id); 90 79 if (outputPacket) 80 { 81 // std::cout<<"Spatial Transform Filter onOutputReady"<<std::endl; 91 82 onOutputReady(outputPacket); 83 } 92 84 } 93 85 … … 120 112 void CSpatialTemporalFilter::onInputReady(std::vector<CDataPacketPtr> data) 121 113 { 114 if(CXios::isClient) std::cout<<"CSpatialTemporalFilter onInputReady"<<std::endl; 115 122 116 CSpatialTransformFilterEngine* spaceFilter = static_cast<CSpatialTransformFilterEngine*>(engine); 123 CDataPacketPtr outputPacket = spaceFilter->applyFilter(data, outputDefaultValue );117 CDataPacketPtr outputPacket = spaceFilter->applyFilter(data, outputDefaultValue, this->tag, this->output_field_id); 124 118 125 119 if (outputPacket) … … 146 140 packet->data.resize(tmpData.numElements()); 147 141 packet->data = tmpData; 142 std::cout<<"Spatial temporal filter onOutputReady"<<std::endl; 148 143 onOutputReady(packet); 149 144 tmpData.resize(0) ; … … 187 182 } 188 183 189 CDataPacketPtr CSpatialTransformFilterEngine::applyFilter(std::vector<CDataPacketPtr> data, double defaultValue) 190 { 184 CDataPacketPtr CSpatialTransformFilterEngine::applyFilter(std::vector<CDataPacketPtr> data, double defaultValue, int tag, StdString fieldID) 185 { 186 if(tag) 187 { 188 this->filterID = InvalidableObject::filterIdGenerator++; 189 190 std::cout<<"CSpatialTransformFilter::apply filter tag = "<<tag<<std::endl; 191 192 193 if(CWorkflowGraph::mapFilters_ptr==0) CWorkflowGraph::mapFilters_ptr = new std::unordered_map <int, StdString>; 194 195 (*CWorkflowGraph::mapFilters_ptr)[this->filterID] = "Spatial Transform Filter"; 196 197 if(CWorkflowGraph::mapFieldToFilters_ptr==0) CWorkflowGraph::mapFieldToFilters_ptr = new std::unordered_map <StdString, vector <int> >; 198 199 StdString str = data[0]->fieldID + " ts=" + to_string(data[0]->timestamp); 200 (*CWorkflowGraph::mapFieldToFilters_ptr)[str].push_back(data[0]->src_filterID); 201 (*CWorkflowGraph::mapFieldToFilters_ptr)[str].push_back(this->filterID); 202 } 203 204 191 205 CDataPacketPtr packet(new CDataPacket); 192 206 packet->date = data[0]->date; … … 207 221 apply(data[0]->data, packet->data); 208 222 } 223 224 if(tag) packet->src_filterID=this->filterID; 225 packet->fieldID=fieldID; 209 226 210 227 return packet;
Note: See TracChangeset
for help on using the changeset viewer.