diff --git a/apps/sample/trimesh_kdtree/trimesh_kdtree.cpp b/apps/sample/trimesh_kdtree/trimesh_kdtree.cpp index a32a72cb..1be2ed23 100644 --- a/apps/sample/trimesh_kdtree/trimesh_kdtree.cpp +++ b/apps/sample/trimesh_kdtree/trimesh_kdtree.cpp @@ -68,14 +68,15 @@ int main( int argc, char **argv ) VertexConstDataWrapper ww(m); KdTree tree(ww); - tree.setMaxNofNeighbors(3); + KdTree::PriorityQueue queue; + for (int j = 0; j < m.VN(); j++) { - tree.doQueryK(m.vert[j].cP()); - int neighbours = tree.getNofFoundNeighbors(); + tree.doQueryK(m.vert[j].cP(), 3, queue); + int neighbours = queue.getNofElements(); float avgDist=0; for (int i = 0; i < neighbours; i++) { - int neightId = tree.getNeighborId(i); - avgDist+=Distance(m.vert[j].cP(),m.vert[neightId].cP()); + int neightId = queue.getIndex(i); + avgDist += Distance(m.vert[j].cP(),m.vert[neightId].cP()); } m.vert[j].Q() = avgDist/=neighbours; }