- Timestamp:
- 06/06/17 17:58:16 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/filter/spatial_transform_filter.cpp
r1021 r1158 11 11 12 12 std::pair<boost::shared_ptr<CSpatialTransformFilter>, boost::shared_ptr<CSpatialTransformFilter> > 13 CSpatialTransformFilter::buildFilterGraph(CGarbageCollector& gc, CGrid* srcGrid, CGrid* destGrid, double defaultValue)13 CSpatialTransformFilter::buildFilterGraph(CGarbageCollector& gc, CGrid* srcGrid, CGrid* destGrid, bool hasMissingValue, double missingValue) 14 14 { 15 15 if (!srcGrid || !destGrid) … … 26 26 const std::vector<StdString>& auxInputs = gridTransformation->getAuxInputs(); 27 27 size_t inputCount = 1 + (auxInputs.empty() ? 0 : auxInputs.size()); 28 double defaultValue = (hasMissingValue) ? std::numeric_limits<double>::quiet_NaN() : 0.0; 28 29 boost::shared_ptr<CSpatialTransformFilter> filter(new CSpatialTransformFilter(gc, engine, defaultValue, inputCount)); 29 30 … … 103 104 } 104 105 packet->data.resize(gridTransformation->getGridDestination()->storeIndex_client.numElements()); 105 packet->data = defaultValue; 106 if (0 != packet->data.numElements()) 107 (packet->data)(0) = defaultValue; 106 108 apply(data[0]->data, packet->data); 107 109 } … … 115 117 116 118 // Get default value for output data 117 double defaultValue = 0.0; 118 if (0 != dataDest.numElements()) defaultValue = dataDest(0); 119 bool ignoreMissingValue = false; 120 double defaultValue = std::numeric_limits<double>::quiet_NaN(); 121 if (0 != dataDest.numElements()) ignoreMissingValue = NumTraits<double>::isnan(dataDest(0)); 119 122 120 123 const std::list<CGridTransformation::SendingIndexGridSourceMap>& listLocalIndexSend = gridTransformation->getLocalIndexToSendFromGridSource(); … … 191 194 else dataCurrentDest(i) = defaultValue; 192 195 193 std::vector<bool> localInitFlag(dataCurrentDest. size(), true);196 std::vector<bool> localInitFlag(dataCurrentDest.numElements(), true); 194 197 currentBuff = 0; 195 198 for (itRecv = itbRecv; itRecv != iteRecv; ++itRecv) … … 201 204 dataCurrentDest, 202 205 localInitFlag, 203 defaultValue);206 ignoreMissingValue); 204 207 205 208 currentBuff += countSize;
Note: See TracChangeset
for help on using the changeset viewer.