| 86 | |
| 87 | |
| 88 | PointViewSet ChipperFilter::run(PointViewPtr view) |
| 89 | { |
| 90 | |
| 91 | m_inView = view; |
| 92 | m_partitions.resize(0); |
| 93 | m_xvec.resize(0); |
| 94 | m_yvec.resize(0); |
| 95 | m_spare.resize(view->size()); |
| 96 | m_outViews.clear(); |
| 97 | |
| 98 | m_xvec.reserve(view->size()); |
| 99 | m_yvec.reserve(view->size()); |
| 100 | |
| 101 | load(*view.get(), m_xvec, m_yvec, m_spare); |
| 102 | partition(m_xvec.size()); |
| 103 | decideSplit(m_xvec, m_yvec, m_spare, 0, m_partitions.size() - 1); |
| 104 | return m_outViews; |
| 105 | } |
| 106 | |
| 107 | |
| 108 | void ChipperFilter::load(PointView& view, ChipRefList& xvec, ChipRefList& yvec, |