void findPairs( _Adapter& model, Pairs& pairs, double d_box ) { model.reset(); while( model.hasNext() ) { _TreeNode node = model.next(); std::pair<typename tree_type::const_iterator,double> found = kdtree.find_nearest(node, d_box); if( found.first != kdtree.end() && filter(node, *(found.first)) ) pairs.add((found.first)->point, node.point, found.second); } }