void OctreePointSet::BoxQuery(const Box3D& b,vector<Vector3>& points,vector<int>& ids) const { points.resize(0); ids.resize(0); vector<int> boxnodes; BoxLookup(b,boxnodes); for(size_t i=0;i<boxnodes.size();i++) { const vector<Vector3>& pts = pointLists[boxnodes[i]]; const vector<int>& bids = idLists[boxnodes[i]]; for(size_t k=0;k<pts.size();k++) if(b.contains(pts[k])) { points.push_back(pts[k]); ids.push_back(bids[k]); } } }