Changeset 1001 for XIOS/trunk
- Timestamp:
- 11/22/16 16:58:55 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/parse_expr/filter_expr_node.cpp
r998 r1001 40 40 boost::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 41 41 { 42 if (fieldId == "this") return thisField.getSelfTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op); 43 44 if (!CField::has(fieldId)) 42 boost::shared_ptr<COutputPin> outputPin; 43 44 if (fieldId == "this") 45 outputPin = thisField.getSelfTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op); 46 else if (CField::has(fieldId)) 47 { 48 CField* field = CField::get(fieldId); 49 if (field == &thisField) 50 ERROR("boost::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const", 51 << "The field " << fieldId << " has an invalid reference to itself. " 52 << "Use the keyword \"this\" if you want to reference the input data sent to this field."); 53 54 field->buildFilterGraph(gc, false); 55 outputPin = field->getTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op); 56 } 57 else 45 58 ERROR("boost::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const", 46 59 << "The field " << fieldId << " does not exist."); 47 60 48 49 CField* field = CField::get(fieldId); 50 if (field == &thisField) 51 ERROR("boost::shared_ptr<COutputPin> CFilterFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const", 52 << "The field " << fieldId << " has an invalid reference to itself."); 53 54 field->buildFilterGraph(gc, false); 55 return field->getTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op); 61 return outputPin; 56 62 } 57 63
Note: See TracChangeset
for help on using the changeset viewer.