| 88 | } |
| 89 | |
| 90 | PointViewSet CpdFilter::run(PointViewPtr view) |
| 91 | { |
| 92 | PointViewSet viewSet; |
| 93 | if (this->m_complete) |
| 94 | { |
| 95 | throw pdal_error( |
| 96 | "filters.cpd must have two point view inputs, no more, no less"); |
| 97 | } |
| 98 | else if (this->m_fixed) |
| 99 | { |
| 100 | log()->get(LogLevel::Debug2) << "Adding moving points\n"; |
| 101 | PointViewPtr result = this->change(this->m_fixed, view); |
| 102 | viewSet.insert(result); |
| 103 | this->m_complete = true; |
| 104 | log()->get(LogLevel::Debug2) << "filters.cpd complete\n"; |
| 105 | } |
| 106 | else |
| 107 | { |
| 108 | log()->get(LogLevel::Debug2) << "Adding fixed points\n"; |
| 109 | this->m_fixed = view; |
| 110 | } |
| 111 | return viewSet; |
| 112 | } |
| 113 | |
| 114 | void CpdFilter::done(PointTableRef _) |
| 115 | { |