| 59 | |
| 60 | |
| 61 | void Stage::splitView(const PointViewPtr& view, PointViewPtr& keep, PointViewPtr& skip) |
| 62 | { |
| 63 | const expr::ConditionalExpression *where = whereExpr(); |
| 64 | if (where) |
| 65 | { |
| 66 | PointView *k = keep.get(); |
| 67 | PointView *s = skip.get(); |
| 68 | for (PointRef p : *view) |
| 69 | { |
| 70 | PointView *active = where->eval(p) ? k : s; |
| 71 | active->appendPoint(*view, p.pointId()); |
| 72 | } |
| 73 | } |
| 74 | else |
| 75 | keep = view; |
| 76 | } |
| 77 | |
| 78 | |
| 79 | void Stage::addConditionalOptions(const Options& opts) |
no test coverage detected