| 118 | } |
| 119 | |
| 120 | void ignoreClassBits(PointViewPtr input, PointViewPtr keep, |
| 121 | PointViewPtr ignore, PointClasses classbits) |
| 122 | { |
| 123 | using namespace Dimension; |
| 124 | |
| 125 | if (classbits.isNone()) |
| 126 | { |
| 127 | keep->append(*input); |
| 128 | } |
| 129 | else |
| 130 | { |
| 131 | for (PointId i = 0; i < input->size(); ++i) |
| 132 | { |
| 133 | uint8_t c = input->getFieldAs<uint8_t>(Id::Classification, i); |
| 134 | if (classbits.bits() & c) |
| 135 | ignore->appendPoint(*input, i); |
| 136 | else |
| 137 | keep->appendPoint(*input, i); |
| 138 | } |
| 139 | } |
| 140 | } |
| 141 | |
| 142 | void segmentLastReturns(PointViewPtr input, PointViewPtr last, |
| 143 | PointViewPtr other) |