| 187 | |
| 188 | |
| 189 | MetadataNode DeltaKernel::dumpDetail(PointViewPtr& srcView, |
| 190 | PointViewPtr& candView, KD3Index& index, DimIndexMap& dims) |
| 191 | { |
| 192 | MetadataNode root; |
| 193 | |
| 194 | for (PointId id = 0; id < srcView->size(); ++id) |
| 195 | { |
| 196 | PointRef point = srcView->point(id); |
| 197 | PointId candId = index.neighbor(point); |
| 198 | |
| 199 | MetadataNode delta = root.add("delta"); |
| 200 | delta.add("i", id); |
| 201 | for (auto di = dims.begin(); di != dims.end(); ++di) |
| 202 | { |
| 203 | DimIndex& d = di->second; |
| 204 | double sv = srcView->getFieldAs<double>(d.m_srcId, id); |
| 205 | double cv = candView->getFieldAs<double>(d.m_candId, candId); |
| 206 | |
| 207 | delta.add(d.m_name, sv - cv); |
| 208 | } |
| 209 | } |
| 210 | return root; |
| 211 | } |
| 212 | |
| 213 | } // pdal |