From 28e1d4e21ad1cb4e99ed3927cf3cf5da2d9d07ec Mon Sep 17 00:00:00 2001 From: gianpaolopalma Date: Fri, 11 Jul 2014 12:28:52 +0000 Subject: [PATCH] Update after refactoring of the KdTree class. --- apps/sample/trimesh_kdtree/trimesh_kdtree.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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; }