| 170 | |
| 171 | |
| 172 | bool AssignFilter::processOne(PointRef& point) |
| 173 | { |
| 174 | if (m_args->m_condition.m_id != Dimension::Id::Unknown) |
| 175 | { |
| 176 | double condVal = point.getFieldAs<double>(m_args->m_condition.m_id); |
| 177 | if (!m_args->m_condition.valuePasses(condVal)) |
| 178 | return true; |
| 179 | } |
| 180 | for (AssignRange& r : m_args->m_assignments) |
| 181 | if (r.valuePasses(point.getFieldAs<double>(r.m_id))) |
| 182 | point.setField(r.m_id, r.m_value); |
| 183 | for (expr::AssignStatement& expr : m_args->m_statements) |
| 184 | if (expr.conditionalExpr().eval(point)) |
| 185 | point.setField(expr.identExpr().eval(), expr.valueExpr().eval(point)); |
| 186 | |
| 187 | return true; |
| 188 | } |
| 189 | |
| 190 | |
| 191 | void AssignFilter::filter(PointView& view) |
nothing calls this directly
no test coverage detected